]> err.no Git - linux-2.6/log
linux-2.6
17 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Mon, 21 May 2007 17:00:22 +0000 (10:00 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm: (22 commits)
  [ARM] spelling fixes
  [ARM] at91_adc parenthesis balance
  [ARM] 4400/1: S3C24XX: Add high-speed MMC device definition
  [ARM] 4399/2: S3C2443: Fix SMDK2443 nand timings
  [ARM] 4398/1: S3C2443: Fix watchdog IRQ number
  [ARM] 4397/1: S3C2443: remove SDI0/1 IRQ ambiguity
  [ARM] 4396/1: S3C2443: Add missing HCLK clocks
  [ARM] 4395/1: S3C24XX: add include of <linux/sysdev.h> to relevant machines
  [ARM] 4388/1: no need for arm/mm mmap range checks for non-mmu
  [ARM] 4387/1: fix /proc/cpuinfo formatting for pre-ARM7 parts
  [ARM] ARMv6: add CPU_HAS_ASID configuration
  [ARM] integrator: fix pci_v3 compile error with DEBUG_LL
  [ARM] gic: Fix gic cascade irq handling
  [ARM] Silence OMAP kernel configuration warning
  [ARM] Update ARM syscalls
  [ARM] 4384/1: S3C2412/13 SPI registers offset correction
  [ARM] 4383/1: iop: fix usage of '__init' and 'inline' in iop files
  [ARM] 4382/1: iop13xx: fix msi support
  [ARM] Remove Integrator/CP SMP platform support
  [ARM] 4378/1: KS8695: Serial driver fix
  ...

17 years agoLDM: Fix for Windows Vista dynamic disks
Anton Altaparmakov [Mon, 21 May 2007 08:37:42 +0000 (09:37 +0100)]
LDM: Fix for Windows Vista dynamic disks

This fixes the LDM driver so that it works with Windows Vista dynamic
disks which are subtly different to Windows 2000/XP ones.

The patch was needed to get a Vista formatted dynamic disk to be
recognized and parsed successfully.

Thanks go to Chris Teachworth for the report and testing.

Cc: Richard Russon <ldm@flatcap.org>
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoi386: fix PGE mask
Brian Gerst [Mon, 21 May 2007 12:31:53 +0000 (14:31 +0200)]
i386: fix PGE mask

cr4 is a 32-bit register, so casting the mask to an unsigned char is wrong,
as it clears more than the PGE bit.

Signed-off-by: Brian Gerst <bgerst@didntduck.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86_64: vsyscall time() fix
john stultz [Mon, 21 May 2007 12:31:52 +0000 (14:31 +0200)]
x86_64: vsyscall time() fix

The vsyscall time() function basically returns the second portion of
xtime directly.  This however means that there is about a ticks worth of
time each second where time() will return a second value less then what
gettimeofday() does.

Additionally, this window where vtime() is behind vgettimeofday() grows
when dynticks is enabled, so its probably good to get this in before
dynticks lands.

Big thanks to Sripathi for noticing this issue and creating a test case
to work with!

This patch changes the vtime() implemenation to call vgettimeofday(),
much as syscall time() implementation calls gettimeofday().

2.6.21 stable candidate too

Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86_64: early_print kernel console should send CRLF not LFCR
Yinghai Lu [Mon, 21 May 2007 12:31:51 +0000 (14:31 +0200)]
x86_64: early_print kernel console should send CRLF not LFCR

In
commit d358788f3f30113e49882187d794832905e42592
Author: Russell King <rmk@dyn-67.arm.linux.org.uk>
Date:   Mon Mar 20 20:00:09 2006 +0000

Glen Turner reported that writing LFCR rather than the more
traditional CRLF causes issues with some terminals.

Since this afflicts many serial drivers, extract the common code to a
library function (uart_console_write) and arrange for each driver to
supply a "putchar" function.

but early_printk is left out.

Signed-off-by: Yinghai Lu <yinghai.lu@sun.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoi386: Enable CX8/PGE CPUID bits early on VIA C3
Andi Kleen [Mon, 21 May 2007 12:31:50 +0000 (14:31 +0200)]
i386: Enable CX8/PGE CPUID bits early on VIA C3

Fix boot failures with the early CPUID checking on VIA C3

Includes fixes from Christian Volkmann

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoi386: Fix wrong CPU error message in early boot path
Christian Volkmann [Mon, 21 May 2007 12:31:48 +0000 (14:31 +0200)]
i386: Fix wrong CPU error message in early boot path

- boot/setup.S did not print "PANIC: CPU too old for this kernel"
  ( not visible, also the message did not match )
- I add "# missed before: set ds"
  => somebody should check if I am right with the way to set.
  => seems to be a generic error in setup.S not to set "ds" for error messages.

AK: extracted patch out of other changes
AK: also couldn't find any other case where ds is wrong
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoi386: Clear MCE flag on AMD K6
Andi Kleen [Mon, 21 May 2007 12:31:47 +0000 (14:31 +0200)]
i386: Clear MCE flag on AMD K6

It reports machine check capability in CPUID, but doesn't actually
implement all the necessary MSRs of the standard Intel machine
check architecture.

This fixes a boot failure on K6s recently introduced.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86_64: Support gcc 5 properly
Andi Kleen [Mon, 21 May 2007 12:31:46 +0000 (14:31 +0200)]
x86_64: Support gcc 5 properly

The ifdef tests were broken.  Assume it acts like gcc 4

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoi386: Fix K8/core2 oprofile on multiple CPUs
Andi Kleen [Mon, 21 May 2007 12:31:45 +0000 (14:31 +0200)]
i386: Fix K8/core2 oprofile on multiple CPUs

Only try to allocate MSRs once instead of for every CPU.

This assumes the MSRs are the same on all CPUs which is currently
true. P4-HT is a special case for different SMT threads, but the code
always saves/restores all MSRs so it works identical.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86_64: Support x86_64 in make buildtar
Andi Kleen [Mon, 21 May 2007 12:31:44 +0000 (14:31 +0200)]
x86_64: Support x86_64 in make buildtar

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoi386: Update defconfig
Andi Kleen [Mon, 21 May 2007 12:31:43 +0000 (14:31 +0200)]
i386: Update defconfig

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agox86_64: Update defconfig
Andi Kleen [Mon, 21 May 2007 12:31:42 +0000 (14:31 +0200)]
x86_64: Update defconfig

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin SPI: cleanup according to David Brownell's review
Bryan Wu [Mon, 21 May 2007 10:32:16 +0000 (18:32 +0800)]
Blackfin SPI: cleanup according to David Brownell's review

a) platorm_driver_probe(...) instead of platform_driver_register(&driver);
b) set bfin_spi_enable and bfin_spi_disable static
c) Why is the width flag a u32?
d) maybe use dev_dbg() instead of pr_debug()

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin serial driver: implement support for ignoring parity/break errors
Mike Frysinger [Mon, 21 May 2007 10:09:39 +0000 (18:09 +0800)]
Blackfin serial driver: implement support for ignoring parity/break errors

properly setting up and respecting the read_status_mask / ignore_status_mask fields of the serial core

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin serial driver: fix overhead issue
Aubrey Li [Mon, 21 May 2007 10:09:38 +0000 (18:09 +0800)]
Blackfin serial driver: fix overhead issue

Signed-off-by: Aubrey Li <aubrey.li@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: update pm.c according to power management API change.
Bryan Wu [Mon, 21 May 2007 10:09:37 +0000 (18:09 +0800)]
Blackfin arch: update pm.c according to power management API change.

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: update defconfig files
Bryan Wu [Mon, 21 May 2007 10:09:36 +0000 (18:09 +0800)]
Blackfin arch: update defconfig files

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: add board default configs to blackfin arch
Mike Frysinger [Mon, 21 May 2007 10:09:35 +0000 (18:09 +0800)]
Blackfin arch: add board default configs to blackfin arch

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: Change NO_ACCESS_CHECK to ACCESS_CHECK
Sonic Zhang [Mon, 21 May 2007 10:09:34 +0000 (18:09 +0800)]
Blackfin arch: Change NO_ACCESS_CHECK to ACCESS_CHECK

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: fix signal handling bug
Bernd Schmidt [Mon, 21 May 2007 10:09:33 +0000 (18:09 +0800)]
Blackfin arch: fix signal handling bug

There's a forum thread at
https://blackfin.uclinux.org/gf/project/uclinux-dist/forum/?action=ForumBrowse&_forum_action=MessageReply&message_id=24741

which has a testcase involving signal handling that crashes quite readily.
Inspecting the code I believe what happens is that signal handling can become
confused when it is invoked on return from an interrupt, if the contents of
P0 and R0 at the time of the interrupt happen to be such that P0 is larger
than zero (indicating to the signal code that we're in a syscall), and R0
happens to have a value of something like -EINTR or -ERESTARTSYS.
Fixed by setting orig_p0 to -1 if we're returning from an interrupt.  The
testcase now seems to run without problems.

Signed-off-by: Bernd Schmidt <bernd.schmidt@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: cache SWRST value at bootup so other things like watchdog can non...
Mike Frysinger [Mon, 21 May 2007 10:09:32 +0000 (18:09 +0800)]
Blackfin arch: cache SWRST value at bootup so other things like watchdog can non-destructively query it

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: update blackfin header files to latest one in VDSP.
Bryan Wu [Mon, 21 May 2007 10:09:31 +0000 (18:09 +0800)]
Blackfin arch: update blackfin header files to latest one in VDSP.

a) add new processor BF52x/BF54x header files
b) update blackfin BF533/BF537/BF561 header files to latest one in VDSP.
c) scrub watchdog/rtc masks from headers as we dont need/want them (too generic and the drivers dont use them)

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Roy Huang <roy.huang@analog.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: make sure we use local labels
Mike Frysinger [Mon, 21 May 2007 10:09:30 +0000 (18:09 +0800)]
Blackfin arch: make sure we use local labels

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: dont clear the bit that tells coreb to start booting
Mike Frysinger [Mon, 21 May 2007 10:09:29 +0000 (18:09 +0800)]
Blackfin arch: dont clear the bit that tells coreb to start booting

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: dma_memcpy borken for > 64K
Aubrey Li [Mon, 21 May 2007 10:09:28 +0000 (18:09 +0800)]
Blackfin arch: dma_memcpy borken for > 64K

Signed-off-by: Aubrey Li <aubrey.li@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: document why we have to touch the UART peripheral in our boot up code
Mike Frysinger [Mon, 21 May 2007 10:09:27 +0000 (18:09 +0800)]
Blackfin arch: document why we have to touch the UART peripheral in our boot up code

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: issue reset via SWRST so we dont clobber the watchdog state
Mike Frysinger [Mon, 21 May 2007 10:09:26 +0000 (18:09 +0800)]
Blackfin arch: issue reset via SWRST so we dont clobber the watchdog state

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: move board specific setup out of common init code and into the board...
Mike Frysinger [Mon, 21 May 2007 10:09:25 +0000 (18:09 +0800)]
Blackfin arch: move board specific setup out of common init code and into the board specific init code

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: finish removing p* volatile defines for MMRs
Mike Frysinger [Mon, 21 May 2007 10:09:24 +0000 (18:09 +0800)]
Blackfin arch: finish removing p* volatile defines for MMRs

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: dont clear status register bits in SWRST so we can actually use it
Mike Frysinger [Mon, 21 May 2007 10:09:23 +0000 (18:09 +0800)]
Blackfin arch: dont clear status register bits in SWRST so we can actually use it

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: make sure we declare the revid functions as pure (since they are)
Mike Frysinger [Mon, 21 May 2007 10:09:22 +0000 (18:09 +0800)]
Blackfin arch: make sure we declare the revid functions as pure (since they are)

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: initial tepla-bf561 board support
Mike Frysinger [Mon, 21 May 2007 10:09:21 +0000 (18:09 +0800)]
Blackfin arch: initial tepla-bf561 board support

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: Fix bug using usb keyboard crashes kernel
Michael Hennerich [Mon, 21 May 2007 10:09:20 +0000 (18:09 +0800)]
Blackfin arch: Fix bug using usb keyboard crashes kernel

Without conswitchp preset, we have the following situation:

 - During initcalls: con_init is called, and returns because of
   !display_desc.

 - At this point there is no memory allocated for vc_cons[].d
   A bit later vty_init calls kbd_init.

 - From now on events are passed to kbd_event which will then call
   kbd_keycode.

 - kbd_keycode will oops on a NULL pointer dereference on vc->vc_tty

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
[ Added commit description based on email thread. - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: fix trace output for FLAT binaries
Mike Frysinger [Mon, 21 May 2007 10:09:19 +0000 (18:09 +0800)]
Blackfin arch: fix trace output for FLAT binaries

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: GPIO fix some defines
Michael Hennerich [Mon, 21 May 2007 10:09:18 +0000 (18:09 +0800)]
Blackfin arch: GPIO fix some defines

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: DMA operation cleanup
Michael Hennerich [Mon, 21 May 2007 10:09:17 +0000 (18:09 +0800)]
Blackfin arch: DMA operation cleanup

1) Disable Interrupts during DMA memcpy to avoid raise conditions.
2) Mark MDMA channel 0 as reserved, since were using it internally.
3) Add DMA based equivalents for insX and outsX.
4) Our insX and outsX only handles len <= 2^16.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: Move write to VR_CTL closer to IDLE
Michael Hennerich [Mon, 21 May 2007 10:09:16 +0000 (18:09 +0800)]
Blackfin arch: Move write to VR_CTL closer to IDLE

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: Fix reserved map after we changed PORT_H definition
Michael Hennerich [Mon, 21 May 2007 10:09:15 +0000 (18:09 +0800)]
Blackfin arch: Fix reserved map after we changed PORT_H definition

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: mark a bunch of local functions as static
Mike Frysinger [Mon, 21 May 2007 10:09:14 +0000 (18:09 +0800)]
Blackfin arch: mark a bunch of local functions as static

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: Add configuration data for ISP176x on BF561
Michael Hennerich [Mon, 21 May 2007 10:09:13 +0000 (18:09 +0800)]
Blackfin arch: Add configuration data for ISP176x on BF561

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: fix a few random warnings
Mike Frysinger [Mon, 21 May 2007 10:09:12 +0000 (18:09 +0800)]
Blackfin arch: fix a few random warnings

Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: ISP1761 doesn't work for USB flash disk
Aubrey Li [Mon, 21 May 2007 10:09:11 +0000 (18:09 +0800)]
Blackfin arch: ISP1761 doesn't work for USB flash disk

ZONE_DMA is required for some drivers subsystem, such as USB/SCSI.

Signed-off-by: Aubrey Li <aubrey.li@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: add SPI MMC driver support on bf533-stamp, tested on STAMP-BF533
Bryan Wu [Mon, 21 May 2007 10:09:10 +0000 (18:09 +0800)]
Blackfin arch: add SPI MMC driver support on bf533-stamp, tested on STAMP-BF533

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoBlackfin arch: Add Workaround for ANOMALY 05000257
Michael Hennerich [Mon, 21 May 2007 10:09:09 +0000 (18:09 +0800)]
Blackfin arch: Add Workaround for ANOMALY 05000257

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoDetach sched.h from mm.h
Alexey Dobriyan [Sun, 20 May 2007 21:22:52 +0000 (01:22 +0400)]
Detach sched.h from mm.h

First thing mm.h does is including sched.h solely for can_do_mlock() inline
function which has "current" dereference inside. By dealing with can_do_mlock()
mm.h can be detached from sched.h which is good. See below, why.

This patch
a) removes unconditional inclusion of sched.h from mm.h
b) makes can_do_mlock() normal function in mm/mlock.c
c) exports can_do_mlock() to not break compilation
d) adds sched.h inclusions back to files that were getting it indirectly.
e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
   getting them indirectly

Net result is:
a) mm.h users would get less code to open, read, preprocess, parse, ... if
   they don't need sched.h
b) sched.h stops being dependency for significant number of files:
   on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
   after patch it's only 3744 (-8.3%).

Cross-compile tested on

all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
alpha alpha-up
arm
i386 i386-up i386-defconfig i386-allnoconfig
ia64 ia64-up
m68k
mips
parisc parisc-up
powerpc powerpc-up
s390 s390-up
sparc sparc-up
sparc64 sparc64-up
um-x86_64
x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig

as well as my two usual configs.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoFix "fs: convert core functions to zero_user_page"
OGAWA Hirofumi [Sun, 20 May 2007 14:39:40 +0000 (23:39 +0900)]
Fix "fs: convert core functions to zero_user_page"

The bug was introduced by 01f2705daf5a36208e69d7cf95db9c330f843af6.
It misses to convert the first argument, it should be "new_page".

This became a cause of fatfs corruption.

Cc: Nate Diller <nate.diller@gmail.com>
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6
Linus Torvalds [Mon, 21 May 2007 16:00:25 +0000 (09:00 -0700)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  [CRYPTO] api: Read module pointer before freeing algorithm

17 years ago[ARM] spelling fixes
Simon Arlott [Fri, 11 May 2007 19:40:30 +0000 (20:40 +0100)]
[ARM] spelling fixes

Spelling fixes in arch/arm/.

Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] at91_adc parenthesis balance
Mariusz Kozlowski [Fri, 18 May 2007 22:39:36 +0000 (00:39 +0200)]
[ARM] at91_adc parenthesis balance

Trivial unbalanced parenthesis macro fix.

Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4400/1: S3C24XX: Add high-speed MMC device definition
Ben Dooks [Sun, 20 May 2007 17:13:32 +0000 (18:13 +0100)]
[ARM] 4400/1: S3C24XX: Add high-speed MMC device definition

Add definition for high-speed MMC/SD device and add to SMDK2443
device list.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4399/2: S3C2443: Fix SMDK2443 nand timings
Ben Dooks [Sun, 20 May 2007 18:58:10 +0000 (19:58 +0100)]
[ARM] 4399/2: S3C2443: Fix SMDK2443 nand timings

Reduce the Twrph0 timing slightly to fit on an SMDK2443. This
should still produce valid timings for the NAND devices as it
is still over the smallest device fitted to these boards.

Signed-off-by: Ben Dooks <(address hidden)>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4398/1: S3C2443: Fix watchdog IRQ number
Ben Dooks [Sun, 20 May 2007 17:02:50 +0000 (18:02 +0100)]
[ARM] 4398/1: S3C2443: Fix watchdog IRQ number

Fix the IRQ number for watchdog on S3C2443

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4397/1: S3C2443: remove SDI0/1 IRQ ambiguity
Ben Dooks [Sun, 20 May 2007 16:32:39 +0000 (17:32 +0100)]
[ARM] 4397/1: S3C2443: remove SDI0/1 IRQ ambiguity

Change the name of the S3C2443_SDI1 to S3C2443_HSMMC to ensure
that it is correctly identified.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4396/1: S3C2443: Add missing HCLK clocks
Ben Dooks [Sun, 20 May 2007 16:17:32 +0000 (17:17 +0100)]
[ARM] 4396/1: S3C2443: Add missing HCLK clocks

Add the clocks missing form HCLKCON back into the set of
clocks being registered at initalisation time.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4395/1: S3C24XX: add include of <linux/sysdev.h> to relevant machines
Ben Dooks [Sun, 20 May 2007 10:55:53 +0000 (11:55 +0100)]
[ARM] 4395/1: S3C24XX: add include of <linux/sysdev.h> to relevant machines

Include <linux/sysdev.h> in any machines that use the PM functions
which require struct sys_device.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4388/1: no need for arm/mm mmap range checks for non-mmu
Greg Ungerer [Thu, 17 May 2007 05:22:41 +0000 (06:22 +0100)]
[ARM] 4388/1: no need for arm/mm mmap range checks for non-mmu

We don't need valid_phys_addr_range() or valid_mmap_phys_addr_range()
for the !CONFIG_MMU case.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[ARM] 4387/1: fix /proc/cpuinfo formatting for pre-ARM7 parts
Greg Ungerer [Thu, 17 May 2007 05:12:22 +0000 (06:12 +0100)]
[ARM] 4387/1: fix /proc/cpuinfo formatting for pre-ARM7 parts

Fix the formating of the "CPU part" field to be consistent with
the other fields for pre-ARM7 parts. One tab to many for them to
all line up.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years ago[CRYPTO] api: Read module pointer before freeing algorithm
Herbert Xu [Sat, 19 May 2007 04:51:00 +0000 (14:51 +1000)]
[CRYPTO] api: Read module pointer before freeing algorithm

The function crypto_mod_put first frees the algorithm and then drops
the reference to its module.  Unfortunately we read the module pointer
which after freeing the algorithm and that pointer sits inside the
object that we just freed.

So this patch reads the module pointer out before we free the object.

Thanks to Luca Tettamanti for reporting this.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
17 years agoLinux v2.6.22-rc2 v2.6.22-rc2
Linus Torvalds [Sat, 19 May 2007 04:06:17 +0000 (21:06 -0700)]
Linux v2.6.22-rc2

17 years agocciss: Fix pci_driver.shutdown while device is still active
Gerald Britton [Mon, 14 May 2007 17:53:01 +0000 (13:53 -0400)]
cciss: Fix pci_driver.shutdown while device is still active

Fix an Oops in the cciss driver caused by system shutdown while a filesystem
on a cciss device is still active.  The cciss_remove_one function only
properly removes the device if the device has been cleanly released by its
users, which is not the case when the pci_driver.shutdown method is called.

This patch adds a new cciss_shutdown function to better match the pattern
used by various SCSI drivers: deactivate device interrupts and flush caches.
It also alters the cciss_remove_one function to match and readds the
__devexit annotation that was removed when cciss_remove_one was serving as
the pci_driver.shutdown method.

Signed-off-by: Gerald Britton <gbritton@alum.mit.edu>
Acked-by: Mike Miller <mike.miller@hp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoFurther update of the i386 boot documentation
H. Peter Anvin [Thu, 17 May 2007 22:50:47 +0000 (15:50 -0700)]
Further update of the i386 boot documentation

A number of items in the i386 boot documentation have been either
vague, outdated or hard to read.  This text revision adds several more
examples, including a memory map for a modern kernel load.  It also
adds a field-by-field detailed description of the setup header, and a
bootloader ID for Qemu.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Linus Torvalds [Sat, 19 May 2007 03:46:45 +0000 (20:46 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  [CRYPTO] tcrypt: Add missing error check
  [CRYPTO] padlock: Make CRYPTO_DEV_PADLOCK a tristate again

17 years agoFix roundup_pow_of_two(1)
Rolf Eike Beer [Thu, 17 May 2007 21:56:56 +0000 (23:56 +0200)]
Fix roundup_pow_of_two(1)

1 is a power of two, therefore roundup_pow_of_two(1) should return 1. It does
in case the argument is a variable but in case it's a constant it behaves
wrong and returns 0. Probably nobody ever did it so this was never noticed.

Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agotimerfd use waitqueue lock ...
Davide Libenzi [Fri, 18 May 2007 19:02:33 +0000 (12:02 -0700)]
timerfd use waitqueue lock ...

The timerfd was using the unlocked waitqueue operations, but it was
using a different lock, so poll_wait() would race with it.

This makes timerfd directly use the waitqueue lock.

Signed-off-by: Davide Libenzi <davidel@xmailserver.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoeventfd use waitqueue lock ...
Davide Libenzi [Fri, 18 May 2007 19:02:33 +0000 (12:02 -0700)]
eventfd use waitqueue lock ...

The eventfd was using the unlocked waitqueue operations, but it was
using a different lock, so poll_wait() would race with it.

This makes eventfd directly use the waitqueue lock.

Signed-off-by: Davide Libenzi <davidel@xmailserver.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Fri, 18 May 2007 15:26:28 +0000 (08:26 -0700)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc

* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (32 commits)
  [POWERPC] Remove build warnings in windfarm_core
  [POWERPC] Pass per-file CFLAGs for platform specific op codes
  [POWERPC] Correct #endif comment
  [POWERPC] Fix ppc_rtas_progress_show()
  [POWERPC] Fix sed command lines for zlib source construction
  [POWERPC] Specify GNUTARGET on $(AR) invocations
  [POWERPC] Make sure device node type/name is not NULL on hot-added nodes
  [POWERPC] Small fixes for the Ebony device tree
  [POWERPC] Fix warning on UP
  [POWERPC] cell_defconfig: Disable cpufreq and pmi
  [POWERPC] Fix IO space on PCI buses created from of_platform
  [POWERPC] Add spinlock to request_phb_iospace()
  [POWERPC] Fix make rules for treeImage.initrd
  [POWERPC] Remove warning in mpic.c
  [POWERPC] Update pasemi_defconfig
  [POWERPC] pasemi: CONFIG_GENERIC_TBSYNC no longer needed
  [POWERPC] Update iseries_defconfig
  [POWERPC] Wire up some more syscalls
  [POWERPC] Fix bug adding properties with flatdevtree.c's ft_set_prop()
  [POWERPC] Remove fixup_bigphys_addr() for arch/powerpc to avoid link error
  ...

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Fri, 18 May 2007 15:25:28 +0000 (08:25 -0700)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Fix sched_clock() et al.

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Fri, 18 May 2007 15:25:14 +0000 (08:25 -0700)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [IPV4]: Remove IPVS icmp hack from route.c for now.
  [IPV4]: Correct rp_filter help text.
  [TCP]: TCP_CONG_YEAH requires TCP_CONG_VEGAS
  [TCP] slow start: Make comments and code logic clearer.
  [BLUETOOTH]: Fix locking in hci_sock_dev_event().
  [NET]: Fix BMSR_100{HALF,FULL}2 defines in linux/mii.h
  [NET]: lockdep classes in register_netdevice

17 years agoslub: another slabinfo fix
Christoph Lameter [Fri, 18 May 2007 07:36:43 +0000 (00:36 -0700)]
slub: another slabinfo fix

The slab manipulation functions should not be triggered by slabs that
are unresovable in the subset of slabs selected on the command line.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agorevert "cancel_delayed_work: use del_timer() instead of del_timer_sync()"
Oleg Nesterov [Fri, 18 May 2007 07:36:42 +0000 (00:36 -0700)]
revert "cancel_delayed_work: use del_timer() instead of del_timer_sync()"

As pointed out by Jarek Poplawski, the patch

[WORKQUEUE]: cancel_delayed_work: use del_timer() instead of del_timer_sync()
commit: 071b638689464c6b39407025eedd810d5b5e6f5d

was wrong, it was merged by mistake after that.

From the changelog:

after this patch:
...
delayed_work_timer_fn->__queue_work() in progress.

The latter doesn't differ from the caller's POV,

it does make a difference if the caller calls flush_workqueue() after
cancel_delayed_work(), in that case flush_workqueue() can miss this
work_struct.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Jarek Poplawski <jarkao2@o2.pl>
Cc: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[IPV4]: Remove IPVS icmp hack from route.c for now.
David S. Miller [Fri, 18 May 2007 09:07:50 +0000 (02:07 -0700)]
[IPV4]: Remove IPVS icmp hack from route.c for now.

Revert: 2d771cd86d4c3af26f34a7bcdc1b87696824cad9

This is dangerous if enabled and a better solution to the
problem is being worked on.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[CRYPTO] tcrypt: Add missing error check
Herbert Xu [Fri, 18 May 2007 06:25:19 +0000 (16:25 +1000)]
[CRYPTO] tcrypt: Add missing error check

The return value of crypto_hash_final isn't checked in test_hash_cycles.
This patch corrects this.  Thanks to Eric Sesterhenn for reporting this.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
17 years ago[SPARC64]: Fix sched_clock() et al.
David S. Miller [Fri, 18 May 2007 05:55:26 +0000 (22:55 -0700)]
[SPARC64]: Fix sched_clock() et al.

SPARC64_NSEC_PER_CYC_SHIFT was set too high.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoRevert "[PATCH] x86: Drop cc-options call for all options supported in gcc 3.2+"
Linus Torvalds [Fri, 18 May 2007 03:18:11 +0000 (20:18 -0700)]
Revert "[PATCH] x86: Drop cc-options call for all options supported in gcc 3.2+"

This reverts commit c8fdd247255a3a027cd9f66dcf93e6847d1d2f85.

It turns out the kernel was correct, and the gcc complaint was a gcc
bug.  The preferred stack boundary is expressed not in bytes, but in the
the log2() of the preferred boundary, so "-mpreferred-stack-boundary=2"
is in fact exactly what we want, but a gcc that is compiled for x86-64
will consider it an error (because the 64-bit calling sequence says that
the stack should be 16-byte aligned) even if we are then using "-m32" to
generate 32-bit code.

Noted-by: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
Cc: Jan Hubicka <jh@suse.cz>
Acked-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[CRYPTO] padlock: Make CRYPTO_DEV_PADLOCK a tristate again
Herbert Xu [Fri, 18 May 2007 03:17:22 +0000 (13:17 +1000)]
[CRYPTO] padlock: Make CRYPTO_DEV_PADLOCK a tristate again

Turning it into a boolean was unnecessary and caused ALGAPI to be
pinned down as a boolean to.  This patch makes it a tristate again.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
17 years agoMerge git://git.linux-nfs.org/pub/linux/nfs-2.6
Linus Torvalds [Fri, 18 May 2007 03:14:43 +0000 (20:14 -0700)]
Merge git://git.linux-nfs.org/pub/linux/nfs-2.6

* git://git.linux-nfs.org/pub/linux/nfs-2.6:
  SUNRPC: Fix sparse warnings
  NLM: Fix sparse warnings
  NFS: Fix more sparse warnings
  NFS: Fix some 'sparse' warnings...
  SUNRPC: remove dead variable 'rpciod_running'
  NFS4: Fix incorrect use of sizeof() in fs/nfs/nfs4xdr.c
  NFS: use zero_user_page
  NLM: don't use CLONE_SIGHAND in nlmclnt_recovery
  NLM: Fix locking client timeouts...

17 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Fri, 18 May 2007 03:02:36 +0000 (20:02 -0700)]
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  sata_via: pcim_iomap_regions() conversion missed BAR5
  libata: remove libata.spindown_compat
  sata_nv: fix fallout of devres conversion
  drivers/ata: remove the wildcard from sata_nv driver

17 years agosata_via: pcim_iomap_regions() conversion missed BAR5
Tejun Heo [Thu, 17 May 2007 11:37:12 +0000 (13:37 +0200)]
sata_via: pcim_iomap_regions() conversion missed BAR5

pcim_iomap_regions() conversion missed BAR5.  Fix it.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agolibata: remove libata.spindown_compat
Tejun Heo [Thu, 17 May 2007 14:43:26 +0000 (16:43 +0200)]
libata: remove libata.spindown_compat

With STANDBYDOWN tracking added, libata.spindown_compat isn't
necessary anymore.  If userspace shutdown(8) issues STANDBYNOW, libata
warns.  If userspace shutdown(8) doesn't issue STANDBYNOW, libata does
the right thing.  Userspace can tell whether kernel supports spindown
by testing whether sysfs node manage_start_stop exists as before.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agosata_nv: fix fallout of devres conversion
Tejun Heo [Thu, 17 May 2007 11:13:57 +0000 (13:13 +0200)]
sata_nv: fix fallout of devres conversion

As with all other drivers, sata_nv's hpriv is allocated with
devm_kzalloc() and there's no need to free it explicitly.  Kill
nv_remove_one() which incorrectly used kfree() instead of devm_kfree()
and use ata_pci_remove_one() directly.

Original fix is from Peer Chen.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Peer Chen <pchen@nvidia.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agodrivers/ata: remove the wildcard from sata_nv driver
Peer Chen [Fri, 11 May 2007 05:48:49 +0000 (22:48 -0700)]
drivers/ata: remove the wildcard from sata_nv driver

Because nvidia SATA controllers onward base on AHCI, so wildcard in sata_nv
driver is unnecessary.  Also the wildcard sometimes cause sata_nv driver to
be loaded for AHCI controllers,which is not as expected.

Signed-off-by: Peer Chen <pchen@nvidia.com>
Cc: Tejun Heo <htejun@gmail.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoe1000: Fix msi enable leak on error, don't print error message, cleanup
Auke Kok [Wed, 16 May 2007 08:49:46 +0000 (01:49 -0700)]
e1000: Fix msi enable leak on error, don't print error message, cleanup

pci_enable_msi failure is a normal event so we should not print any error.
Going over the code I spotted a missing pci_disable_msi() leak when irq
allocation fails. The whole code also needed a cleanup, so I combined the
two different calls to pci_request_irq into a single call making this
look a lot better. All #ifdef CONFIG_PCI_MSI's have been removed.

Compile tested with both CONFIG_PCI_MSI enabled and disabled.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoixgb: don't print error if pci_enable_msi() fails, cleanup minor leak
Auke Kok [Thu, 17 May 2007 22:29:07 +0000 (15:29 -0700)]
ixgb: don't print error if pci_enable_msi() fails, cleanup minor leak

pci_enable_msi calls can fail for normal operational reasons. Driver
should not print an error message in that case. Fix a leak that leaves
msi enabled if pci_request_irq fails. We can remove CONFIG_PCI_MSI
ifdefs alltogether

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoNetXen: Fix NetXen driver ping on system-p
Mithlesh Thukral [Thu, 17 May 2007 13:52:25 +0000 (06:52 -0700)]
NetXen: Fix NetXen driver ping on system-p

NetXen: Fix for driver on System-p
This patch will fix a ping issue on system-p

Signed-off by: Milan Bag <mbag@netxen.com>
Signed-off by: Adhiraj Joshi <adhiraj@netxen.com>
Signed-by: Mithlesh Thukral <mithlesh@netxen.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agospidernet: node-aware skbuff allocation
Christoph Hellwig [Wed, 16 May 2007 21:58:00 +0000 (16:58 -0500)]
spidernet: node-aware skbuff allocation

Spidernet was the driver I original did all the node-aware netdevice
allocation for, but after a year it still hasn't hit mainline.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agogianfar: Add I/O barriers when touching buffer descriptor ownership.
Scott Wood [Wed, 16 May 2007 20:06:59 +0000 (15:06 -0500)]
gianfar: Add I/O barriers when touching buffer descriptor ownership.

The hardware must not see that is given ownership of a buffer until it is
completely written, and when the driver receives ownership of a buffer,
it must ensure that any other reads to the buffer reflect its final
state.  Thus, I/O barriers are added where required.

Without this patch, I have observed GCC reordering the setting of
bdp->length and bdp->status in gfar_new_skb.  Hardware reordering
was also theoretically possible.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoibm_emac: fix link speed detection change
Eugene Surovegin [Wed, 16 May 2007 19:01:05 +0000 (12:01 -0700)]
ibm_emac: fix link speed detection change

Fix link speed detection change.
Thanks to Stefan Roese <sr@denx.de> for finding this bug.

CC: Stefan Roese <sr@denx.de>
Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoibm_emac: improved PHY support
Eugene Surovegin [Wed, 16 May 2007 18:59:48 +0000 (11:59 -0700)]
ibm_emac: improved PHY support

Original patch is from Jeff Haran  <jharan@brocade.com> with my minor style
fixes. His comments follow:

The first problem was in the function that configures the PHY for
autonegotiation, genmii_setup_aneg(). The original code does a
read/modify/write of the autonegotiation advertizement register (reg 4),
followed by a read/modify/write of the control register (reg 0). While
the original code follows the proper procedure as per reading the IEEE
specs, what I found is that on at least one PHY model (National DP83843)
the read of the control register comes back with the soft reset bit set
(bit 15). Because of the read/modify/write operation, this causes the
write to write a 1 back to the reset bit, which initiates a software
reset of the PHY. This software reset causes the PHY to return to its
power up state which advertizes all modes of operation, thus negating
the write to the autoneg advertizement register. The modification is to
spin reading the control register until the soft reset bit is clear
before doing the modify/write.
The second problem was in the function that configures the PHY for
forced operation, genmii_setup_forced(). The original code initiates a
software reset operation via a write of a 1 to bit 15 of the control
register (reg 0), but then proceeds to do a second write to that same
register without waiting until that reset bit is cleared by the PHY
itself (which according to the IEEE specs indicates that the PHY reset
is complete). This is a violation of how one is supposed to use this
software reset feature of these PHYs and I believe was the cause of
mysterious, difficult to reproduce link failures that we've observed on
some of our systems that use this driver. The fix is to modify the
function so that it spins waiting for the reset bit to clear after doing
the soft reset and before doing the subsequent write.

Signed-off-by: Jeff Haran <jharan@brocade.com>
CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoibm_emac: fix section mismatch warnings
Eugene Surovegin [Wed, 16 May 2007 18:57:37 +0000 (11:57 -0700)]
ibm_emac: fix section mismatch warnings

Fix "Section mismatch" warnings

Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agosmall netdevices.txt fix
Christoph Hellwig [Wed, 16 May 2007 12:59:04 +0000 (14:59 +0200)]
small netdevices.txt fix

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agosky2: memory barriers change
Stephen Hemminger [Mon, 14 May 2007 19:38:15 +0000 (12:38 -0700)]
sky2: memory barriers change

Do some memory barrier changes for safety/perfomance:
Don't need read after update to index, mmiowb() followed by read at end
of irq is sufficient.

Signed-off-by: Stephn Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agosky2: remove dual port workaround
Stephen Hemminger [Mon, 14 May 2007 19:38:14 +0000 (12:38 -0700)]
sky2: remove dual port workaround

This workaround was added to deal with NAPI core and how
it affected dual port shared polling. It turned out not to
be necessary. Stopping device 0 only doesn't stop NAPI from
working completely after that.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agosky2: MIB counter overflow handling
Stephen Hemminger [Mon, 14 May 2007 19:38:13 +0000 (12:38 -0700)]
sky2: MIB counter overflow handling

Make sure that if we ever get a MIB counter overflow interrupt (normally
masked off), that the IRQ is cleared.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agosky2: keep track of receive alloc failures
Stephen Hemminger [Mon, 14 May 2007 19:38:12 +0000 (12:38 -0700)]
sky2: keep track of receive alloc failures

When driver can't allocate receive buffer it drops incoming
packet. Keep a counter.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agosky2: PHY register settings
Stephen Hemminger [Mon, 14 May 2007 19:38:11 +0000 (12:38 -0700)]
sky2: PHY register settings

Align the PHY setup of the sky2 driver with the vendor sk98lin (10.0.4.3)
driver. The PHY register settings are mostly black magic, even with access
to the documentation it isn't clear what the right values are. The changes
are mostly comments, the code change only affects the Yukon FE (100 mbit only)
version.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agosky2: remove Gigabyte 88e8056 restriction
Stephen Hemminger [Mon, 14 May 2007 19:38:10 +0000 (12:38 -0700)]
sky2: remove Gigabyte 88e8056 restriction

The problems with Gigabyte motherboards are system configuration dependent.
Since it works fine for some users, it doesn't make sense to deprive
them.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[IPV4]: Correct rp_filter help text.
Dave Jones [Thu, 17 May 2007 22:02:21 +0000 (15:02 -0700)]
[IPV4]: Correct rp_filter help text.

As mentioned in http://bugzilla.kernel.org/show_bug.cgi?id=5015
The helptext implies that this is on by default.
This may be true on some distros (Fedora/RHEL have it enabled
in /etc/sysctl.conf), but the kernel defaults to it off.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: TCP_CONG_YEAH requires TCP_CONG_VEGAS
David S. Miller [Thu, 17 May 2007 07:07:47 +0000 (00:07 -0700)]
[TCP]: TCP_CONG_YEAH requires TCP_CONG_VEGAS

These two congestion control modules share code.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP] slow start: Make comments and code logic clearer.
Stephen Hemminger [Thu, 17 May 2007 07:04:18 +0000 (00:04 -0700)]
[TCP] slow start: Make comments and code logic clearer.

Add more comments to describe our version of tcp_slow_start().

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>