firefly-linux-kernel-4.4.55.git
17 years ago[MIPS] tlbex.c: Cleanup __init usage.
Franck Bui-Huu [Tue, 9 Oct 2007 20:34:26 +0000 (22:34 +0200)]
[MIPS] tlbex.c: Cleanup __init usage.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] WRPPMC serial support move to platform device
Yoichi Yuasa [Thu, 11 Oct 2007 13:54:13 +0000 (22:54 +0900)]
[MIPS] WRPPMC serial support move to platform device

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] R1: Fix hazard barriers to make kernels work on R2 also.
Ralf Baechle [Fri, 21 Sep 2007 12:05:44 +0000 (13:05 +0100)]
[MIPS] R1: Fix hazard barriers to make kernels work on R2 also.

Tested with Malta; inflates malta_defconfig by 3932 bytes.  Ideally there
should be additional configuration to allow getting rid of this overhead
but that would be too much complexity at this stage of the release cycle.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] VPE: reimplement ELF loader.
Ralf Baechle [Wed, 10 Oct 2007 12:33:03 +0000 (13:33 +0100)]
[MIPS] VPE: reimplement ELF loader.

Loading ELF binaries based on the section table is totally wrong.  This
still leaves the other fat bug of referencing symbols in an executable
unfixed, so people better don't run strip on their binaries ...

As added bonus the new loader is also 23 lines shorter.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] cleanup WRPPMC include files
Yoichi Yuasa [Tue, 9 Oct 2007 15:28:26 +0000 (00:28 +0900)]
[MIPS] cleanup WRPPMC include files

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Add BUG_ON assertion for attempt to run kernel on the wrong CPU type.
Franck Bui-Huu [Mon, 8 Oct 2007 14:11:51 +0000 (16:11 +0200)]
[MIPS] Add BUG_ON assertion for attempt to run kernel on the wrong CPU type.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] SMP: Use ISO C struct initializer for local structs.
Ralf Baechle [Thu, 4 Oct 2007 17:18:52 +0000 (18:18 +0100)]
[MIPS] SMP: Use ISO C struct initializer for local structs.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] SMP: Kill useless casts.
Ralf Baechle [Thu, 4 Oct 2007 15:57:08 +0000 (16:57 +0100)]
[MIPS] SMP: Kill useless casts.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Kill num_online_cpus() loops.
Ralf Baechle [Wed, 3 Oct 2007 18:16:57 +0000 (19:16 +0100)]
[MIPS] Kill num_online_cpus() loops.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] SMP: Implement smp_call_function_mask().
Ralf Baechle [Wed, 3 Oct 2007 00:24:16 +0000 (01:24 +0100)]
[MIPS] SMP: Implement smp_call_function_mask().

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Make facility to convert CPU types to strings generally available.
Ralf Baechle [Thu, 11 Oct 2007 22:46:17 +0000 (23:46 +0100)]
[MIPS] Make facility to convert CPU types to strings generally available.

So far /proc/cpuinfo has been the only user but human readable processor
name are more useful than that for proc.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Convert list of CPU types from #define to enum.
Ralf Baechle [Thu, 11 Oct 2007 22:46:16 +0000 (23:46 +0100)]
[MIPS] Convert list of CPU types from #define to enum.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Optimize get_unaligned / put_unaligned implementations.
Ralf Baechle [Wed, 14 Feb 2007 21:16:14 +0000 (21:16 +0000)]
[MIPS] Optimize get_unaligned / put_unaligned implementations.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] checkfiles: Fix "need space after that ','" errors.
Ralf Baechle [Thu, 11 Oct 2007 22:46:15 +0000 (23:46 +0100)]
[MIPS] checkfiles: Fix "need space after that ','" errors.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Fix "no space between function name and open parenthesis" warnings.
Ralf Baechle [Thu, 11 Oct 2007 22:46:15 +0000 (23:46 +0100)]
[MIPS] Fix "no space between function name and open parenthesis" warnings.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Allow hardwiring of the CPU type to a single type for optimization.
Ralf Baechle [Thu, 11 Oct 2007 22:46:15 +0000 (23:46 +0100)]
[MIPS] Allow hardwiring of the CPU type to a single type for optimization.

This saves a few k on systems which only ever ship with a single CPU type.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] tlbex: Size optimize code by declaring a few functions inline.
Ralf Baechle [Thu, 11 Oct 2007 22:46:14 +0000 (23:46 +0100)]
[MIPS] tlbex: Size optimize code by declaring a few functions inline.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] pg-r4k.c: Dump the generated code
Maciej W. Rozycki [Tue, 2 Oct 2007 13:54:15 +0000 (14:54 +0100)]
[MIPS] pg-r4k.c: Dump the generated code

Dump the generated code for clear/copy page calls like it is done for TLB
fault handlers.  Useful for debugging.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Cobalt: Remove cobalt_machine_power_off()
Yoichi Yuasa [Tue, 2 Oct 2007 14:21:36 +0000 (23:21 +0900)]
[MIPS] Cobalt: Remove cobalt_machine_power_off()

It's same as cobalt_machine_halt().

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Cobalt: Move reset port definition to arch/mips/cobalt/reset.c
Yoichi Yuasa [Tue, 2 Oct 2007 14:17:38 +0000 (23:17 +0900)]
[MIPS] Cobalt: Move reset port definition to arch/mips/cobalt/reset.c

It's only used in arch/mips/cobalt/reset.c.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Cobalt: Move UART base definition to arch/mips/cobalt/console.c
Yoichi Yuasa [Tue, 2 Oct 2007 14:13:17 +0000 (23:13 +0900)]
[MIPS] Cobalt: Move UART base definition to arch/mips/cobalt/console.c

They're only used in arch/mips/cobalt/console.c.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Cobalt: Move PCI definitions to arch/mips/pci/fixup-cobalt.c.
Yoichi Yuasa [Tue, 2 Oct 2007 13:54:41 +0000 (22:54 +0900)]
[MIPS] Cobalt: Move PCI definitions to arch/mips/pci/fixup-cobalt.c.

These PCI definitions are only used in arch/mips/pci/fixup-cobalt.c.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] MTX1: Add defconfig file
Florian Fainelli [Mon, 1 Oct 2007 11:52:38 +0000 (13:52 +0200)]
[MIPS] MTX1: Add defconfig file

Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Cobalt: Add LED support to cobalt_defconfig
Yoichi Yuasa [Mon, 1 Oct 2007 10:48:31 +0000 (19:48 +0900)]
[MIPS] Cobalt: Add LED support to cobalt_defconfig

Add LED support to cobalt_defconfig.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Cobalt: Add Qube series front LED support to platform register
Yoichi Yuasa [Mon, 1 Oct 2007 10:46:50 +0000 (19:46 +0900)]
[MIPS] Cobalt: Add Qube series front LED support to platform register

Add Cobalt Qube series front LED support to platform register.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Cobalt: Add Cobalt Raq LED platform register and power off trigger
Yoichi Yuasa [Mon, 1 Oct 2007 10:45:05 +0000 (19:45 +0900)]
[MIPS] Cobalt: Add Cobalt Raq LED platform register and power off trigger

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Optimize __alloc_zeroed_user_highpage implementation.
Ralf Baechle [Thu, 11 Oct 2007 22:46:12 +0000 (23:46 +0100)]
[MIPS] Optimize __alloc_zeroed_user_highpage implementation.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Avoid indexed cacheops.
Ralf Baechle [Thu, 27 Sep 2007 17:26:43 +0000 (18:26 +0100)]
[MIPS] Avoid indexed cacheops.

On MP configurations it's highly dubious what this code will actually
affect since blasting away cachelines may or may not do the right
thing wrt. cache coherency.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Don't abort the build process if '-msym32' isn't supported
Franck Bui-Huu [Thu, 27 Sep 2007 14:26:40 +0000 (16:26 +0200)]
[MIPS] Don't abort the build process if '-msym32' isn't supported

-msym32 and previously the strategy to tell the compiler to generate
64-bit code but the assembler to put it into 32-bit ELF was initially
a hack to get around the lack of proper 64-bit binutils support and
later turned into a neat optimization with significant code size
savings.  But it's really just an optimization so there is nothing
wrong with just dropping the option (and whatever else goes along with
it, I forgot all the nasty details) on the floor if due to a vintage
compiler it can't be suported.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Clockevent driver for BCM1480
Ralf Baechle [Thu, 11 Oct 2007 22:46:10 +0000 (23:46 +0100)]
[MIPS] Clockevent driver for BCM1480

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Clockevent driver for BCM1250
Ralf Baechle [Thu, 11 Oct 2007 22:46:10 +0000 (23:46 +0100)]
[MIPS] Clockevent driver for BCM1250

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] i8253 PIT clocksource and clockevent drivers
Ralf Baechle [Thu, 11 Oct 2007 22:46:10 +0000 (23:46 +0100)]
[MIPS] i8253 PIT clocksource and clockevent drivers

Derived from the i386 variant with a few x86 complexities chopped off.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] IP27: Add clocksource drivers
Ralf Baechle [Thu, 11 Oct 2007 22:46:10 +0000 (23:46 +0100)]
[MIPS] IP27: Add clocksource drivers

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Jazz clockevent driver
Ralf Baechle [Thu, 11 Oct 2007 22:46:09 +0000 (23:46 +0100)]
[MIPS] Jazz clockevent driver

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Dyntick support for SMTC:
Ralf Baechle [Thu, 11 Oct 2007 22:46:09 +0000 (23:46 +0100)]
[MIPS] Dyntick support for SMTC:

The kernel currently only supports broadcasting of the timer interrupt
from a single timer, not multicasting into two multicast groups of
processors.  So the implemented mechanism for SMTC works by broadcasting
the cp0 compare interrupt on VPE 0 and ignoring it on any additional VPEs.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Implement clockevents for R4000-style cp0 count/compare interrupt
Ralf Baechle [Thu, 11 Oct 2007 22:46:09 +0000 (23:46 +0100)]
[MIPS] Implement clockevents for R4000-style cp0 count/compare interrupt

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Consolidate all variants of MIPS cp0 timer interrupt handlers.
Ralf Baechle [Thu, 11 Oct 2007 22:46:09 +0000 (23:46 +0100)]
[MIPS] Consolidate all variants of MIPS cp0 timer interrupt handlers.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Switch from to_tm to rtc_time_to_tm
Ralf Baechle [Thu, 11 Oct 2007 22:46:09 +0000 (23:46 +0100)]
[MIPS] Switch from to_tm to rtc_time_to_tm

This replaces the MIPS-specific to_tm function with the generic
rtc_time_to_tm function.  The big difference between the two functions is
that rtc_time_to_tm uses epoch 70 while to_tm uses 1970, so the result of
rtc_time_to_tm needs to be fixed up.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Deforest the function pointer jungle in the time code.
Ralf Baechle [Thu, 11 Oct 2007 22:46:08 +0000 (23:46 +0100)]
[MIPS] Deforest the function pointer jungle in the time code.

Hard to follow who is pointing what to where and why so it's simply getting
in the way of the time code renovation.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Use generic NTP code for all MIPS platforms
Ralf Baechle [Mon, 13 Aug 2007 14:26:12 +0000 (15:26 +0100)]
[MIPS] Use generic NTP code for all MIPS platforms

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Replace deprecated SA_* IRQ flags with modern IRQF_ variants.
Ahmed S. Darwish [Wed, 26 Sep 2007 22:35:43 +0000 (01:35 +0300)]
[MIPS] Replace deprecated SA_* IRQ flags with modern IRQF_ variants.

Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] ARC: Get rid of mips_machgroup
Ralf Baechle [Thu, 11 Oct 2007 22:46:08 +0000 (23:46 +0100)]
[MIPS] ARC: Get rid of mips_machgroup

This has not been any serious user of this ill conceived thing since the
original invention in like '95.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] ARC: Convert mach_table[] to ISO C initializers.
Ralf Baechle [Thu, 11 Oct 2007 22:46:07 +0000 (23:46 +0100)]
[MIPS] ARC: Convert mach_table[] to ISO C initializers.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] dec/time.c: Remove no longer needed inclusion of <asm/div64.h>.
Maciej W. Rozycki [Mon, 24 Sep 2007 15:13:34 +0000 (16:13 +0100)]
[MIPS] dec/time.c: Remove no longer needed inclusion of <asm/div64.h>.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Split up war.h
Ralf Baechle [Thu, 11 Oct 2007 22:46:07 +0000 (23:46 +0100)]
[MIPS] Split up war.h

It was getting a little big, ugly and a primary source for merge conflicts.
Also the old method was a bit too forgiving in that the workaround did
default to off, so now there is an explicit #error forcing platform
maintainers to think if they should enable a workaround for a particular
platform.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] GPIO LED driver for the WGT634U machine
Aurelien Jarno [Tue, 25 Sep 2007 13:43:07 +0000 (15:43 +0200)]
[MIPS] GPIO LED driver for the WGT634U machine

Add LED support to the WGT634U machine.  It uses the new gpio-led
driver and a platform driver for the pin definitions.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Add gpio support to the BCM47XX platform
Aurelien Jarno [Tue, 25 Sep 2007 13:42:09 +0000 (15:42 +0200)]
[MIPS] Add gpio support to the BCM47XX platform

Add GPIO support to the BCM47XX platform.  It will be used by a GPIO
LED driver.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Add CFE support to BCM47XX
Aurelien Jarno [Tue, 25 Sep 2007 13:41:24 +0000 (15:41 +0200)]
[MIPS] Add CFE support to BCM47XX

Add CFE support to the BCM47XX code.  That includes querying CFE environment
variables as well as using CFE to print messages before the serial port is
initialized (early printk).

Signed-off-by: Aurelien Jarno <aurel32@farad.aurel32.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Move ARC code into arch/mips/fw/arc
Aurelien Jarno [Wed, 5 Sep 2007 06:59:34 +0000 (08:59 +0200)]
[MIPS] Move ARC code into arch/mips/fw/arc

Move the ARC code to arch/mips/fw/arc from arch/mips/arc.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Move CFE code into arch/mips/fw/cfe
Aurelien Jarno [Wed, 5 Sep 2007 06:58:26 +0000 (08:58 +0200)]
[MIPS] Move CFE code into arch/mips/fw/cfe

Move the platform independent part of the CFE code to arch/mips/fw/cfe from
arch/mips/sibyte/cfe.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Remove IP27 specific structures from struct cpuinfo_mips
Ralf Baechle [Thu, 11 Oct 2007 22:46:05 +0000 (23:46 +0100)]
[MIPS] Remove IP27 specific structures from struct cpuinfo_mips

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Sibyte: Replace SB1 cachecode with standard R4000 class cache code.
Ralf Baechle [Thu, 11 Oct 2007 22:46:05 +0000 (23:46 +0100)]
[MIPS] Sibyte: Replace SB1 cachecode with standard R4000 class cache code.

It may not be perfect yet but the SB1 code is badly borken and has
horrible performance issues.

Downside: This seriously breaks support for pass 1 parts of the BCM1250
where indexed cacheops don't work quite reliable but I seem to be the
last one on the planet with a pass 1 part anyway.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Alchemy: remove useless prototypes.
Ralf Baechle [Thu, 11 Oct 2007 22:46:05 +0000 (23:46 +0100)]
[MIPS] Alchemy: remove useless prototypes.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Sibyte: cleanup static inline forward declarations.
Ralf Baechle [Thu, 11 Oct 2007 22:46:05 +0000 (23:46 +0100)]
[MIPS] Sibyte: cleanup static inline forward declarations.

In fact there are no foward declarations at all needed when moving things
into the right order.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] R3000 setup for kernel_thread()
Maciej W. Rozycki [Tue, 18 Sep 2007 17:49:08 +0000 (18:49 +0100)]
[MIPS] R3000 setup for kernel_thread()

 Match the R4000 semantics for the initial state of interrupt/kernel
status register flags for the R3000 in kernel_thread().

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Introduce a consistent style for vmlinux.lds.
Sam Ravnborg [Sat, 15 Sep 2007 21:35:53 +0000 (23:35 +0200)]
[MIPS] Introduce a consistent style for vmlinux.lds.

This style will be consitent with all other arch's - soon.

In addition:
- Moved a few labels inside brackets for the sections they specify
  to prevent that linker alignmnet made them point before the section start

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Add GT641xx IRQ routines.
Yoichi Yuasa [Thu, 13 Sep 2007 14:51:26 +0000 (23:51 +0900)]
[MIPS] Add GT641xx IRQ routines.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] GT64120: Remove unused definitions
Yoichi Yuasa [Wed, 12 Sep 2007 14:19:45 +0000 (23:19 +0900)]
[MIPS] GT64120: Remove unused definitions

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] i8295 cleanups.
Yoichi Yuasa [Thu, 13 Sep 2007 02:04:04 +0000 (11:04 +0900)]
[MIPS] i8295 cleanups.

 o Move i8259 function declarations to include/asm-mips/i8259.h
 o Make i8259.c functions static where possible.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Kill useless volatile keyword
Ralf Baechle [Thu, 11 Oct 2007 22:46:03 +0000 (23:46 +0100)]
[MIPS] Kill useless volatile keyword

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Kill redundant EXTRA_AFLAGS
Atsushi Nemoto [Sat, 8 Sep 2007 17:50:42 +0000 (02:50 +0900)]
[MIPS] Kill redundant EXTRA_AFLAGS

Kill redundant EXTRA_AFLAGS added after the commit
d2af363cfb94f1bacb3e60327bc44a97881a38c2.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Define known MIPS ISA overrides for Sibyte and Excite boards.
Thiemo Seufer [Wed, 5 Sep 2007 16:44:50 +0000 (17:44 +0100)]
[MIPS] Define known MIPS ISA overrides for Sibyte and Excite boards.

Signed-Off-By: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] floppy: Rewrite fd_cacheflush() to use dma_cache_sync().
Ralf Baechle [Thu, 11 Oct 2007 22:46:03 +0000 (23:46 +0100)]
[MIPS] floppy: Rewrite fd_cacheflush() to use dma_cache_sync().

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] PCI: Always enable CONFIG_PCI_DOMAINS
Ralf Baechle [Thu, 11 Oct 2007 22:46:03 +0000 (23:46 +0100)]
[MIPS] PCI: Always enable CONFIG_PCI_DOMAINS

The cost is just too low.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] tx4927: Cleanup unused macros and non-standard IO accessors.
Atsushi Nemoto [Mon, 27 Aug 2007 15:28:09 +0000 (00:28 +0900)]
[MIPS] tx4927: Cleanup unused macros and non-standard IO accessors.

This patch removes many unused constants, replaces non-standard IO
accessors with standard ones, and kills terrible tx4927_mips.h file.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] cleanup struct irqaction initializers
Thomas Gleixner [Tue, 28 Aug 2007 09:03:01 +0000 (09:03 +0000)]
[MIPS] cleanup struct irqaction initializers

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
CC: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Add support for BCM47XX CPUs.
Aurelien Jarno [Tue, 25 Sep 2007 13:40:12 +0000 (15:40 +0200)]
[MIPS] Add support for BCM47XX CPUs.

Note that the BCM4710 does not support the wait instruction, this
is not a mistake in the code.

It originally comes from the OpenWrt patches.

Cc: Michael Buesch <mb@bu3sch.de>
Cc: Felix Fietkau <nbd@openwrt.org>
Cc: Florian Schirmer <jolt@tuxbox.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] JAZZ fixes
Thomas Bogendoerfer [Sat, 25 Aug 2007 09:01:50 +0000 (11:01 +0200)]
[MIPS] JAZZ fixes

- restructured irq handling
- switched vdma to use memory allocated via get_free_pages
- setup platform devices for serial, jazz_esp and jazzsonic
- fixed cmos rtc access

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Add back support for LASAT platforms
Brian Murphy [Tue, 21 Aug 2007 20:34:16 +0000 (22:34 +0200)]
[MIPS] Add back support for LASAT platforms

Signed-off-by: Brian Murphy <brian@murphy.dk>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] fix ABI check in include/asm-mips/arv/hinv.h
Yoichi Yuasa [Thu, 16 Aug 2007 14:15:42 +0000 (23:15 +0900)]
[MIPS] fix ABI check in include/asm-mips/arv/hinv.h

Fix ABI check in include/asm-mips/arv/hinv.h

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] remove unused include/asm-mips/ip32/machine.h
Yoichi Yuasa [Thu, 16 Aug 2007 13:56:04 +0000 (22:56 +0900)]
[MIPS] remove unused include/asm-mips/ip32/machine.h

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] IP27: remove duplicate extern dump_tlb_all() prototype
Yoichi Yuasa [Thu, 16 Aug 2007 13:54:02 +0000 (22:54 +0900)]
[MIPS] IP27: remove duplicate extern dump_tlb_all() prototype

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] VR41xx: replace infinite loop with hibernate
Yoichi Yuasa [Thu, 16 Aug 2007 13:27:05 +0000 (22:27 +0900)]
[MIPS] VR41xx: replace infinite loop with hibernate

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] VR41xx: Add default restart routine.
Yoichi Yuasa [Thu, 16 Aug 2007 13:20:11 +0000 (22:20 +0900)]
[MIPS] VR41xx: Add default restart routine.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Rename CONFIG_BUILD_ELF64 into KBUILD_64BIT_SYM32
Franck Bui-Huu [Thu, 15 Feb 2007 13:21:36 +0000 (14:21 +0100)]
[MIPS] Rename CONFIG_BUILD_ELF64 into KBUILD_64BIT_SYM32

This patch renames it for 3 reasons:

    - "CONFIG" pattern is used by Kconfig. Now this macro is
      no more defined by Kconfig but by Kbuild itself make this
      clear by translating "CONFIG" into "KBUILD".

    - "ELF32" word is improper because it is irrelevant to ELF
      format and it makes confusion with CONFIG_BOOT_ELF32. So
      translate it with SYM32.

    - Add "64BIT" part to make clear that this macro implies a
      64 bits kernel.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Automatically set CONFIG_BUILD_ELF64
Franck Bui-Huu [Thu, 15 Feb 2007 11:06:48 +0000 (12:06 +0100)]
[MIPS] Automatically set CONFIG_BUILD_ELF64

We do not rely on user anymore to setup this config correctly.
Instead we make our choice depending on the load address.

If we want to force Kbuild to use ELF64 format whatever
the load address we can still do:

        $ make BUILD_ELF32=no

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Remove '-mno-explicit-relocs' option when CONFIG_BUILD_ELF64
Franck Bui-Huu [Thu, 15 Feb 2007 11:06:47 +0000 (12:06 +0100)]
[MIPS] Remove '-mno-explicit-relocs' option when CONFIG_BUILD_ELF64

This patch removes '-mno-explicit-relocs' usage when
CONFIG_BUILD_ELF64 is set since this option was only required
with the old hack to truncate addresses at the assembly level
where "-mabi=64 -Wa,-mabi=32" was used.

This should yield a small code size improvement for inline
assembly, where the R constraint is used.

The idea is coming from Maciej <macro@linux-mips.org>.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] SMTC: Microoptimize atomic_postincrement for non-weak consistency.
Ralf Baechle [Thu, 11 Oct 2007 22:45:58 +0000 (23:45 +0100)]
[MIPS] SMTC: Microoptimize atomic_postincrement for non-weak consistency.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] vr41xx: add cpu_wait
Yoichi Yuasa [Mon, 6 Aug 2007 15:09:17 +0000 (00:09 +0900)]
[MIPS] vr41xx: add cpu_wait

Add cpu_wait for NEC VR41xx

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] IRQ Affinity Support for SMTC on Malta Platform
Kevin D. Kissell [Fri, 3 Aug 2007 17:38:03 +0000 (19:38 +0200)]
[MIPS] IRQ Affinity Support for SMTC on Malta Platform

Signed-off-by: Kevin D. Kissell <kevink@mips.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years agoLinux 2.6.23
Linus Torvalds [Tue, 9 Oct 2007 20:31:38 +0000 (13:31 -0700)]
Linux 2.6.23

17 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Tue, 9 Oct 2007 19:38:44 +0000 (12:38 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] Au1000: set the PCI controller IO base
  [MIPS] Alchemy: Fix USB initialization.
  [MIPS] IP32: Fix fatal typo in address computation.

17 years agoNLM: Fix a memory leak in nlmsvc_testlock
Trond Myklebust [Tue, 9 Oct 2007 15:04:57 +0000 (11:04 -0400)]
NLM: Fix a memory leak in nlmsvc_testlock

The recent fix for a circular lock dependency unfortunately introduced a
potential memory leak in the event where the call to nlmsvc_lookup_host
fails for some reason.

Thanks to Roel Kluin for spotting this.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agosata_mv: correct S/G table limits
Jeff Garzik [Tue, 9 Oct 2007 17:51:57 +0000 (13:51 -0400)]
sata_mv: correct S/G table limits

The recent mv_fill_sg() rewrite, to fix a data corruption problem
related to IOMMU virtual merging, forgot to account for the
potentially-increased size of the scatter/gather table after its run.

Additionally, the DMA boundary is reduced from 0xffffffff to 0xffff
to more closely match the needs of mv_fill_sg().

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[MIPS] Au1000: set the PCI controller IO base
Florian Fainelli [Tue, 25 Sep 2007 15:07:30 +0000 (17:07 +0200)]
[MIPS] Au1000: set the PCI controller IO base

The PCI controller IO base was not set in the au1000 pci code.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Alchemy: Fix USB initialization.
Florian Fainelli [Tue, 25 Sep 2007 15:07:24 +0000 (17:07 +0200)]
[MIPS] Alchemy: Fix USB initialization.

This patch fixes a wrong ifdef in the board setup code, leading to the GPIO
pin not being pulled high, and thus the USB switch not being powered at all.

This finishes the rename of CONFIG_USB_OHCI to CONFIG_USB_OHCI_HCD, which
started in 2005 (before 2.6.12-rc2), then probably because things were
working anyway for most people got forgotten.

[Ralf: Paolo's original patch didn't fix the module case, Florian's patch
only fixed MTX1 etc. so this is a combined patch plus some cleanups.]

Cc: Giuseppe Patanè <giuseppe.patane@tvblob.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] IP32: Fix fatal typo in address computation.
Giuseppe Sacco [Sat, 6 Oct 2007 17:55:03 +0000 (19:55 +0200)]
[MIPS] IP32: Fix fatal typo in address computation.

Signed-off-by: Giuseppe Sacco <eppesuig@debian.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years agoCorrect Makefile rule for generating custom keymap
Maarten Bressers [Mon, 8 Oct 2007 22:59:13 +0000 (15:59 -0700)]
Correct Makefile rule for generating custom keymap

When building a custom keymap, after setting GENERATE_KEYMAP := 1 in
drivers/char/Makefile, the kernel build fails like this:

    CC      drivers/char/vt.o
  make[2]: *** No rule to make target `drivers/char/%.map', needed by `drivers/char/defkeymap.c'.  Stop.
  make[1]: *** [drivers/char] Error 2
  make: *** [drivers] Error 2

This was caused by commit af8b128719f5248e542036ea994610a29d0642a6, which
deleted a necessary colon from the Makefile rule that generates the keymap,
since that rule contains both a target and a target-pattern.  The following
patch puts the colon back:

Signed-off-by: Maarten Bressers <mbres@gentoo.org>
Cc: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoISDN: Fix data access out of array bounds
Karsten Keil [Mon, 8 Oct 2007 10:52:09 +0000 (12:52 +0200)]
ISDN: Fix data access out of array bounds

Fix against access random data bytes outside the dev->chanmap array.
Thanks to Oliver Neukum for pointing me to this issue.

Signed-off-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Mon, 8 Oct 2007 19:59:10 +0000 (12:59 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [IPv6]: Fix ICMPv6 redirect handling with target multicast address
  [PKT_SCHED] cls_u32: error code isn't been propogated properly
  [ROSE]: Fix rose.ko oops on unload
  [TCP]: Fix fastpath_cnt_hint when GSO skb is partially ACKed

17 years agoAIO: fix cleanup in io_submit_one(...)
Yan Zheng [Mon, 8 Oct 2007 19:16:20 +0000 (12:16 -0700)]
AIO: fix cleanup in io_submit_one(...)

When IOCB_FLAG_RESFD flag is set and iocb->aio_resfd is incorrect,
statement 'goto out_put_req' is executed. At label 'out_put_req',
aio_put_req(..) is called, which requires 'req->ki_filp' set.

Signed-off-by: Yan Zheng<yanzheng@21cn.com>
Cc: Zach Brown <zach.brown@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofix page release issue in filemap_fault
Yan Zheng [Mon, 8 Oct 2007 17:08:37 +0000 (10:08 -0700)]
fix page release issue in filemap_fault

find_lock_page increases page's usage count, we should decrease it
before return VM_FAULT_SIGBUS

Signed-off-by: Yan Zheng<yanzheng@21cn.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agofix VM_CAN_NONLINEAR check in sys_remap_file_pages
Yan Zheng [Mon, 8 Oct 2007 17:05:48 +0000 (10:05 -0700)]
fix VM_CAN_NONLINEAR check in sys_remap_file_pages

The test for VM_CAN_NONLINEAR always fails

Signed-off-by: Yan Zheng<yanzheng@21cn.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agomm: set_page_dirty_balance() vs ->page_mkwrite()
Peter Zijlstra [Mon, 8 Oct 2007 16:54:37 +0000 (18:54 +0200)]
mm: set_page_dirty_balance() vs ->page_mkwrite()

All the current page_mkwrite() implementations also set the page dirty. Which
results in the set_page_dirty_balance() call to _not_ call balance, because the
page is already found dirty.

This allows us to dirty a _lot_ of pages without ever hitting
balance_dirty_pages().  Not good (tm).

Force a balance call if ->page_mkwrite() was successful.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[IPv6]: Fix ICMPv6 redirect handling with target multicast address
Brian Haley [Mon, 8 Oct 2007 07:12:05 +0000 (00:12 -0700)]
[IPv6]: Fix ICMPv6 redirect handling with target multicast address

When the ICMPv6 Target address is multicast, Linux processes the
redirect instead of dropping it.  The problem is in this code in
ndisc_redirect_rcv():

         if (ipv6_addr_equal(dest, target)) {
                 on_link = 1;
         } else if (!(ipv6_addr_type(target) & IPV6_ADDR_LINKLOCAL)) {
                 ND_PRINTK2(KERN_WARNING
                            "ICMPv6 Redirect: target address is not
link-local.\n");
                 return;
         }

This second check will succeed if the Target address is, for example,
FF02::1 because it has link-local scope.  Instead, it should be checking
if it's a unicast link-local address, as stated in RFC 2461/4861 Section
8.1:

       - The ICMP Target Address is either a link-local address (when
         redirected to a router) or the same as the ICMP Destination
         Address (when redirected to the on-link destination).

I know this doesn't explicitly say unicast link-local address, but it's
implied.

This bug is preventing Linux kernels from achieving IPv6 Logo Phase II
certification because of a recent error that was found in the TAHI test
suite - Neighbor Disovery suite test 206 (v6LC.2.3.6_G) had the
multicast address in the Destination field instead of Target field, so
we were passing the test.  This won't be the case anymore.

The patch below fixes this problem, and also fixes ndisc_send_redirect()
to not send an invalid redirect with a multicast address in the Target
field.  I re-ran the TAHI Neighbor Discovery section to make sure Linux
passes all 245 tests now.

Signed-off-by: Brian Haley <brian.haley@hp.com>
Acked-by: David L Stevens <dlstevens@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[PKT_SCHED] cls_u32: error code isn't been propogated properly
Stephen Hemminger [Mon, 8 Oct 2007 06:57:45 +0000 (23:57 -0700)]
[PKT_SCHED] cls_u32: error code isn't been propogated properly

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[ROSE]: Fix rose.ko oops on unload
Alexey Dobriyan [Mon, 8 Oct 2007 06:44:17 +0000 (23:44 -0700)]
[ROSE]: Fix rose.ko oops on unload

Commit a3d384029aa304f8f3f5355d35f0ae274454f7cd aka
"[AX.25]: Fix unchecked rose_add_loopback_neigh uses"
transformed rose_loopback_neigh var into statically allocated one.
However, on unload it will be kfree's which can't work.

Steps to reproduce:

modprobe rose
rmmod rose

BUG: unable to handle kernel NULL pointer dereference at virtual address 00000008
 printing eip:
c014c664
*pde = 00000000
Oops: 0000 [#1]
PREEMPT DEBUG_PAGEALLOC
Modules linked in: rose ax25 fan ufs loop usbhid rtc snd_intel8x0 snd_ac97_codec ehci_hcd ac97_bus uhci_hcd thermal usbcore button processor evdev sr_mod cdrom
CPU:    0
EIP:    0060:[<c014c664>]    Not tainted VLI
EFLAGS: 00210086   (2.6.23-rc9 #3)
EIP is at kfree+0x48/0xa1
eax: 00000556   ebx: c1734aa0   ecx: f6a5e000   edx: f7082000
esi: 00000000   edi: f9a55d20   ebp: 00200287   esp: f6a5ef28
ds: 007b   es: 007b   fs: 0000  gs: 0033  ss: 0068
Process rmmod (pid: 1823, ti=f6a5e000 task=f7082000 task.ti=f6a5e000)
Stack: f9a55d20 f9a5200c 00000000 00000000 00000000 f6a5e000 f9a5200c f9a55a00
       00000000 bf818cf0 f9a51f3f f9a55a00 00000000 c0132c60 65736f72 00000000
       f69f9630 f69f9528 c014244a f6a4e900 00200246 f7082000 c01025e6 00000000
Call Trace:
 [<f9a5200c>] rose_rt_free+0x1d/0x49 [rose]
 [<f9a5200c>] rose_rt_free+0x1d/0x49 [rose]
 [<f9a51f3f>] rose_exit+0x4c/0xd5 [rose]
 [<c0132c60>] sys_delete_module+0x15e/0x186
 [<c014244a>] remove_vma+0x40/0x45
 [<c01025e6>] sysenter_past_esp+0x8f/0x99
 [<c012bacf>] trace_hardirqs_on+0x118/0x13b
 [<c01025b6>] sysenter_past_esp+0x5f/0x99
 =======================
Code: 05 03 1d 80 db 5b c0 8b 03 25 00 40 02 00 3d 00 40 02 00 75 03 8b 5b 0c 8b 73 10 8b 44 24 18 89 44 24 04 9c 5d fa e8 77 df fd ff <8b> 56 08 89 f8 e8 84 f4 fd ff e8 bd 32 06 00 3b 5c 86 60 75 0f
EIP: [<c014c664>] kfree+0x48/0xa1 SS:ESP 0068:f6a5ef28

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: Fix fastpath_cnt_hint when GSO skb is partially ACKed
Ilpo Järvinen [Mon, 8 Oct 2007 06:43:10 +0000 (23:43 -0700)]
[TCP]: Fix fastpath_cnt_hint when GSO skb is partially ACKed

When only GSO skb was partially ACKed, no hints are reset,
therefore fastpath_cnt_hint must be tweaked too or else it can
corrupt fackets_out. The corruption to occur, one must have
non-trivial ACK/SACK sequence, so this bug is not very often
that harmful. There's a fackets_out state reset in TCP because
fackets_out is known to be inaccurate and that fixes the issue
eventually anyway.

In case there was also at least one skb that got fully ACKed,
the fastpath_skb_hint is set to NULL which causes a recount for
fastpath_cnt_hint (the old value won't be accessed anymore),
thus it can safely be decremented without additional checking.

Reported by Cedric Le Goater <clg@fr.ibm.com>

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoDriver core: fix SYSF_DEPRECATED breakage for nested classdevs
Dmitry Torokhov [Sun, 7 Oct 2007 16:22:21 +0000 (12:22 -0400)]
Driver core: fix SYSF_DEPRECATED breakage for nested classdevs

We should only reparent to a class former class devices that
form the base of class hierarchy. Nested devices should still
grow from their real parents.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Tested-by: Andrey Borzenkov <arvidjaar@mail.ru>
Tested-by: Anssi Hannula <anssi.hannula@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
Linus Torvalds [Sun, 7 Oct 2007 23:41:09 +0000 (16:41 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/ieee1394/linux1394-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
  firewire: point to migration document