14 years agoMerge git://
Linus Torvalds [Tue, 2 Sep 2008 17:59:27 +0000 (10:59 -0700)]
Merge git://

* git://
  [MTD] mtdchar.c: Fix regression in MEMGETREGIONINFO ioctl()
  dabusb_fpga_download(): fix a memory leak
  Remove '#include <stddef.h>' from mm/page_isolation.c
  Fix modules_install on RO nfs-exported trees.

14 years agoMerge branch 'for-2.6.27' of git://
Linus Torvalds [Tue, 2 Sep 2008 17:58:11 +0000 (10:58 -0700)]
Merge branch 'for-2.6.27' of git://

* 'for-2.6.27' of git://
  nfsd: fix buffer overrun decoding NFSv4 acl
  sunrpc: fix possible overrun on read of /proc/sys/sunrpc/transports
  nfsd: fix compound state allocation error handling
  svcrdma: Fix race between svc_rdma_recvfrom thread and the dto_tasklet

14 years agom68k: atari_keyb_init operator precedence fix
Michael Schmitz [Mon, 1 Sep 2008 18:27:02 +0000 (20:27 +0200)]
m68k: atari_keyb_init operator precedence fix

Fix operator precedence bug in atari_keyb_init, which caused a failure on CT60

Signed-off-by: Michael Schmitz <>
Signed-off-by: Geert Uytterhoeven <>
Signed-off-by: Linus Torvalds <>
14 years agofix typo in arch/parisc/hpux/fs.c
Stephen Rothwell [Mon, 1 Sep 2008 17:43:27 +0000 (03:43 +1000)]
fix typo in arch/parisc/hpux/fs.c

A parisc allmodconfig build produces this:

arch/parisc/hpux/fs.c:107: error: 'buffer' undeclared (first use in this function)

Introduced by commit da574983de9f9283ba35662c8723627096e160de ("[PATCH]
fix hpux_getdents()").

Helge Dille also reported this in bugzilla 11461:

and he posted an identical patch.

Signed-off-by: Stephen Rothwell <>
Signed-off-by: Helge Deller <>
Signed-off-by: Linus Torvalds <>
14 years agosoftlockup: minor cleanup, don't check task->state twice
Oleg Nesterov [Sat, 30 Aug 2008 17:08:40 +0000 (21:08 +0400)]
softlockup: minor cleanup, don't check task->state twice

The recent commit 16d9679f33caf7e683471647d1472bfe133d858 changed
check_hung_task() to filter out the TASK_KILLABLE tasks. We can
move this check to the caller which has to test t->state anyway.

Signed-off-by: Oleg Nesterov <>
Acked-by: Andi Kleen <>
Signed-off-by: Linus Torvalds <>
14 years agokernel/resource.c: fix new kernel-doc warning
Randy Dunlap [Mon, 1 Sep 2008 03:31:55 +0000 (20:31 -0700)]
kernel/resource.c: fix new kernel-doc warning

Fix kernel-doc warning for new function:

Warning(linux-2.6.27-rc5-git2//kernel/resource.c:448): No description found for parameter 'root'

Signed-off-by: Randy Dunlap <>
Signed-off-by: Linus Torvalds <>
14 years agoMerge branch 'drm-fixes' of git://
Linus Torvalds [Tue, 2 Sep 2008 17:46:56 +0000 (10:46 -0700)]
Merge branch 'drm-fixes' of git://git./linux/kernel/git/airlied/drm-2.6

* 'drm-fixes' of git://
  drm/radeon: downgrade debug message from info to debug.

14 years agoMerge git://
Linus Torvalds [Tue, 2 Sep 2008 17:45:59 +0000 (10:45 -0700)]
Merge git://git./linux/kernel/git/sfrench/cifs-2.6

* git://
  [CIFS] Turn off Unicode during session establishment for plaintext authentication
  [CIFS] update cifs change log
  cifs: fix O_APPEND on directio mounts
  [CIFS] Fix plaintext authentication

14 years agoMerge branch 'for-linus' of git://
Linus Torvalds [Tue, 2 Sep 2008 17:45:01 +0000 (10:45 -0700)]
Merge branch 'for-linus' of git://

* 'for-linus' of git://
  block: restore original behavior of /proc/partition when there's no partition
  remove blk_register_filter and blk_unregister_filter in gendisk

14 years agoMerge git://
Linus Torvalds [Tue, 2 Sep 2008 17:43:38 +0000 (10:43 -0700)]
Merge git://git./linux/kernel/git/davem/sparc-2.6

* git://
  sparc64: setup_valid_addr_bitmap_from_pavail() should be __init
  sparc: Fix resource flags for PCI children in OF device tree.
  sparc32: Implement smp_call_function_single().

14 years agoUn-break printk strings in x86 PCI probing code
Linus Torvalds [Tue, 2 Sep 2008 17:38:28 +0000 (10:38 -0700)]
Un-break printk strings in x86 PCI probing code

Breaking lines due to some imaginary problem with a long line length is
often stupid and wrong, but never more so when it splits a string that
is printed out into multiple lines.  This really ended up making it much
harder to find where some error strings were printed out, because a
simple 'grep' didn't work.

I'm sure there is tons more of this particular idiocy hiding in other
places, but this particular case hit me once more last week. So fix it.

Signed-off-by: Linus Torvalds <>
14 years ago[MTD] mtdchar.c: Fix regression in MEMGETREGIONINFO ioctl()
Zev Weiss [Mon, 1 Sep 2008 12:02:12 +0000 (05:02 -0700)]
[MTD] mtdchar.c: Fix regression in MEMGETREGIONINFO ioctl()

The MEMGETREGIONINFO ioctl() in mtdchar.c was clobbering user memory by
overwriting more than intended, due the size of struct mtd_erase_region_info
changing in commit 0ecbc81adfcb9f15f86b05ff576b342ce81bbef8 ('Support
for auto locking flash on power up').

Fix avoids this by copying struct members one by one with put_user(), as there
is no longer a convenient struct to use the size of as the length argument to

Signed-off-by: Zev Weiss <>
Signed-off-by: David Woodhouse <>
14 years agodabusb_fpga_download(): fix a memory leak
Adrian Bunk [Wed, 27 Aug 2008 22:04:30 +0000 (01:04 +0300)]
dabusb_fpga_download(): fix a memory leak

This patch fixes a memory leak in an error path.

Reported-by: Adrian Bunk <>
Signed-off-by: Adrian Bunk <>
Signed-off-by: David Woodhouse <>
14 years agoRemove '#include <stddef.h>' from mm/page_isolation.c
David Woodhouse [Mon, 1 Sep 2008 10:10:28 +0000 (11:10 +0100)]
Remove '#include <stddef.h>' from mm/page_isolation.c

Signed-off-by: David Woodhouse <>
14 years agoFix modules_install on RO nfs-exported trees.
David Woodhouse [Mon, 1 Sep 2008 09:54:46 +0000 (10:54 +0100)]
Fix modules_install on RO nfs-exported trees.

Fixes by avoiding a
needless rebuild of the firmware/ihex2fw tool.

Signed-off-by: David Woodhouse <>
14 years agonfsd: fix buffer overrun decoding NFSv4 acl
J. Bruce Fields [Fri, 29 Aug 2008 23:18:45 +0000 (19:18 -0400)]
nfsd: fix buffer overrun decoding NFSv4 acl

The array we kmalloc() here is not large enough.

Thanks to Johann Dahm and David Richter for bug report and testing.

Signed-off-by: J. Bruce Fields <>
Cc: David Richter <>
Tested-by: Johann Dahm <>
14 years agosunrpc: fix possible overrun on read of /proc/sys/sunrpc/transports
Cyrill Gorcunov [Sun, 31 Aug 2008 15:25:49 +0000 (19:25 +0400)]
sunrpc: fix possible overrun on read of /proc/sys/sunrpc/transports

Vegard Nossum reported
> I noticed that something weird is going on with /proc/sys/sunrpc/transports.
> This file is generated in net/sunrpc/sysctl.c, function proc_do_xprt(). When
> I "cat" this file, I get the expected output:
>    $ cat /proc/sys/sunrpc/transports
>    tcp 1048576
>    udp 32768

> But I think that it does not check the length of the buffer supplied by
> userspace to read(). With my original program, I found that the stack was
> being overwritten by the characters above, even when the length given to
> read() was just 1.

David Wagner added (among other things) that copy_to_user could be
probably used here.

Ingo Oeser suggested to use simple_read_from_buffer() here.

The conclusion is that proc_do_xprt doesn't check for userside buffer
size indeed so fix this by using Ingo's suggestion.

Reported-by: Vegard Nossum <>
Signed-off-by: Cyrill Gorcunov <>
CC: Ingo Oeser <>
Cc: Neil Brown <>
Cc: Chuck Lever <>
Cc: Greg Banks <>
Cc: Tom Tucker <>
Signed-off-by: J. Bruce Fields <>
14 years agonfsd: fix compound state allocation error handling
Andy Adamson [Thu, 21 Aug 2008 12:42:16 +0000 (08:42 -0400)]
nfsd: fix compound state allocation error handling

Move the cstate_alloc call so that if it fails, the response is setup to
encode the NFS error. The out label now means that the
nfsd4_compound_state has not been allocated.

Signed-off-by: Andy Adamson <>
Signed-off-by: J. Bruce Fields <>
14 years agoblock: restore original behavior of /proc/partition when there's no partition
Tejun Heo [Mon, 1 Sep 2008 06:55:10 +0000 (08:55 +0200)]
block: restore original behavior of /proc/partition when there's no partition

/proc/partitions didn't use to write out the header if there was no
partition.  However, recent commit 66c64afe changed the behavior.
This is nothing major but there's no reason to change user visible
behavior without a good rationale.  Restore the original behavior.

Note that 2.6.28 has clean up changes scheduled which will replace
this rather hacky implementation.

Signed-off-by: Tejun Heo <>
Cc: Greg KH <>
Cc: Kay Sievers <>
Signed-off-by: Jens Axboe <>
14 years agodrm/radeon: downgrade debug message from info to debug.
Dave Airlie [Sun, 31 Aug 2008 22:51:52 +0000 (08:51 +1000)]
drm/radeon: downgrade debug message from info to debug.

If this triggers its bad, however some machines seem to have been
triggering it for ages and we didn't know until we added the debug.

So downgrade the debug now so people don't call this a regression.

Signed-off-by: Dave Airlie <>
14 years agosparc64: setup_valid_addr_bitmap_from_pavail() should be __init
David S. Miller [Sat, 30 Aug 2008 09:04:45 +0000 (02:04 -0700)]
sparc64: setup_valid_addr_bitmap_from_pavail() should be __init

Signed-off-by: David S. Miller <>
14 years agoResource handling: add 'insert_resource_expand_to_fit()' function
Linus Torvalds [Sat, 30 Aug 2008 03:18:31 +0000 (20:18 -0700)]
Resource handling: add 'insert_resource_expand_to_fit()' function

Not used anywhere yet, but this complements the existing plain
'insert_resource()' functionality with a version that can expand the
resource we are adding in order to fix up any conflicts it has with
existing resources.

Signed-off-by: Linus Torvalds <>
14 years agoMerge branch 'for-linus' of git://
Linus Torvalds [Fri, 29 Aug 2008 21:46:49 +0000 (14:46 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://
  ALSA: oxygen: fix distorted output on AK4396-based cards
  Revert "ALSA: hda - Added model selection for iMac 24""

14 years agoDon't trigger softlockup detector on network fs blocked tasks
Andi Kleen [Fri, 29 Aug 2008 18:06:23 +0000 (20:06 +0200)]
Don't trigger softlockup detector on network fs blocked tasks

Pulling the ethernet cable on a 2.6.27-rc system with NFS mounts
currently leads to an ongoing flood of soft lockup detector backtraces
for all tasks blocked on the NFS mounts when the hickup takes
longer than 120s.

I don't think NFS problems should be all that noisy.

Luckily there's a reasonably easy way to distingush this case.

Don't report task softlockup warnings for tasks in TASK_KILLABLE
state, which is used by the network file systems.

I believe this patch is a 2.6.27 candidate.

Signed-off-by: Andi Kleen <>
Signed-off-by: Linus Torvalds <>
14 years agoRevert "x86: fix HPET regression in 2.6.26 versus 2.6.25, check hpet against BAR...
Linus Torvalds [Fri, 29 Aug 2008 21:38:03 +0000 (14:38 -0700)]
Revert "x86: fix HPET regression in 2.6.26 versus 2.6.25, check hpet against BAR, v3"

This reverts commit a2bd7274b47124d2fc4dfdb8c0591f545ba749dd.

It wasn't really right to begin with (there's a better fix for the
problem with e820 reservations clashing with PCI BAR's pending), but it
also actually causes more regressions, so it should be reverted even
before the better fix is finalized.

Rafael reports that this commit broke AHCI detection, and thus causes
the kernel to not boot on his quad core test box.

Reported-and-bisected-by: Rafael J. Wysocki <>
Cc: Yinghai Lu <>
Cc: David Witbrodt <>
Cc: Ingo Molnar <>
Signed-off-by: Linus Torvalds <>
14 years agoALSA: oxygen: fix distorted output on AK4396-based cards
Clemens Ladisch [Fri, 29 Aug 2008 11:08:34 +0000 (13:08 +0200)]
ALSA: oxygen: fix distorted output on AK4396-based cards

When changing the sample rate, the CMI8788's master clock output becomes
unstable for a short time.  The AK4396 needs the master clock to do SPI
writes, so writing to an AK4396 control register directly after a sample
rate change will garble the value.  In our case, this leads to the DACs
being misconfigured to I2S sample format, which results in a wrong
output level and horrible distortions on samples louder than -6 dB.

To fix this, we need to wait until the new master clock signal has
become stable before doing SPI writes.

Signed-off-by: Clemens Ladisch <>
Signed-off-by: Takashi Iwai <>
14 years agoremove blk_register_filter and blk_unregister_filter in gendisk
FUJITA Tomonori [Fri, 29 Aug 2008 09:47:07 +0000 (11:47 +0200)]
remove blk_register_filter and blk_unregister_filter in gendisk

This patch remove blk_register_filter and blk_unregister_filter in
gendisk, and adds them to sd.c, sr.c. and ide-cd.c

The commit abf5439370491dd6fbb4fe1a7939680d2a9bc9d4 moved cmdfilter
from gendisk to request_queue. It turned out that in some subsystems
multiple gendisks share a single request_queue. So we get:

Using physmap partition information
Creating 3 MTD partitions on "physmap-flash":
0x00000000-0x01c00000 : "User FS"
0x01c00000-0x01c40000 : "booter"
kobject (8511c410): tried to init an initialized object, something is seriously wrong.
Call Trace:
[<8036644c>] dump_stack+0x8/0x34
[<8021f050>] kobject_init+0x50/0xcc
[<8021fa18>] kobject_init_and_add+0x24/0x58
[<8021d20c>] blk_register_filter+0x4c/0x64
[<8021c194>] add_disk+0x78/0xe0
[<8027d14c>] add_mtd_blktrans_dev+0x254/0x278
[<8027c8f0>] blktrans_notify_add+0x40/0x78
[<80279c00>] add_mtd_device+0xd0/0x150
[<8027b090>] add_mtd_partitions+0x568/0x5d8
[<80285458>] physmap_flash_probe+0x2ac/0x334
[<802644f8>] driver_probe_device+0x12c/0x244
[<8026465c>] __driver_attach+0x4c/0x84
[<80263c64>] bus_for_each_dev+0x58/0xac
[<802633ec>] bus_add_driver+0xc4/0x24c
[<802648e0>] driver_register+0xcc/0x184
[<80100460>] _stext+0x60/0x1bc

In the long term, we need to fix such subsystems but we need a quick
fix now. This patch add the command filter support to only sd and sr
though it might be useful for other SG_IO users (such as cciss).

Signed-off-by: FUJITA Tomonori <>
Reported-by: Manuel Lauss <>
Signed-off-by: Jens Axboe <>
14 years agosparc: Fix resource flags for PCI children in OF device tree.
David S. Miller [Fri, 29 Aug 2008 04:02:58 +0000 (21:02 -0700)]
sparc: Fix resource flags for PCI children in OF device tree.

When a device is under an EBUS or ISA bus, the resource flags
don't get set properly.

Fix this by re-evaluating the resource flags at each level of
bus as we apply ranges on the way to the root.  And let PCI
override any existing flags setting, but don't let the
default flags calculator make such overrides.

Signed-off-by: David S. Miller <>
14 years agoLinux 2.6.27-rc5
Linus Torvalds [Thu, 28 Aug 2008 22:52:02 +0000 (15:52 -0700)]
Linux 2.6.27-rc5

14 years agoMerge
Linus Torvalds [Thu, 28 Aug 2008 19:34:27 +0000 (12:34 -0700)]

  [ARM] 5226/1: remove unmatched comment end.
  [ARM] Skip memory holes in FLATMEM when reading /proc/pagetypeinfo
  [ARM] use bcd2bin/bin2bcd
  [ARM] use the new byteorder headers
  [ARM] OMAP: Fix 2430 SMC91x ethernet IRQ
  [ARM] OMAP: Add and update OMAP default configuration files
  [ARM] OMAP: Change mailing list for OMAP in MAINTAINERS
  [ARM] S3C2443: Fix the S3C2443 clock register definitions
  [ARM] JIVE: Fix the spi bus numbering
  [ARM] S3C24XX: pwm.c: stop debugging output
  [ARM] S3C24XX: Fix sparse warnings in pwm.c
  [ARM] S3C24XX: Fix spare errors in pwm-clock driver
  [ARM] S3C24XX: Fix sparse warnings in arch/arm/plat-s3c24xx/gpiolib.c
  [ARM] S3C24XX: Fix nor-simtec driver sparse errors
  [ARM] 5225/1: zaurus: Register I2C controller for audio codecs
  [ARM] orion5x: update defconfig to v2.6.27-rc4
  [ARM] Orion: register UART1 on QNAP TS-209 and TS-409
  [ARM] Orion: activate lm75 driver on DNS-323
  [ARM] Orion: fix MAC detection on QNAP TS-209 and TS-409
  [ARM] Orion: Fix boot crash on Kurobox Pro

14 years agoMerge branch 'for-linus' of git://
Linus Torvalds [Thu, 28 Aug 2008 19:34:01 +0000 (12:34 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/cooloney/blackfin-2.6

* 'for-linus' of git://
  Blackfin arch: Fix PM building on BF52x: No ROTWE on BF52x, add USBWE
  Blackfin arch: sram: use 'unsigned long' for irqflags
  Blackfin arch: let PCI depend on BROKEN
  Blackfin arch: move include/asm-blackfin header files to arch/blackfin
  Blackfin arch: fix bug - MPU crashes under stress
  Blackfin arch: Fix bug - when to rmmod the L1_module, it stucks and then reboot the board.
  Blackfin arch: dont actually need to muck with EMAC_SYSTAT for BF52x for demuxing
  Blackfin arch: Add MTD Partitions for MTD_DATAFLASH, increase max SPI SCLK

14 years agoMerge branch 'core-fixes-for-linus' of git://
Linus Torvalds [Thu, 28 Aug 2008 19:31:49 +0000 (12:31 -0700)]
Merge branch 'core-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'core-fixes-for-linus' of git://
  exit signals: use of uninitialized field notify_count
  lockdep: fix invalid list_del_rcu in zap_class
  lockstat: repair erronous contention statistics
  lockstat: fix numerical output rounding error

14 years agoMerge branch 'sched-fixes-for-linus' of git://
Linus Torvalds [Thu, 28 Aug 2008 19:31:12 +0000 (12:31 -0700)]
Merge branch 'sched-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'sched-fixes-for-linus' of git://
  sched: rt-bandwidth accounting fix
  sched: fix sched_rt_rq_enqueue() resched idle

14 years agoMerge branch 'x86-fixes-for-linus' of git://
Linus Torvalds [Thu, 28 Aug 2008 19:30:59 +0000 (12:30 -0700)]
Merge branch 'x86-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://
  x86: update defconfigs
  x86: msr: fix bogus return values from rdmsr_safe/wrmsr_safe
  x86: cpuid: correct return value on partial operations
  x86: msr: correct return value on partial operations
  x86: cpuid: propagate error from smp_call_function_single()
  x86: msr: propagate errors from smp_call_function_single()
  smp: have smp_call_function_single() detect invalid CPUs

14 years agoMerge branch 'i2c-for-linus' of git://
Linus Torvalds [Thu, 28 Aug 2008 19:28:50 +0000 (12:28 -0700)]
Merge branch 'i2c-for-linus' of git://

* 'i2c-for-linus' of git://
  i2c: Prevent log spam on some DVB adapters
  i2c: Add missing kerneldoc descriptions
  i2c: Fix device_init_wakeup place

14 years agoftrace: disable tracing for hibernation
Rafael J. Wysocki [Thu, 28 Aug 2008 12:39:12 +0000 (14:39 +0200)]
ftrace: disable tracing for hibernation

In accordance with commit f42ac38c59e0a03d6da0c24a63fb211393f484b0
("ftrace: disable tracing for suspend to ram"), disable tracing
around the suspend code in hibernation code paths.

Signed-off-by: Rafael J. Wysocki <>
Acked-by: Steven Rostedt <>
Signed-off-by: Linus Torvalds <>
14 years ago[ARM] 5226/1: remove unmatched comment end.
Jean-Christophe DUBOIS [Wed, 27 Aug 2008 23:00:23 +0000 (00:00 +0100)]
[ARM] 5226/1: remove unmatched comment end.

remove unmatched comment end.

Signed-off-by: Jean-Christophe DUBOIS <>
Signed-off-by: Russell King <>
14 years ago[CIFS] Turn off Unicode during session establishment for plaintext authentication
Steve French [Thu, 28 Aug 2008 15:32:22 +0000 (15:32 +0000)]
[CIFS] Turn off Unicode during session establishment for plaintext authentication

LANMAN session setup did not support Unicode (after session setup, unicode can
still be used though).

Fixes samba bug# 5319

CC: Jeff Layton <>
CC: Stable Kernel <>
Signed-off-by: Steve French <>
14 years ago[CIFS] update cifs change log
Steve French [Thu, 28 Aug 2008 15:30:06 +0000 (15:30 +0000)]
[CIFS] update cifs change log

Signed-off-by: Steve French <>
14 years agocifs: fix O_APPEND on directio mounts
Jeff Layton [Thu, 28 Aug 2008 11:54:59 +0000 (07:54 -0400)]
cifs: fix O_APPEND on directio mounts

The direct I/O write codepath for CIFS is done through
cifs_user_write(). That function does not currently call
generic_write_checks() so the file position isn't being properly set
when the file is opened with O_APPEND.  It's also not doing the other
"normal" checks that should be done for a write call.

The problem is currently that when you open a file with O_APPEND on a
mount with the directio mount option, the file position is set to the
beginning of the file. This makes any subsequent writes clobber the data
in the file starting at the beginning.

This seems to fix the problem in cursory testing. It is, however
important to note that NFS disallows the combination of
(O_DIRECT|O_APPEND). If my understanding is correct, the concern is
races with multiple clients appending to a file clobbering each others'
data. Since the write model for CIFS and NFS is pretty similar in this
regard, CIFS is probably subject to the same sort of races. What's
unclear to me is why this is a particular problem with O_DIRECT and not
with buffered writes...

Regardless, disallowing O_APPEND on an entire mount is probably not
reasonable, so we'll probably just have to deal with it and reevaluate
this flag combination when we get proper support for O_DIRECT. In the
meantime this patch at least fixes the existing problem.

Signed-off-by: Jeff Layton <>
Cc: Stable Tree <>
Signed-off-by: Steve French <>
14 years agosched: rt-bandwidth accounting fix
Peter Zijlstra [Tue, 19 Aug 2008 10:33:03 +0000 (12:33 +0200)]
sched: rt-bandwidth accounting fix

It fixes an accounting bug where we would continue accumulating runtime
even though the bandwidth control is disabled. This would lead to very long
throttle periods once bandwidth control gets turned on again.

Signed-off-by: Peter Zijlstra <>
Signed-off-by: Ingo Molnar <>
14 years agoBlackfin arch: Fix PM building on BF52x: No ROTWE on BF52x, add USBWE
Michael Hennerich [Thu, 28 Aug 2008 09:32:01 +0000 (17:32 +0800)]
Blackfin arch: Fix PM building on BF52x: No ROTWE on BF52x, add USBWE

Signed-off-by: Michael Hennerich <>
Signed-off-by: Bryan Wu <>
14 years agoBlackfin arch: sram: use 'unsigned long' for irqflags
Vegard Nossum [Thu, 28 Aug 2008 09:28:46 +0000 (17:28 +0800)]
Blackfin arch: sram: use 'unsigned long' for irqflags

Using just 'unsigned' will make flags an unsigned int. While this is
arguably not an error on blackfin where sizeof(int) == sizeof(long),
the patch is still justified on the grounds of principle.

The patch was generated using the Coccinelle semantic patch framework.

Cc: Julia Lawall <>
Cc: Alexey Dobriyan <>
Signed-off-by: Vegard Nossum <>
Signed-off-by: Mike Frysinger <>
Signed-off-by: Bryan Wu <>
14 years agosched: fix sched_rt_rq_enqueue() resched idle
John Blackwood [Tue, 26 Aug 2008 19:09:43 +0000 (15:09 -0400)]
sched: fix sched_rt_rq_enqueue() resched idle

When sysctl_sched_rt_runtime is set to something other than -1 and the
CONFIG_RT_GROUP_SCHED kernel parameter is NOT enabled, we get into a state
where we see one or more CPUs idling forvever even though there are
tasks in their rt runqueue that are able to run (no longer throttled).

The sequence is:

- A real-time task is running when the timer sets the rt runqueue
    to throttled, and the rt task is resched_task()ed and switched
    out, and idle is switched in since there are no non-rt tasks to
    run on that cpu.

- Eventually the do_sched_rt_period_timer() runs and un-throttles
    the rt runqueue, but we just exit the timer interrupt and go back
    to executing the idle task in the idle loop forever.

If we change the sched_rt_rq_enqueue() routine to use some of the code
from the CONFIG_RT_GROUP_SCHED enabled version of this same routine and
resched_task() the currently executing task (idle in our case) if it is
a lower priority task than the higher rt task in the now un-throttled
runqueue, the problem is no longer observed.

Signed-off-by: John Blackwood <>
Signed-off-by: Peter Zijlstra <>
Signed-off-by: Ingo Molnar <>
14 years agoi2c: Prevent log spam on some DVB adapters
Jean Delvare [Thu, 28 Aug 2008 06:33:23 +0000 (08:33 +0200)]
i2c: Prevent log spam on some DVB adapters

Some DVB adapters do not support the special I2C transaction that we
use for probing purposes. There's no point in logging this event, as
there's nothing the user can do and in general there is no actual
problem. So, degrade one of these messages to a debug message, and
move the other one around so that it is only printed on bogus drivers.

Signed-off-by: Jean Delvare <>
Acked-by: Uwe Bugla <>
14 years agoi2c: Add missing kerneldoc descriptions
Jean Delvare [Thu, 28 Aug 2008 06:33:23 +0000 (08:33 +0200)]
i2c: Add missing kerneldoc descriptions

Add missing kernel descriptions of struct i2c_driver members.

Signed-off-by: Jean Delvare <>
Acked-by: Randy Dunlap <>
Cc: David Brownell <>
14 years agoi2c: Fix device_init_wakeup place
Marc Pignat [Thu, 28 Aug 2008 06:33:22 +0000 (08:33 +0200)]
i2c: Fix device_init_wakeup place

device_init_wakeup must be called after device_register.

Signed-off-by: Marc Pignat <>
Acked-by: David Brownell <>
Signed-off-by: Jean Delvare <>
14 years agosparc32: Implement smp_call_function_single().
David S. Miller [Thu, 28 Aug 2008 03:03:22 +0000 (20:03 -0700)]
sparc32: Implement smp_call_function_single().

Reported by Stephen Rothwell.

Needed to fix the build when CONFIG_RELAY is enabled.

Signed-off-by: David S. Miller <>
14 years agoMerge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
Steve French [Thu, 28 Aug 2008 02:47:00 +0000 (02:47 +0000)]
Merge branch 'master' of /linux/kernel/git/torvalds/linux-2.6

14 years agoMerge git://
Linus Torvalds [Thu, 28 Aug 2008 00:38:07 +0000 (17:38 -0700)]
Merge git://git./linux/kernel/git/davem/net-2.6

* git:// (55 commits)
  sctp: fix random memory dereference with SCTP_HMAC_IDENT option.
  sctp: correct bounds check in sctp_setsockopt_auth_key
  wan: Missing capability checks in sbni_ioctl()
  e100, fix iomap read
  qeth: preallocated header account offset
  qeth: l2 write unicast list to hardware
  qeth: use -EOPNOTSUPP instead of -ENOTSUPP.
  ibm_newemac: Don't call dev_mc_add() before device is registered
  net: don't grab a mutex within a timer context in gianfar
  forcedeth: fix checksum flag
  net/usb/mcs7830: add set_mac_address
  net/usb/mcs7830: new device IDs
  [netdrvr] smc91x: fix resource removal (null ptr deref)
  ibmveth: fix bad UDP checksums
  [netdrvr] hso: dev_kfree_skb crash fix
  [netdrvr] hso: icon 322 detection fix
  atl1: disable TSO by default
  atl1e: multistatement if missing braces
  igb: remove 82576 quad adapter
  drivers/net/skfp/ess.c: fix compile warnings

14 years agosctp: fix random memory dereference with SCTP_HMAC_IDENT option.
Vlad Yasevich [Wed, 27 Aug 2008 23:09:49 +0000 (16:09 -0700)]
sctp: fix random memory dereference with SCTP_HMAC_IDENT option.

The number of identifiers needs to be checked against the option
length.  Also, the identifier index provided needs to be verified
to make sure that it doesn't exceed the bounds of the array.

Signed-off-by: Vlad Yasevich <>
Signed-off-by: David S. Miller <>
14 years agosctp: correct bounds check in sctp_setsockopt_auth_key
Vlad Yasevich [Wed, 27 Aug 2008 23:08:54 +0000 (16:08 -0700)]
sctp: correct bounds check in sctp_setsockopt_auth_key

The bonds check to prevent buffer overlflow was not exactly
right.  It still allowed overflow of up to 8 bytes which is
sizeof(struct sctp_authkey).

Since optlen is already checked against the size of that struct,
we are guaranteed not to cause interger overflow either.

Signed-off-by: Vlad Yasevich <>
Signed-off-by: David S. Miller <>
14 years agoMerge branch 'omap-rmk'
Russell King [Wed, 27 Aug 2008 22:07:46 +0000 (23:07 +0100)]
Merge branch 'omap-rmk'

14 years agoIB/mlx4: Actually return L_Key and R_Key for fast register MRs
Vladimir Sokolovsky [Wed, 27 Aug 2008 21:29:57 +0000 (14:29 -0700)]
IB/mlx4: Actually return L_Key and R_Key for fast register MRs

Initialize the L_Key and R_Key for memory regions returned from
mlx4_ib_alloc_fast_reg_mr().  Otherwise callers just get garbage for
the memory keys and can't do anything useful with these MRs.

Signed-off-by: Vladimir Sokolovsky <>
Signed-off-by: Roland Dreier <>
Signed-off-by: Linus Torvalds <>
14 years agoMerge git://
Linus Torvalds [Wed, 27 Aug 2008 21:37:28 +0000 (14:37 -0700)]
Merge git://git./linux/kernel/git/wim/linux-2.6-watchdog

* git://
  [WATCHDOG] removed unused #include <version.h>
  [WATCHDOG] at91rm9200_wdt.c: fix misleading indentation
  [WATCHDOG] mpc8xxx_wdt: fix modular build
  [WATCHDOG] hpwdt.c kdebug support
  [WATCHDOG] Add support for the IDT RC32434 watchdog
  [WATCHDOG] Add support for the built-int RDC R-321x SoC watchdog
  [WATHDOG] delete unused driver mpc8xx_wdt.c
  [WATCHDOG] Fix s3c2410_wdt driver coding style issues
  [WATCHDOG] Clean out header of s3c2410_wdt driver.
  [WATCHDOG] Fix NULL usage in s3c2410_wdt driver.

14 years agotty: Fix termios tty window resize race with pty/tty pair
Alan Cox [Tue, 26 Aug 2008 18:55:58 +0000 (19:55 +0100)]
tty: Fix termios tty window resize race with pty/tty pair

Kanru Chen posted a patch versus the old code which deals with the case
where you resize the pty side of a pty/tty pair. In that situation the
termios data is updated for both pty and tty but the locks are not held
for the right side.

This implements the fix differently against the updated tty code. Patch
by self but the hard bit (noticing and fixing the bug) is thanks to Kanru

Signed-off-by: Alan Cox <>
Signed-off-by: Linus Torvalds <>
14 years agotty: TIOCGSOFTCAR/SSOFTCAR on pty is wron
Alan Cox [Tue, 26 Aug 2008 18:52:47 +0000 (19:52 +0100)]
tty: TIOCGSOFTCAR/SSOFTCAR on pty is wron

The termios settings ioctls on a pty should affect the bound tty side not
the pty. The SOFTCAR ioctls use the wrong device file.

Signed-off-by: Alan Cox <>
Signed-off-by: Linus Torvalds <>
14 years agoMerge git://
Linus Torvalds [Wed, 27 Aug 2008 21:34:49 +0000 (14:34 -0700)]
Merge git://git./linux/kernel/git/sfrench/cifs-2.6

* git://
  [CIFS] Add destroy routine for dns_resolver
  [CIFS] Reorder cifs config item for better clarity
  [CIFS] Correct keys dependency for cifs kerberos support

14 years agoMerge branch 'for-linus' of git://
Linus Torvalds [Wed, 27 Aug 2008 21:33:06 +0000 (14:33 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/penberg/slab-2.6

* 'for-linus' of git://
  slub: Disable NUMA remote node defragmentation by default

14 years agoMerge branch 'for-linus' of git://
Linus Torvalds [Wed, 27 Aug 2008 21:31:44 +0000 (14:31 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/viro/vfs-2.6

* 'for-linus' of git://
  [PATCH] deal with the first call of ->show() generating no output
  [PATCH] fix ->llseek() for a bunch of directories
  [PATCH] fix regular readdir() and friends
  [PATCH] fix hpux_getdents()
  [PATCH] fix osf_getdirents()
  [PATCH] ntfs: use d_add_ci
  [PATCH] change d_add_ci argument ordering
  [PATCH] fix efs_lookup()
  [PATCH] proc: inode number fixlet

14 years agoMerge git://
Linus Torvalds [Wed, 27 Aug 2008 21:31:27 +0000 (14:31 -0700)]
Merge git://git./linux/kernel/git/davem/sparc-2.6

* git://
  sparc: Add target for a stripped kernel
  sparc64: Make NUMA depend upon SMP.

14 years ago[CIFS] Fix plaintext authentication
Steve French [Wed, 27 Aug 2008 21:30:22 +0000 (21:30 +0000)]
[CIFS] Fix plaintext authentication

The last eight bytes of the password field were not cleared when doing lanman plaintext password authentication. This patch fixes that.

I tested it with Samba by setting password
encryption to no in the server's smb.conf.  Other servers also can be
configured to force plaintext authentication.    Note that plaintexti
authentication requires setting /proc/fs/cifs/SecurityFlags to 0x30030
on the client (enabling both LANMAN and also plaintext password support).
Also note that LANMAN support (and thus plaintext password support) requires
CONFIG_CIFS_WEAK_PW_HASH to be enabled in menuconfig.

CC: Jeff Layton <>
CC: Stable Kernel <>
Signed-off-by: Steve French <>
14 years agoMerge branch 'drm-patches' of git://
Linus Torvalds [Wed, 27 Aug 2008 21:28:45 +0000 (14:28 -0700)]
Merge branch 'drm-patches' of git://git./linux/kernel/git/airlied/drm-2.6

* 'drm-patches' of git://
  drm: don't set the signal blocker on the master process.
  drm: don't call the vblank tasklet with irqs disabled.
  r300: Fix cliprect emit
  drm/radeon: r300_cmdbuf: Always emit INDX_BUFFER immediately after DRAW_INDEX
  radeon: fix some hard lockups on r3/4/500s

14 years ago[CIFS] Add destroy routine for dns_resolver
Jeff Layton [Wed, 27 Aug 2008 17:53:30 +0000 (17:53 +0000)]
[CIFS] Add destroy routine for dns_resolver

Otherwise, we're leaking the payload memory.

CC: Stable Kernel <>
Acked-by: David Howells <>
Signed-off-by: Jeff Layton <>
Signed-off-by: Steve French <>
14 years agoe1000: fix stack size
Linus Torvalds [Wed, 27 Aug 2008 08:14:46 +0000 (01:14 -0700)]
e1000: fix stack size

Here's the patch. It shrinks the stack from 1152 bytes to 192 bytes (the
first version, that only did the e1000_option part, got it down to 600
bytes). About half comes from not using multiple "e1000_option"
structures, the other half comes from turning the "e1000_opt_list[]"
arrays into "static const" instead, so that gcc doesn't copy them onto the

Signed-off-by: Linus Torvalds <>
Reveiewed-by: Auke Kok <>
Tested-by: Emil Tantilov <>
Signed-off-by: Jeff Kirsher <>
Signed-off-by: Linus Torvalds <>
14 years agoMerge branch 'for-linus' of git://
Linus Torvalds [Wed, 27 Aug 2008 20:55:35 +0000 (13:55 -0700)]
Merge branch 'for-linus' of git://

* 'for-linus' of git://
  block: remove blk_queue_tag_depth() and blk_queue_tag_queue()
  block: remove unused ->busy part of the block queue tag map
  bio: fix __bio_copy_iov() handling of bio->bv_len
  bio: fix bio_copy_kern() handling of bio->bv_len
  block: submit_bh() inadvertently discards barrier flag on a sync write
  block: clean up cmdfilter sysfs interface
  block: rename blk_scsi_cmd_filter to blk_cmd_filter
  sg: restore command permission for TYPE_SCANNER
  block: move cmdfilter from gendisk to request_queue

14 years agoMerge branch 'upstream-linus' of git://
Linus Torvalds [Wed, 27 Aug 2008 20:54:55 +0000 (13:54 -0700)]
Merge branch 'upstream-linus' of git://git./linux/kernel/git/mfasheh/ocfs2

* 'upstream-linus' of git://
  ocfs2: Increment the reference count of an already-active stack.
  [PATCH] configfs: Consolidate locking around configfs_detach_prep() in configfs_rmdir()
  ocfs2: correctly set i_blocks after inline dir gets expanded
  ocfs2: Jump to correct label in ocfs2_expand_inline_dir()
  ocfs2: Fix sleep-with-spinlock recovery regression
  [PATCH] ocfs2/cluster/netdebug.c: fix warning
  [PATCH] ocfs2/cluster/tcp.c: make some functions static

14 years agoMerge branch 'for-linus' of git://
Linus Torvalds [Wed, 27 Aug 2008 20:54:43 +0000 (13:54 -0700)]
Merge branch 'for-linus' of git://

* 'for-linus' of git://
  [S390] dcss: fix build bug.
  [S390] Fix linker script.

14 years agoftrace: disable tracing for suspend to ram
Steven Rostedt [Wed, 27 Aug 2008 13:14:40 +0000 (09:14 -0400)]
ftrace: disable tracing for suspend to ram

I've been painstakingly debugging the issue with suspend to ram and
ftraced. The 2.6.28 code does not have this issue, but since the mcount
recording is not going to be in 27, this must be solved for the ftrace
daemon version.

The resume from suspend to ram would reboot because it was triple
faulting. Debugging further, I found that calling the mcount function
itself was not an issue, but it would fault when it incremented
preempt_count. preempt_count is on the tasks info structure that is on the
low memory address of the task's stack.  For some reason, it could not
write to it. Resuming out of suspend to ram does quite a lot of funny
tricks to get to work, so it is not surprising at all that simply doing a
preempt_disable() would cause a fault.

Thanks to Rafael for suggesting to add a "while (1);" to find the place in
resuming that is causing the fault. I would place the loop somewhere in
the code, compile and reboot and see if it would either reboot (hit the
fault) or simply hang (hit the loop).  Doing this over and over again, I
narrowed it down that it was happening in enable_nonboot_cpus.

At this point, I found that it is easier to simply disable tracing around
the suspend code, instead of searching for the particular function that
can not handle doing a preempt_disable.

This patch disables the tracer as it suspends and reenables it on resume.

I tested this patch on my Laptop, and it can resume fine with the patch.

Signed-off-by: Steven Rostedt <>
Acked-by: Rafael J. Wysocki <>
Signed-off-by: Linus Torvalds <>
14 years agoRevert "pktcdvd: push BKL down into driver"
Linus Torvalds [Wed, 27 Aug 2008 20:35:31 +0000 (13:35 -0700)]
Revert "pktcdvd: push BKL down into driver"

This reverts commit 5b6155ee70e9c4d2ad7e6f514c8eee06e2711c3a, because
the block device ioctl's really aren't ready for it.

In particular, the "struct file *" and the "struct inode *" arguments do
not necessarily match, which means that the unlocked version of the
ioctl (that only gets a "struct file *") isn't actually able to handle
the cases it needs to handle.

This fixes bugzilla

Reported-and-bisected-by: Laurent Riffard <>
Acked-by: Peter Osterlund <>
Cc: Alan Cox <>
Cc: Andrew Morton <>
Cc: Jens Axboe <>
Signed-off-by: Linus Torvalds <>
14 years ago[ARM] Skip memory holes in FLATMEM when reading /proc/pagetypeinfo
Mel Gorman [Thu, 14 Aug 2008 10:10:14 +0000 (11:10 +0100)]
[ARM] Skip memory holes in FLATMEM when reading /proc/pagetypeinfo

Ordinarily, memory holes in flatmem still have a valid memmap and is safe
to use. However, an architecture (ARM) frees up the memmap backing memory
holes on the assumption it is never used. /proc/pagetypeinfo reads the
whole range of pages in a zone believing that the memmap is valid and that
pfn_valid will return false if it is not. On ARM, freeing the memmap breaks
the page->zone linkages even though pfn_valid() returns true and the kernel
can oops shortly afterwards due to accessing a bogus struct zone *.

This patch lets architectures say when FLATMEM can have holes in the
memmap. Rather than an expensive check for valid memory, /proc/pagetypeinfo
will confirm that the page linkages are still valid by checking page->zone
is still the expected zone. The lookup of page_zone is safe as there is a
limited range of memory that is accessed when calling page_zone.  Even if
page_zone happens to return the correct zone, the impact is that the counters
in /proc/pagetypeinfo are slightly off but fragmentation monitoring is
unlikely to be relevant on an embedded system.

Reported-by: H Hartley Sweeten <>
Signed-off-by: Mel Gorman <>
Tested-by: H Hartley Sweeten <>
Signed-off-by: Russell King <>
14 years ago[ARM] use bcd2bin/bin2bcd
Adrian Bunk [Fri, 8 Aug 2008 16:34:35 +0000 (19:34 +0300)]
[ARM] use bcd2bin/bin2bcd

This patch changes arm to use the new bcd2bin/bin2bcd functions instead
of the obsolete BCD_TO_BIN/BIN_TO_BCD macros.

Signed-off-by: Adrian Bunk <>
Signed-off-by: Russell King <>
14 years ago[ARM] use the new byteorder headers
Harvey Harrison [Tue, 19 Aug 2008 00:47:55 +0000 (17:47 -0700)]
[ARM] use the new byteorder headers

Signed-off-by: Harvey Harrison <>
Signed-off-by: Russell King <>
14 years agoMerge branch 'for-rmk' of git://
Russell King [Wed, 27 Aug 2008 18:30:13 +0000 (19:30 +0100)]
Merge branch 'for-rmk' of git://

14 years ago[ARM] OMAP: Fix 2430 SMC91x ethernet IRQ
Russell King [Wed, 27 Aug 2008 13:29:40 +0000 (14:29 +0100)]
[ARM] OMAP: Fix 2430 SMC91x ethernet IRQ

Taken from omap 97b705ad835f1481270c4b67b402d6e37fa8ad15:
  ARM: OMAP: Misc compile fixes after syncing with mainline

  Also fix 2430 smc91x to use IRQ_LOWLEVEL.

Signed-off-by: Tony Lindgren <>
Signed-off-by: Russell King <>
14 years ago[ARM] OMAP: Add and update OMAP default configuration files
Russell King [Wed, 27 Aug 2008 13:22:13 +0000 (14:22 +0100)]
[ARM] OMAP: Add and update OMAP default configuration files

Update omap_h2_1610 and omap_osk_5912 default configurations.

Add ams delta, n770, omap 2430sdp, apollon_2420, generic 1510, 1610,
1710, 2420, h4 2420, innovator 1510 and 1610, perseus2 730, palte,
palmtt, palmz71 and sx1 default configurations.

Pulled out of the omap zoom tree.

Signed-off-by: Russell King <>
14 years ago[ARM] OMAP: Change mailing list for OMAP in MAINTAINERS
Dirk Behme [Sat, 15 Dec 2007 06:47:46 +0000 (07:47 +0100)]
[ARM] OMAP: Change mailing list for OMAP in MAINTAINERS

OMAP has now a list at vger.

Signed-off-by: Dirk Behme <>
Signed-off-by: Tony Lindgren <>
Signed-off-by: Russell King <>
14 years agowan: Missing capability checks in sbni_ioctl()
Eugene Teo [Wed, 27 Aug 2008 11:50:30 +0000 (04:50 -0700)]
wan: Missing capability checks in sbni_ioctl()

There are missing capability checks in the following code:

1300 static int
1301 sbni_ioctl( struct net_device  *dev,  struct ifreq  *ifr,  int  cmd)
1302 {
1319     case  SIOCDEVRESINSTATS :
1320         if( current->euid != 0 )    /* root only */
1321             return  -EPERM;
1336     case  SIOCDEVSHWSTATE :
1337         if( current->euid != 0 )    /* root only */
1338             return  -EPERM;
1357     case  SIOCDEVENSLAVE :
1358         if( current->euid != 0 )    /* root only */
1359             return  -EPERM;
1372     case  SIOCDEVEMANSIPATE :
1373         if( current->euid != 0 )    /* root only */
1374             return  -EPERM;

Here's my proposed fix:

Missing capability checks.

Signed-off-by: Eugene Teo <>
Signed-off-by: David S. Miller <>
14 years agoMerge branch 'no-iwlwifi' of git://
David S. Miller [Wed, 27 Aug 2008 11:29:50 +0000 (04:29 -0700)]
Merge branch 'no-iwlwifi' of git://git./linux/kernel/git/linville/wireless-2.6

14 years agoMerge branch 'davem-fixes' of
David S. Miller [Wed, 27 Aug 2008 10:54:45 +0000 (03:54 -0700)]
Merge branch 'davem-fixes' of /linux/kernel/git/jgarzik/netdev-2.6

14 years agoe100, fix iomap read
Jiri Slaby [Thu, 14 Aug 2008 16:27:23 +0000 (18:27 +0200)]
e100, fix iomap read

There were 2 omitted readb's used on an iomap space. eliminate them
by using ioread8 instead.

Signed-off-by: Jiri Slaby <>
Cc: Jeff Kirsher <>
Cc: Jesse Brandeburg <>
Cc: Bruce Allan <>
Cc: PJ Waskiewicz <>
Cc: John Ronciak <>
Signed-off-by: Jeff Garzik <>
14 years agoqeth: preallocated header account offset
Frank Blaschka [Fri, 15 Aug 2008 06:03:00 +0000 (08:03 +0200)]
qeth: preallocated header account offset

When a preallocated header qdio buffer is filled we have to account
the offset for the data length.

Signed-off-by: Frank Blaschka <>
Signed-off-by: Jeff Garzik <>
14 years agoqeth: l2 write unicast list to hardware
Frank Blaschka [Fri, 15 Aug 2008 06:02:59 +0000 (08:02 +0200)]
qeth: l2 write unicast list to hardware

In case the netdev unicast list contains additional entries we have
to register/deregister them.

Signed-off-by: Frank Blaschka <>
Signed-off-by: Jeff Garzik <>
14 years agoqeth: use -EOPNOTSUPP instead of -ENOTSUPP.
Ursula Braun [Fri, 15 Aug 2008 06:02:58 +0000 (08:02 +0200)]
qeth: use -EOPNOTSUPP instead of -ENOTSUPP.

return value -ENOTSUPP is not valid in userspace context, use
-EOPNOTSUPP instead.

Signed-off-by: Ursula Braun <>
Signed-off-by: Frank Blaschka <>
Signed-off-by: Jeff Garzik <>
14 years agoibm_newemac: Don't call dev_mc_add() before device is registered
Benjamin Herrenschmidt [Sun, 17 Aug 2008 21:29:23 +0000 (07:29 +1000)]
ibm_newemac: Don't call dev_mc_add() before device is registered

We must not call dev_mc_add() from within our HW configure which happens
before we initialize and register the netdev. Do it in open() instead.

Thanks to Sebastian Siewior for tracking it down.

Signed-off-by: Benjamin Herrenschmidt <>
Signed-off-by: Jeff Garzik <>
14 years agonet: don't grab a mutex within a timer context in gianfar
Sebastian Siewior [Tue, 19 Aug 2008 19:12:45 +0000 (21:12 +0200)]
net: don't grab a mutex within a timer context in gianfar

I got the following backtrace while network was unavailble:

|NETDEV WATCHDOG: eth0: transmit timed out
|BUG: sleeping function called from invalid context at /home/bigeasy/git/linux-2.6-powerpc/kernel/mutex.c:87
|in_atomic():1, irqs_disabled():0
|Call Trace:
|[c0383d90] [c0006dd8] show_stack+0x48/0x184 (unreliable)
|[c0383db0] [c001e938] __might_sleep+0xe0/0xf4
|[c0383dc0] [c025a43c] mutex_lock+0x24/0x3c
|[c0383de0] [c019005c] phy_stop+0x20/0x70
|[c0383df0] [c018d4ec] stop_gfar+0x28/0xf4
|[c0383e10] [c018e8c4] gfar_timeout+0x30/0x60
|[c0383e20] [c01fe7c0] dev_watchdog+0xa8/0x144
|[c0383e30] [c002f93c] run_timer_softirq+0x148/0x1c8
|[c0383e60] [c002b084] __do_softirq+0x5c/0xc4
|[c0383e80] [c00046fc] do_softirq+0x3c/0x54
|[c0383e90] [c002ac60] irq_exit+0x3c/0x5c
|[c0383ea0] [c000b378] timer_interrupt+0xe0/0xf8
|[c0383ec0] [c000e5ac] ret_from_except+0x0/0x18
|[c0383f80] [c000804c] cpu_idle+0xcc/0xdc
|[c0383fa0] [c025c07c] etext+0x7c/0x90
|[c0383fc0] [c0338960] start_kernel+0x294/0x2a8
|[c0383ff0] [c00003dc] skpinv+0x304/0x340
|------------[ cut here ]------------

The phylock was once a spinlock but got changed into a mutex via
commit 35b5f6b1a aka [PHYLIB: Locking fixes for PHY I/O potentially sleeping]

Signed-off-by: Sebastian Siewior <>
Signed-off-by: Jeff Garzik <>
14 years agoforcedeth: fix checksum flag
Ayaz Abdulla [Wed, 20 Aug 2008 23:34:37 +0000 (16:34 -0700)]
forcedeth: fix checksum flag

Fix the checksum feature advertised in device flags.  The hardware support
TCP/UDP over IPv4 and TCP/UDP over IPv6 (without IPv6 extension headers).
However, the kernel feature flags do not distinguish IPv6 with/without
extension headers.

Therefore, the driver needs to use NETIF_F_IP_CSUM instead of
NETIF_F_HW_CSUM since the latter includes all IPv6 packets.

A future patch can be created to check for extension headers and perform
software checksum calculation.

Signed-off-by: Ayaz Abdulla <>
Cc: Jeff Garzik <>
Cc: Manfred Spraul <
Cc: <> [2.6.25.x, 2.6.26.x]
Signed-off-by: Andrew Morton <>
Signed-off-by: Jeff Garzik <>
14 years agonet/usb/mcs7830: add set_mac_address
Oliver Martin [Sat, 23 Aug 2008 20:08:47 +0000 (22:08 +0200)]
net/usb/mcs7830: add set_mac_address

Implement set_mac_address for mcs7830. This enables me to use it with my
cable modem.

Signed-off-by: Oliver Martin <>
Signed-off-by: Arnd Bergmann <>
Signed-off-by: Jeff Garzik <>
14 years agonet/usb/mcs7830: new device IDs
Arnd Bergmann [Sat, 23 Aug 2008 20:02:23 +0000 (22:02 +0200)]
net/usb/mcs7830: new device IDs

This adds USB device IDs for MosChip 7730 and Sitecom LN030
to the mcs7830 driver. The IDs have been reported to work without
further modifications.

Signed-off-by: Arnd Bergmann <>
Acked-by: David Brownell <>
Cc: Viktor Horvath <>
Cc: Robbert Wethmar <>
Cc: Bart van der Klip <>
Signed-off-by: Jeff Garzik <>
14 years ago[netdrvr] smc91x: fix resource removal (null ptr deref)
Jeff Garzik [Wed, 27 Aug 2008 09:54:30 +0000 (05:54 -0400)]
[netdrvr] smc91x: fix resource removal (null ptr deref)

Properly handle resource cleanup on unplug/exit.

Spotted by Jonathan Cameron

Signed-off-by: Jeff Garzik <>
14 years agoibmveth: fix bad UDP checksums
Santiago Leon [Wed, 20 Aug 2008 19:09:19 +0000 (13:09 -0600)]
ibmveth: fix bad UDP checksums

This patch fixes a ibmveth bug where bad UDP checksums are being transmitted
when checksum offloading is enabled.
The hypervisor does checksum offloading only on TCP packets, so ibmveth calls
skb_checksum_help() for any other protocol.  The bug happens because
the packet is being modified after the DMA map, so we would need a memory
barrier before making the hypervisor call.  Reordering the code so that the
DMA map happens after skb_checksum_help() has the additional advantage of
fixing a DMA map leak if skb_checksum_help() where to fail.

Signed-off-by: Santiago Leon <>
Signed-off-by: Jeff Garzik <>
14 years ago[netdrvr] hso: dev_kfree_skb crash fix
Denis Joseph Barrow [Wed, 20 Aug 2008 01:07:55 +0000 (18:07 -0700)]
[netdrvr] hso: dev_kfree_skb crash fix

Fixes dev_kfree_skb happening too many times when hso_start_net_device
is called from hso_resume.

Signed-off-by: Denis Joseph Barrow <>
Cc: Jeff Garzik <>
Signed-off-by: Greg Kroah-Hartman <>
Signed-off-by: Jeff Garzik <>
14 years ago[netdrvr] hso: icon 322 detection fix
Denis Joseph Barrow [Wed, 20 Aug 2008 01:07:52 +0000 (18:07 -0700)]
[netdrvr] hso: icon 322 detection fix

Fixes Icon-322 detection.

Signed-off-by: Denis Joseph Barrow <>
Cc: Jeff Garzik <>
Signed-off-by: Greg Kroah-Hartman <>
Signed-off-by: Jeff Garzik <>
14 years agoatl1: disable TSO by default
Jay Cliburn [Tue, 19 Aug 2008 00:28:13 +0000 (19:28 -0500)]
atl1: disable TSO by default

The atl1 driver is causing stalled connections and file corruption
whenever TSO is enabled.  Two examples are here:

Disable TSO by default until we can determine the source of the

Signed-off-by: Jay Cliburn <>
Signed-off-by: Jeff Garzik <>
14 years agoatl1e: multistatement if missing braces
Ilpo Järvinen [Tue, 19 Aug 2008 07:32:06 +0000 (10:32 +0300)]
atl1e: multistatement if missing braces

Doesn't cause problems (yet) because err gets zeroed earlier.

Signed-off-by: Ilpo Järvinen <>
Signed-off-by: Jeff Garzik <>
14 years agoigb: remove 82576 quad adapter
Alexander Duyck [Fri, 8 Aug 2008 23:51:26 +0000 (16:51 -0700)]
igb: remove 82576 quad adapter

Disable support for device 8086:10E8.  Currently the result of loading the
driver with the device present causes system instability.

Signed-off-by: Alexander Duyck <>
Signed-off-by: Jeff Kirsher <>
Signed-off-by: Jeff Garzik <>
14 years agodrivers/net/skfp/ess.c: fix compile warnings
Takashi Iwai [Wed, 20 Aug 2008 23:34:35 +0000 (16:34 -0700)]
drivers/net/skfp/ess.c: fix compile warnings

  CC [M]  drivers/net/skfp/ess.o
drivers/net/skfp/ess.c: In function 'ess_send_response':
drivers/net/skfp/ess.c:513: warning: cast from pointer to integer of different size
drivers/net/skfp/ess.c: In function 'ess_send_alc_req':
drivers/net/skfp/ess.c:609: warning: cast from pointer to integer of different size
drivers/net/skfp/ess.c:639: warning: cast from pointer to integer of different size

Signed-off-by: Takashi Iwai <>
Cc: Jeff Garzik <>
Signed-off-by: Andrew Morton <>
Signed-off-by: Jeff Garzik <>
14 years agoipv4: mode 0555 in ipv4_skeleton
Hugh Dickins [Wed, 27 Aug 2008 09:35:18 +0000 (02:35 -0700)]
ipv4: mode 0555 in ipv4_skeleton

vpnc on today's kernel says Cannot open "/proc/sys/net/ipv4/route/flush":
d--------- 0 root root 0 2008-08-26 11:32 /proc/sys/net/ipv4/route
d--------- 0 root root 0 2008-08-26 19:16 /proc/sys/net/ipv4/neigh

Signed-off-by: Hugh Dickins <>
Acked-by: Al Viro <>
Signed-off-by: David S. Miller <>
14 years agotcp: fix tcp header size miscalculation when window scale is unused
Philip Love [Wed, 27 Aug 2008 09:33:50 +0000 (02:33 -0700)]
tcp: fix tcp header size miscalculation when window scale is unused

The size of the TCP header is miscalculated when the window scale ends
up being 0. Additionally, this can be induced by sending a SYN to a
passive open port with a window scale option with value 0.

Signed-off-by: Philip Love <>
Signed-off-by: Adam Langley <>
Signed-off-by: David S. Miller <>
14 years agopkt_sched: Fix sch_tree_lock()
Jarek Poplawski [Wed, 27 Aug 2008 09:27:10 +0000 (02:27 -0700)]
pkt_sched: Fix sch_tree_lock()

Use new qdisc_root_sleeping_lock() instead of qdisc_root_lock() as
sch_tree_lock() because this lock could be used while dev is
deactivated, but we never need to use this with noop_qdisc as a root.

Signed-off-by: Jarek Poplawski <>
Signed-off-by: David S. Miller <>