pandora-kernel.git
17 years agoInput: appletouch - add Geyser IV support
Julien BLACHE [Fri, 17 Nov 2006 06:06:13 +0000 (01:06 -0500)]
Input: appletouch - add Geyser IV support

The new Core2 Duo MacBook Pro has a new keyboard+trackpad named
"Geyser IV".

According to the Info.plist in the OS X kext, it looks like the Geyser
IV trackpad is identical to the Geyser III trackpad: same IOClass
(AppleUSBGrIIITrackpad), same acceleration tables.

Signed-off-by: Julien BLACHE <jb@jblache.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: appletouch - verious updates for MacBooks
Jason Parekh [Fri, 17 Nov 2006 06:05:58 +0000 (01:05 -0500)]
Input: appletouch - verious updates for MacBooks

Change a bit the finger detection method used by the appletouch
driver to reduce touchpad "jumpiness":

 - Adjust the method for detecting multiple fingers. Previously, it
   recognized a new finger when a low sensor reading is followed by
   a high sensor reading. The new method checks for 'humps' in the
   sensor readings, so there doesn't necessarily have to be a low
   sensor between two high sensors for two fingers to be triggered.
   This allows detecting presence of two fingers on the touchpad
   even when they touch each other.

 - Change absolute coordinate calculation to us to get rid of "jumps".
   Instead of using full value from a sensor once it passes the
   threshold subtract theshold value from the reading.

 - Allow adjusting threshold value via module parameter.

The patch doesn't seem to affect the Powerbooks but does greatly improve
the touchpad behaviour on the MacBooks.

Signed-off-by: Jason Parekh <jasonparekh@gmail.com>
Signed-off-by: Stelian Pop <stelian@popies.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: psmouse - fix attribute access on 64-bit systems
Sergey Vlasov [Thu, 9 Nov 2006 05:34:27 +0000 (00:34 -0500)]
Input: psmouse - fix attribute access on 64-bit systems

psmouse_show_int_attr() and psmouse_set_int_attr() were accessing
unsigned int fields as unsigned long, which gave garbage on x86_64.

Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: mice - handle errors when registering input devices
Dmitry Torokhov [Mon, 6 Nov 2006 03:40:19 +0000 (22:40 -0500)]
Input: mice - handle errors when registering input devices

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: joysticks - handle errors when registering input devices
Dmitry Torokhov [Mon, 6 Nov 2006 03:40:09 +0000 (22:40 -0500)]
Input: joysticks - handle errors when registering input devices

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: touchscreens - handle errors when registering input devices
Dmitry Torokhov [Mon, 6 Nov 2006 03:40:03 +0000 (22:40 -0500)]
Input: touchscreens - handle errors when registering input devices

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: keyboards - handle errors when registering input devices
Dmitry Torokhov [Mon, 6 Nov 2006 03:39:56 +0000 (22:39 -0500)]
Input: keyboards - handle errors when registering input devices

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: HID - add a quirk for the Logitech USB Receiver
Anssi Hannula [Sun, 5 Nov 2006 03:49:53 +0000 (22:49 -0500)]
Input: HID - add a quirk for the Logitech USB Receiver

Logitech USB Receiver (046d:c101) has two interfaces. The first one
contains fields from HID_UP_KEYBOARD and HID_UP_LED, and the other one
contains fields from HID_UP_CONSUMER and HID_UP_LOGIVENDOR. This device
is used with multiple wireless Logitech products, including UltraX Media
Remote.

All fields on both interfaces are either keys or leds. All fields in the
first interface are marked as Absolute, while the fields in the second
interface are marked as Relative. Marking the keys as relative causes
hidinput_hid_event() to send release events right after key press
events.

The device has EV_REP set, so the userspace expects the device to send
repeat events if a key is held down. However, as hidinput_hid_event()
sends release events immediately, repeat events are not sent at all. In
fact, the userspace has no way of knowing if a key is being held down.

Fix this by adding a quirk for 046d:c101 which changes relative keys to
absolute ones.

Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoMerge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Dmitry Torokhov [Sun, 5 Nov 2006 03:42:39 +0000 (22:42 -0500)]
Merge /pub/scm/linux/kernel/git/torvalds/linux-2.6

17 years agoInput: drivers/char/keyboard.c - small cleanup in k_cur()
Brandon Philips [Sun, 5 Nov 2006 03:09:08 +0000 (22:09 -0500)]
Input: drivers/char/keyboard.c - small cleanup in k_cur()

To save a char pointer in the final assembly change to alternate string
form.

Signed-off-by: Brandon Philips <brandon@ifup.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoMake sure "user->sigpending" count is in sync
Linus Torvalds [Sat, 4 Nov 2006 21:03:00 +0000 (13:03 -0800)]
Make sure "user->sigpending" count is in sync

The previous commit (45c18b0bb579b5c1b89f8c99f1b6ffa4c586ba08, aka "Fix
unlikely (but possible) race condition on task->user access") fixed a
potential oops due to __sigqueue_alloc() getting its "user" pointer out
of sync with switch_user(), and accessing a user pointer that had been
de-allocated on another CPU.

It still left another (much less serious) problem, where a concurrent
__sigqueue_alloc and swich_user could cause sigqueue_alloc to do signal
pending reference counting for a _different_ user than the one it then
actually ended up using.  No oops, but we'd end up with the wrong signal
accounting.

Another case of Oleg's eagle-eyes picking up the problem.

This is trivially fixed by just making sure we load whichever "user"
structure we decide to use (it doesn't matter _which_ one we pick, we
just need to pick one) just once.

Acked-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Andrew Morton <akpm@osdl.org>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years agoFix unlikely (but possible) race condition on task->user access
Linus Torvalds [Sat, 4 Nov 2006 18:06:02 +0000 (10:06 -0800)]
Fix unlikely (but possible) race condition on task->user access

There's a possible race condition when doing a "switch_uid()" from one
user to another, which could race with another thread doing a signal
allocation and looking at the old thread ->user pointer as it is freed.

This explains an oops reported by Lukasz Trabinski:
http://permalink.gmane.org/gmane.linux.kernel/462241

We fix this by delaying the (reference-counted) freeing of the user
structure until the thread signal handler lock has been released, so
that we know that the signal allocation has either seen the new value or
has properly incremented the reference count of the old one.

Race identified by Oleg Nesterov.

Cc: Lukasz Trabinski <lukasz@wsisiz.edu.pl>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Andrew Morton <akpm@osdl.org>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years agoRevert unintentional "volatile" changes in ipc/msg.c
Linus Torvalds [Sat, 4 Nov 2006 17:55:00 +0000 (09:55 -0800)]
Revert unintentional "volatile" changes in ipc/msg.c

Commit 5a06a363ef48444186f18095ae1b932dddbbfa89 ("[PATCH] ipc/msg.c:
clean up coding style") breaks fakeroot on Alpha (variously hangs or
oopses), according to a report by Falk Hueffner.

The fact that the code seems to rely on compiler access ordering through
the use of "volatile" is a pretty certain sign that the code has locking
problems, and we should fix those properly and then remove the whole
"volatile" entirely.

But in the meantime, the movement of "volatile" was unintentional, and
should be reverted.

Cc: Falk Hueffner <falk@debian.org>
Cc: Andrew Morton <akpm@osdl.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] splice: fix problem introduced with inode diet
Jens Axboe [Sat, 4 Nov 2006 11:49:32 +0000 (12:49 +0100)]
[PATCH] splice: fix problem introduced with inode diet

After the inode slimming patch that unionised i_pipe/i_bdev/i_cdev, it's
no longer enough to check for existance of ->i_pipe to verify that this
is a pipe.

Original patch from Eric Dumazet <dada1@cosmosbay.com>
Final solution suggested by Linus.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy...
Linus Torvalds [Sat, 4 Nov 2006 16:11:20 +0000 (08:11 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/shaggy/jfs-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:
  JFS: Remove redundant xattr permission checking

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6
Linus Torvalds [Fri, 3 Nov 2006 20:28:45 +0000 (12:28 -0800)]
Merge /pub/scm/linux/kernel/git/gregkh/pci-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6:
  PCI: Let PCI_MULTITHREAD_PROBE depend on BROKEN
  PCI: Revert "PCI: i386/x86_84: disable PCI resource decode on device disable"

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Fri, 3 Nov 2006 20:28:27 +0000 (12:28 -0800)]
Merge /pub/scm/linux/kernel/git/gregkh/usb-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6:
  USB: use MII hooks only if CONFIG_MII is enabled
  USB Storage: unusual_devs.h entry for Sony Ericsson P990i
  USB: xpad: additional USB id's added
  USB: fix compiler issues with newer gcc versions
  USB: HID: add blacklist AIRcable USB, little beautification
  USB: usblp: fix system suspend for some systems
  USB: failure in usblp's error path
  usbtouchscreen: use endpoint address from endpoint descriptor
  USB: sierra: Fix id for Sierra Wireless MC8755 in new table
  USB: new VID/PID-combos for cp2101
  hid-core: big-endian fix fix
  USB: usb-storage: Unusual_dev update
  USB: add another sierra wireless device id

17 years ago[PATCH] Fix user.* xattr permission check for sticky dirs
Andreas Gruenbacher [Fri, 3 Nov 2006 06:07:29 +0000 (22:07 -0800)]
[PATCH] Fix user.* xattr permission check for sticky dirs

The user.* extended attributes are only allowed on regular files and
directories.  Sticky directories further restrict write access to the owner
and privileged users.  (See the attr(5) man page for an explanation.)

The original check in ext2/ext3 when user.* xattrs were merged was more
restrictive than intended, and when the xattr permission checks were moved
into the VFS, read access to user.* attributes on sticky directores ended
up being denied in addition.

Originally-from: Gerard Neil <xyzzy@devferret.org>
Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Cc: Dave Kleikamp <shaggy@austin.ibm.com>
Cc: Jan Engelhardt <jengelh@linux01.gwdg.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] Fix sys_move_pages when a NULL node list is passed
Stephen Rothwell [Fri, 3 Nov 2006 06:07:28 +0000 (22:07 -0800)]
[PATCH] Fix sys_move_pages when a NULL node list is passed

sys_move_pages() uses vmalloc() to allocate an array of structures that is
fills with information passed from user mode and then passes to
do_stat_pages() (in the case the node list is NULL).  do_stat_pages()
depends on a marker in the node field of the structure to decide how large
the array is and this marker is correctly inserted into the last element of
the array.  However, vmalloc() doesn't zero the memory it allocates and if
the user passes NULL for the node list, then the node fields are not filled
in (except for the end marker).  If the memory the vmalloc() returned
happend to have a word with the marker value in it in just the right place,
do_pages_stat will fail to fill the status field of part of the array and
we will return (random) kernel data to user mode.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Christoph Lameter <clameter@engr.sgi.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] IDE: Add the support of nvidia PATA controllers of MCP67 to amd74xx.c
Peer Chen [Fri, 3 Nov 2006 06:07:27 +0000 (22:07 -0800)]
[PATCH] IDE: Add the support of nvidia PATA controllers of MCP67 to amd74xx.c

Add support for PATA controllers of MCP67 to amd74xx.c.

Signed-off-by: Peer Chen <pchen@nvidia.com>
Cc: Jeff Garzik <jeff@garzik.org>
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] fix Documentation/accounting/getdelays.c buf size
Oleg Nesterov [Fri, 3 Nov 2006 06:07:26 +0000 (22:07 -0800)]
[PATCH] fix Documentation/accounting/getdelays.c buf size

getdelays reports a "fatal reply error, errno 258". We don't have enough room
for multi-threaded exit (PID + TGID).

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Balbir Singh <balbir@in.ibm.com>
Cc: Shailabh Nagar <nagar@watson.ibm.com>
Cc: Jay Lan <jlan@engr.sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] drivers/isdn/hysdn/hysdn_sched.c: sleep after taking spinlock fix
Amol Lad [Fri, 3 Nov 2006 06:07:25 +0000 (22:07 -0800)]
[PATCH] drivers/isdn/hysdn/hysdn_sched.c: sleep after taking spinlock fix

spin_lock_irq{save,restore} is incorrectly called here (the function can
sleep after acquring the lock).

done the necessary corrections and removed unwanted cli/sti.

Signed-off-by: Amol Lad <amol@verismonetworks.com>
Signed-off-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] powerpc: wire up sys_migrate_pages
Stephen Rothwell [Fri, 3 Nov 2006 06:07:24 +0000 (22:07 -0800)]
[PATCH] powerpc: wire up sys_migrate_pages

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] Create compat_sys_migrate_pages
Stephen Rothwell [Fri, 3 Nov 2006 06:07:24 +0000 (22:07 -0800)]
[PATCH] Create compat_sys_migrate_pages

This is needed on bigendian 64bit architectures.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] uml: include tidying
Jeff Dike [Fri, 3 Nov 2006 06:07:23 +0000 (22:07 -0800)]
[PATCH] uml: include tidying

In order to get the __NR_* constants, we need sys/syscall.h.
linux/unistd.h works as well since it includes syscall.h, however syscall.h
is more parsimonious.  We were inconsistent in this, and this patch adds
syscall.h includes where necessary and removes linux/unistd.h includes
where they are not needed.

asm/unistd.h also includes the __NR_* constants, but these are not the
glibc-sanctioned ones, so this also removes one such inclusion.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] uml: fix I/O hang
Jeff Dike [Fri, 3 Nov 2006 06:07:22 +0000 (22:07 -0800)]
[PATCH] uml: fix I/O hang

Fix a UML hang in which everything would just stop until some I/O happened
- a ping, someone whacking the keyboard - at which point everything would
start up again as though nothing had happened.

The cause was gcc reordering some code which absolutely needed to be
executed in the order in the source.  When unblock_signals switches signals
from off to on, it needs to see if any interrupts had happened in the
critical section.  The interrupt handlers check signals_enabled - if it is
zero, then the handler adds a bit to the "pending" bitmask and returns.
unblock_signals checks this mask to see if any signals need to be
delivered.

The crucial part is this:
signals_enabled = 1;
save_pending = pending;
if(save_pending == 0)
return;
pending = 0;

In order to avoid an interrupt arriving between reading pending and setting
it to zero, in which case, the record of the interrupt would be erased,
signals are enabled.

What happened was that gcc reordered this so that 'save_pending = pending'
came before 'signals_enabled = 1', creating a one-instruction window within
which an interrupt could arrive, set its bit in pending, and have it be
immediately erased.

When the I/O workload is purely disk-based, the loss of a block device
interrupt stops the entire I/O system because the next block request will
wait for the current one to finish.  Thus the system hangs until something
else causes some I/O to arrive, such as a network packet or console input.

The fix to this particular problem is a memory barrier between enabling
signals and reading the pending signal mask.  An xchg would also probably
work.

Looking over this code for similar problems led me to do a few more
things:

- make signals_enabled and pending volatile so that they don't get cached
  in registers

- add an mb() to the return paths of block_signals and unblock_signals so
  that the modification of signals_enabled doesn't get shuffled into the
  caller in the event that these are inlined in the future.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] reiserfs: reset errval after initializing bitmap cache
Jeff Mahoney [Fri, 3 Nov 2006 06:07:20 +0000 (22:07 -0800)]
[PATCH] reiserfs: reset errval after initializing bitmap cache

Callers after reiserfs_init_bitmap_cache() expect errval to contain -EINVAL
until much later.  If a condition fails before errval is reset later,
reiserfs_fill_super() will mistakenly return 0, causing an Oops in
do_add_mount().  This patch resets errval to -EINVAL after the call.

I view this as a temporary fix and real error codes should be used
throughout reiserfs_fill_super().

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] spi section fix
Andrew Morton [Fri, 3 Nov 2006 06:07:20 +0000 (22:07 -0800)]
[PATCH] spi section fix

WARNING: vmlinux - Section mismatch: reference to .init.text:spi_register_board_info from __ksymtab_gpl between '__ksymtab_spi_register_board_info' (at offset 0xc032f7d0) and '__ksymtab_spi_alloc_master'

Fix this by removing the export.

Acked-by: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] swsusp: debugging
Rafael J. Wysocki [Fri, 3 Nov 2006 06:07:19 +0000 (22:07 -0800)]
[PATCH] swsusp: debugging

Add a swsusp debugging mode.  This does everything that's needed for a suspend
except for actually suspending.  So we can look in the log messages and work
out a) what code is being slow and b) which drivers are misbehaving.

(1)
# echo testproc > /sys/power/disk
# echo disk > /sys/power/state

This should turn off the non-boot CPU, freeze all processes, wait for 5
seconds and then thaw the processes and the CPU.

(2)
# echo test > /sys/power/disk
# echo disk > /sys/power/state

This should turn off the non-boot CPU, freeze all processes, shrink
memory, suspend all devices, wait for 5 seconds, resume the devices etc.

Cc: Pavel Machek <pavel@ucw.cz>
Cc: Stefan Seyfried <seife@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] acpi_noirq section fix
Andrew Morton [Fri, 3 Nov 2006 06:07:18 +0000 (22:07 -0800)]
[PATCH] acpi_noirq section fix

WARNING: vmlinux - Section mismatch: reference to .init.data:acpi_noirq from .text between 'pcibios_penalize_isa_irq' (at offset 0xc026ffa1) and 'pirq_serverworks_get'

Acked-by: "Brown, Len" <len.brown@intel.com>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] schedule removal of FUTEX_FD
Andrew Morton [Fri, 3 Nov 2006 06:07:17 +0000 (22:07 -0800)]
[PATCH] schedule removal of FUTEX_FD

Apparently FUTEX_FD is unfixably racy and nothing uses it (or if it does, it
shouldn't).

Add a warning printk, give any remaining users six months to migrate off it.

Cc: Ulrich Drepper <drepper@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] Add printk_timed_ratelimit()
Andrew Morton [Fri, 3 Nov 2006 06:07:16 +0000 (22:07 -0800)]
[PATCH] Add printk_timed_ratelimit()

printk_ratelimit() has global state which makes it not useful for callers
which wish to perform ratelimiting at a particular frequency.

Add a printk_timed_ratelimit() which utilises caller-provided state storage to
permit more flexibility.

This function can in fact be used for things other than printk ratelimiting
and is perhaps poorly named.

Cc: Ulrich Drepper <drepper@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] init_reap_node() initialization fix
Daniel Yeisley [Fri, 3 Nov 2006 06:07:14 +0000 (22:07 -0800)]
[PATCH] init_reap_node() initialization fix

It looks like there is a bug in init_reap_node() in slab.c that can cause
multiple oops's on certain ES7000 configurations.  The variable reap_node
is defined per cpu, but only initialized on a single CPU.  This causes an
oops in next_reap_node() when __get_cpu_var(reap_node) returns the wrong
value.  Fix is below.

Signed-off-by: Dan Yeisley <dan.yeisley@unisys.com>
Cc: Andi Kleen <ak@suse.de>
Acked-by: Christoph Lameter <clameter@engr.sgi.com>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Manfred Spraul <manfred@colorfullife.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] ipmi_si_intf.c sets bad class_mask with PCI_DEVICE_CLASS
Yvan Seth [Fri, 3 Nov 2006 06:07:13 +0000 (22:07 -0800)]
[PATCH] ipmi_si_intf.c sets bad class_mask with PCI_DEVICE_CLASS

Taken from http://bugzilla.kernel.org/show_bug.cgi?id=7439

It looks like device registration in drivers/char/ipmi/ipmi_si_intf.c was
cleaned up and a small error was made when setting the class_mask.  The fix
is simple as the correct mask value is defined in the code but is not used.

Acked-by: Corey Minyard <minyard@acm.org>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] NFS4: fix for recursive locking problem
Srinivasa Ds [Fri, 3 Nov 2006 06:07:12 +0000 (22:07 -0800)]
[PATCH] NFS4: fix for recursive locking problem

When I was performing some operations on NFS, I got below error on server
side.

  =============================================
  [ INFO: possible recursive locking detected ]
  2.6.19-prep #1
  ---------------------------------------------
  nfsd4/3525 is trying to acquire lock:
   (&inode->i_mutex){--..}, at: [<c0611e5a>] mutex_lock+0x21/0x24

  but task is already holding lock:
   (&inode->i_mutex){--..}, at: [<c0611e5a>] mutex_lock+0x21/0x24

  other info that might help us debug this:
  2 locks held by nfsd4/3525:
   #0:  (client_mutex){--..}, at: [<c0611e5a>] mutex_lock+0x21/0x24
   #1:  (&inode->i_mutex){--..}, at: [<c0611e5a>] mutex_lock+0x21/0x24

  stack backtrace:
   [<c04051ed>] show_trace_log_lvl+0x58/0x16a
   [<c04057fa>] show_trace+0xd/0x10
   [<c0405913>] dump_stack+0x19/0x1b
   [<c043b6f1>] __lock_acquire+0x778/0x99c
   [<c043be86>] lock_acquire+0x4b/0x6d
   [<c0611ceb>] __mutex_lock_slowpath+0xbc/0x20a
   [<c0611e5a>] mutex_lock+0x21/0x24
   [<c047fd7e>] vfs_rmdir+0x76/0xf8
   [<f94b7ce9>] nfsd4_clear_clid_dir+0x2c/0x41 [nfsd]
   [<f94b7de9>] nfsd4_remove_clid_dir+0xb1/0xe8 [nfsd]
   [<f94b307b>] laundromat_main+0x9b/0x1c3 [nfsd]
   [<c04333d6>] run_workqueue+0x7a/0xbb
   [<c0433d0b>] worker_thread+0xd2/0x107
   [<c0436285>] kthread+0xc3/0xf2
   [<c0402005>] kernel_thread_helper+0x5/0xb
  ===================================================================

Cause for this problem was,2 successive mutex_lock calls on 2 diffrent inodes ,as shown below

static int
nfsd4_clear_clid_dir(struct dentry *dir, struct dentry *dentry)
{
        int status;

        /* For now this directory should already be empty, but we empty it of
          * any regular files anyway, just in case the directory was created by
         * a kernel from the future.... */
         nfsd4_list_rec_dir(dentry, nfsd4_remove_clid_file);
        mutex_lock(&dir->d_inode->i_mutex);
        status = vfs_rmdir(dir->d_inode, dentry);
...

int vfs_rmdir(struct inode *dir, struct dentry *dentry)
{
        int error = may_delete(dir, dentry, 1);

        if (error)
                return error;

        if (!dir->i_op || !dir->i_op->rmdir)
                 return -EPERM;

        DQUOT_INIT(dir);

        mutex_lock(&dentry->d_inode->i_mutex);
...

So I have developed the patch to overcome this problem.

Signed-off-by: Srinivasa DS <srinivasa@in.ibm.com>
Cc: Neil Brown <neilb@suse.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] edac_mc: fix error handling
Akinobu Mita [Fri, 3 Nov 2006 06:07:10 +0000 (22:07 -0800)]
[PATCH] edac_mc: fix error handling

Call sysdev_class_unregister() on failure in edac_sysfs_memctrl_setup()
and decrease identation level for clear logic.

Acked-by: Doug Thompson <norsk5@xmission.com>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] gfs2: ->readpages() fixes
OGAWA Hirofumi [Fri, 3 Nov 2006 06:07:10 +0000 (22:07 -0800)]
[PATCH] gfs2: ->readpages() fixes

This just ignore the remaining pages, and remove unneeded unlock_pages().

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Cc: Steven French <sfrench@us.ibm.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>
Acked-by: Steven Whitehouse <swhiteho@redhat.com>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] fuse: ->readpages() cleanup
OGAWA Hirofumi [Fri, 3 Nov 2006 06:07:09 +0000 (22:07 -0800)]
[PATCH] fuse: ->readpages() cleanup

This just ignore the remaining pages.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Cc: Steven French <sfrench@us.ibm.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>
Cc: Steven Whitehouse <swhiteho@redhat.com>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] cifs: ->readpages() fixes
OGAWA Hirofumi [Fri, 3 Nov 2006 06:07:08 +0000 (22:07 -0800)]
[PATCH] cifs: ->readpages() fixes

This just ignore the remaining pages, and will fix a forgot put_pages_list().

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Cc: Steven French <sfrench@us.ibm.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>
Cc: Steven Whitehouse <swhiteho@redhat.com>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] Cleanup read_pages()
OGAWA Hirofumi [Fri, 3 Nov 2006 06:07:06 +0000 (22:07 -0800)]
[PATCH] Cleanup read_pages()

Current read_pages() assume ->readpages() frees the passed pages.

This patch free the pages in ->read_pages(), if those were remaining in the
pages_list.  So, readpages() just can ignore the remaining pages in
pages_list.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Cc: Steven French <sfrench@us.ibm.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>
Cc: Steven Whitehouse <swhiteho@redhat.com>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] lkdtm: cleanup headers and module_param/MODULE_PARM_DESC
Randy Dunlap [Fri, 3 Nov 2006 06:07:06 +0000 (22:07 -0800)]
[PATCH] lkdtm: cleanup headers and module_param/MODULE_PARM_DESC

Fix module_param/sysfs file permission typo.

Clean up MODULE_PARM_DESC strings to avoid fancy (and incorrect)
formatting.

Fix header includes for lkdtm; add some needed ones, remove unused ones;
and fix this gcc warning:
drivers/misc/lkdtm.c:150: warning: 'struct buffer_head' declared inside parameter list
drivers/misc/lkdtm.c:150: warning: its scope is only this definition or declaration, which is probably not what you want

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Ankita Garg <ankita@in.ibm.com>
Cc: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] fix UFS superblock alignment issues
Eric Sandeen [Fri, 3 Nov 2006 06:07:05 +0000 (22:07 -0800)]
[PATCH] fix UFS superblock alignment issues

ufs2 fails to mount on x86_64, claiming bad magic.  This is because
ufs_super_block_third's fs_un1 member is padded out by 4 bytes for 8-byte
alignment, pushing down the rest of the struct.

Forcing this to be packed solves it.  I took a quick look over other
on-disk structures and didn't immediately find other problems.  I was able
to mount & ls a populated ufs2 filesystem w/ this change.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Cc: Evgeniy Dushistov <dushistov@mail.ru>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] mm: un-needed add-store operation wastes a few bytes
nkalmala [Fri, 3 Nov 2006 06:07:04 +0000 (22:07 -0800)]
[PATCH] mm: un-needed add-store operation wastes a few bytes

Un-needed add-store operation wastes a few bytes.
8 bytes wasted with -O2, on a ppc.

Signed-off-by: nkalmala <nkalmala@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] Fix ipc entries removal
Pavel Emelianov [Fri, 3 Nov 2006 06:07:03 +0000 (22:07 -0800)]
[PATCH] Fix ipc entries removal

Fix two issuses related to ipc_ids->entries freeing.

1. When freeing ipc namespace we need to free entries allocated
   with ipc_init_ids().

2. When removing old entries in grow_ary() ipc_rcu_putref()
   may be called on entries set to &ids->nullentry earlier in
   ipc_init_ids().
   This is almost impossible without namespaces, but with
   them this situation becomes possible.

Found during OpenVZ testing after obvious leaks in beancounters.

Signed-off-by: Pavel Emelianov <xemul@openvz.org>
Cc: Kirill Korotaev <dev@openvz.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] docbook: merge journal-api into filesystems.tmpl
Randy Dunlap [Fri, 3 Nov 2006 06:07:02 +0000 (22:07 -0800)]
[PATCH] docbook: merge journal-api into filesystems.tmpl

Move journal-api into filesystems.tmpl as a Chapter.  Applies on top of the
previous docbook: make a filesystems book patch.

Remove trailing whitespace from journal-api chapter.  Align some of the
tags.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] update some docbook comments
Randy Dunlap [Fri, 3 Nov 2006 06:07:01 +0000 (22:07 -0800)]
[PATCH] update some docbook comments

Correct a few comments in kernel-doc Doc and source files.

(akpm: note: the patch removes a non-ascii character and might have to be
applied by hand..)

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] sys_pselect7 vs compat_sys_pselect7 uaccess error handling
Heiko Carstens [Fri, 3 Nov 2006 06:06:58 +0000 (22:06 -0800)]
[PATCH] sys_pselect7 vs compat_sys_pselect7 uaccess error handling

758333458aa719bfc26ec16eafd4ad3a9e96014d fixes the not checked copy_to_user
return value of compat_sys_pselect7.  I ran into this too because of an old
source tree, but my fix would look quite a bit different to Andi's fix.

The reason is that the compat function IMHO should behave the very same as
the non-compat function if possible.  Since sys_pselect7 does not return
-EFAULT in this specific case, change the compat code so it behaves like
sys_pselect7.

Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] md: send online/offline uevents when an md array starts/stops
NeilBrown [Fri, 3 Nov 2006 06:06:57 +0000 (22:06 -0800)]
[PATCH] md: send online/offline uevents when an md array starts/stops

This allows udev to do something intelligent when an array becomes
available.

Acked-by: Greg KH <greg@kroah.com>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] tidy "md: check bio address after mapping through partitions"
Andrew Morton [Fri, 3 Nov 2006 06:06:56 +0000 (22:06 -0800)]
[PATCH] tidy "md: check bio address after mapping through partitions"

Neil's xterms are too wide.

Cc: Neil Brown <neilb@cse.unsw.edu.au>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years ago[PATCH] eCryptfs: Fix pointer deref
Michael Halcrow [Fri, 3 Nov 2006 06:06:56 +0000 (22:06 -0800)]
[PATCH] eCryptfs: Fix pointer deref

I missed a pointer dereference in this kmalloc result check.

Signed-off-by: Michael Halcrow <mhalcrow@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
17 years agoUSB: use MII hooks only if CONFIG_MII is enabled
David Brownell [Thu, 2 Nov 2006 20:29:12 +0000 (12:29 -0800)]
USB: use MII hooks only if CONFIG_MII is enabled

Fix mcs7830 patch

The recent mcs7830 update to make the MII support sharable goofed various
pre-existing configurations in two ways:

  - it made the usbnet infrastructure reference MII symbols even
    when they're not needed in the kernel being built

  - it didn't enable MII along with the mcs7830 minidriver

This patch fixes these two problems.

However, there does seem to be a Kconfig reverse dependency bug in that MII
gets wrongly enabled in some cases (like USBNET=y and USBNET_MII=n); I think
I've noticed that same problem in other situations too.  So the result can
mean kernels being bloated by stuff that's needlessly enabled ... better
than wrongly being disabled, but contributing to bloat.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB Storage: unusual_devs.h entry for Sony Ericsson P990i
Jan Mate [Fri, 20 Oct 2006 21:51:44 +0000 (14:51 -0700)]
USB Storage: unusual_devs.h entry for Sony Ericsson P990i

USB Storage: this patch adds support for Sony Ericsson P990i

Signed-off-by: Jan Mate <mate@fiit.stuba.sk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: xpad: additional USB id's added
Dominic Cerquetti [Fri, 20 Oct 2006 21:51:45 +0000 (14:51 -0700)]
USB: xpad: additional USB id's added

Adding additional USB vendor/product ID's for XBOX pads provided by the
XBOX Linux team.

Signed-off-by: Dominic Cerquetti <binary1230@yahoo.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: fix compiler issues with newer gcc versions
David Brownell [Wed, 1 Nov 2006 22:26:26 +0000 (14:26 -0800)]
USB: fix compiler issues with newer gcc versions

Remove complaint from newer GCCs; they don't like forward function
declarations except in top-level contexts.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: HID: add blacklist AIRcable USB, little beautification
Naranjo Manuel Francisco [Fri, 27 Oct 2006 19:08:54 +0000 (16:08 -0300)]
USB: HID: add blacklist AIRcable USB, little beautification

This patch add AIRcable USBto USB-HID blacklist, makes some little
changes things in the Kconfig to make AIRcable USB look as all the rest
of drivers. And it removes the readme part that was on
Documentation/usb/usb-serial.txt because it is not needed anymore.

Signed-off-by: Naranjo Manuel Francisco <naranjo.manuel@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: usblp: fix system suspend for some systems
Oliver Neukum [Sat, 28 Oct 2006 16:07:25 +0000 (18:07 +0200)]
USB: usblp: fix system suspend for some systems

this has been confirmed to fix suspend problems with usblp.

Signed-off-by: Oliver Neukum <oliver@neukum.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: failure in usblp's error path
Oliver Neukum [Sat, 28 Oct 2006 09:36:59 +0000 (11:36 +0200)]
USB: failure in usblp's error path

if urb submission fails due to a transient error here eg. ENOMEM
, the driver is dead. This fixes it.

Regards
Oliver

Signed-off-by: Oliver Neukum <oliver@neukum.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agousbtouchscreen: use endpoint address from endpoint descriptor
Daniel Ritz [Fri, 27 Oct 2006 20:46:03 +0000 (22:46 +0200)]
usbtouchscreen: use endpoint address from endpoint descriptor

use the endpoint address from the endpoint descriptor instead of the hardcoding
it to 0x81. at least some ITM based screen use a different address and don't work
without this.

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Cc: Ralf Lehmann <ralf@lehmann.cc>
Cc: J.P. Delport <jpdelport@csir.co.za>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: sierra: Fix id for Sierra Wireless MC8755 in new table
Jan Luebbe [Fri, 27 Oct 2006 16:59:24 +0000 (18:59 +0200)]
USB: sierra: Fix id for Sierra Wireless MC8755 in new table

The new version of sierra.c has introduced tables for the 1 port and 3
port variants. The device id i added in my last patch needs to be added
to the 3 port table.

Signed-off-by: Jan Luebbe <jluebbe@lasnet.de>
Cc: Kevin Lloyd <linux@sierrawireless.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: new VID/PID-combos for cp2101
Bjorn Schneider [Sat, 28 Oct 2006 10:42:04 +0000 (12:42 +0200)]
USB: new VID/PID-combos for cp2101

3 new VID/PID combinations (registered with Silicon Laboratories Inc.)
added for devices made by Lipowsky Industrie Elektronik GmbH all using
the CP2102 usb-to-serial converter (Baby-JTAG, Baby-LIN, HARP-1).

Signed-off-by: Bjorn Schneider <schneider@lipowsky.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agohid-core: big-endian fix fix
Grant Grundler [Thu, 19 Oct 2006 22:09:51 +0000 (15:09 -0700)]
hid-core: big-endian fix fix

Adam Kropelin had posted 32-bit fix in June 2005 about two weeks after I
originally had posted my fixes for big endian support.  Adam has a UPS
device which reports LINEV using 32-bits.

Added comments to describe the limitations of the code.

extract() is the same version I posted earlier and tested in user space.
Made similar changes to implement() routine.  I've written (and will
shortly post) a test for implement().  Code tested on C3600 (parisc) with
USB keyboard/mouse attached.

I've dropped test_implement.c and a few other user space test programs on
http://iou.parisc-linux.org/~grundler/tests/

-rw-r--r-- 1 grundler grundler 1750 Oct 18 09:13 test_extract.c
-rw-r--r-- 1 grundler grundler  561 Jan 25  2006 test_ffs.c
-rw-r--r-- 1 grundler users    7175 Apr  8  2005 test_fls.c
-rw-r--r-- 1 grundler grundler  206 Sep  1 15:52 test_gettimeofday.c
-rw-r--r-- 1 grundler grundler 1886 Oct 19 09:20 test_implement.c
-rw-r--r-- 1 grundler users    2707 Jun  4  2005 test_unaligned.c

I would appreciate if someone else would look at the output of
test_implement.c to make it does The Right Thing.

Signed-off-by: Grant Grundler <grundler@parisc-linux.org>
Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Dmitry Torokhov <dtor@mail.ru>
Acked-By: Adam Kropelin <akropel1@rochester.rr.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoUSB: usb-storage: Unusual_dev update
Phil Dibowitz [Thu, 19 Oct 2006 07:11:17 +0000 (00:11 -0700)]
USB: usb-storage: Unusual_dev update

The protocol in this entry is needed for some versions of the device but
not others. This adds the NEED_OVERRIDE flag to prevent it complaining
to users who don't need it.

Signed-off-by: Phil Dibowitz <phil@ipom.com>
17 years agoUSB: add another sierra wireless device id
Greg Kroah-Hartman [Tue, 9 Apr 2002 19:14:34 +0000 (12:14 -0700)]
USB: add another sierra wireless device id

As reported by Peter Kucmeroski and Jason Ganovsky.

Cc: Peter Kucmeroski <PKucmeroski@novell.com>
Cc: Jason Ganovsky <JGanovsky@novell.com>
Cc: Kevin Lloyd <klloyd@sierrawireless.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoPCI: Let PCI_MULTITHREAD_PROBE depend on BROKEN
Adrian Bunk [Fri, 27 Oct 2006 23:12:30 +0000 (16:12 -0700)]
PCI: Let PCI_MULTITHREAD_PROBE depend on BROKEN

PCI_MULTITHREAD_PROBE is an interesting feature, but in its current state
it seems to be more of a trap for users who accidentally enable it.

This patch lets PCI_MULTITHREAD_PROBE depend on BROKEN for 2.6.19.

The intention is to get this patch reversed in -mm as soon as it's in
Linus' tree, and reverse it for 2.6.20 or 2.6.21 after the fallout of
in-kernel problems PCI_MULTITHREAD_PROBE causes got fixed.

(akpm: I get enough bug reports already)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoPCI: Revert "PCI: i386/x86_84: disable PCI resource decode on device disable"
Greg Kroah-Hartman [Fri, 3 Nov 2006 07:02:24 +0000 (23:02 -0800)]
PCI: Revert "PCI: i386/x86_84: disable PCI resource decode on device disable"

This reverts commit 53e4d30dd666d7f83598957ee4a415eefb47c9a6.

It was found that it caused unneeded problems (see
http://bugzilla.kernel.org/show_bug.cgi?id=7082 for details of one such
issue.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
17 years agoInput: logips2pp - handle sysfs errors
Jeff Garzik [Fri, 3 Nov 2006 04:59:40 +0000 (23:59 -0500)]
Input: logips2pp - handle sysfs errors

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: trackpoint - handle sysfs errors
Jeff Garzik [Fri, 3 Nov 2006 04:59:30 +0000 (23:59 -0500)]
Input: trackpoint - handle sysfs errors

Also use kzalloc instead of kcalloc since we are allocating single object.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: ads7846 - handle errors from sysfs
Dmitry Torokhov [Fri, 3 Nov 2006 04:34:09 +0000 (23:34 -0500)]
Input: ads7846 - handle errors from sysfs

Add sysfs error handling and switch to using attribute groups
to simplify it.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: i8042 - remove unneeded call to i8042_interrupt()
Dmitry Torokhov [Fri, 3 Nov 2006 04:27:49 +0000 (23:27 -0500)]
Input: i8042 - remove unneeded call to i8042_interrupt()

Remove call to i8042_interrupt() from i8042_aux_write(). According
to Vojtech it may cause problems with older controllers if it is
called right after real interrupt. Also it is not needed anymore
since we register IRQs early and not waiting for serio ports to
be opened.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: lifebook - learn about hard tabs
Andrew Morton [Fri, 3 Nov 2006 04:27:44 +0000 (23:27 -0500)]
Input: lifebook - learn about hard tabs

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: lifebook - add Hitachi Flora-IE 55mi tablet DMI signature
Greg Chandler [Fri, 3 Nov 2006 04:27:38 +0000 (23:27 -0500)]
Input: lifebook - add Hitachi Flora-IE 55mi tablet DMI signature

This adds another DMI detected touchscreen.  It is exactly the same
driver as the existing ones, but this allows it to be detected on the
Hitachi Flora-IE 55mi tablet.  The original Midori drivers are "abeo
antiquus".  This should allow new life for these machines.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: gameport - rearrange gameport_bus initialization
Dmitry Torokhov [Fri, 3 Nov 2006 04:27:30 +0000 (23:27 -0500)]
Input: gameport - rearrange gameport_bus initialization

Initialize gameport_bus structure at compile time instead of at runtime
in gameport_init().

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: serio - rearrange serio_bus initialization
Marton Nemeth [Fri, 3 Nov 2006 04:27:21 +0000 (23:27 -0500)]
Input: serio - rearrange serio_bus initialization

Initialize serio_bus structure at compile time instead of at runtime
in serio_init().

Signed-off-by: Marton Nemeth <nm127@freemail.hu>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: lightning - return proper error codes from l4_init()
Akinobu Mita [Fri, 3 Nov 2006 04:27:11 +0000 (23:27 -0500)]
Input: lightning - return proper error codes from l4_init()

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoInput: add comments to input_{allocate|free}_device()
Dmitry Torokhov [Fri, 3 Nov 2006 04:26:55 +0000 (23:26 -0500)]
Input: add comments to input_{allocate|free}_device()

Hopefully this will stop people from using input_free_device()
incorrectly.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
17 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Fri, 3 Nov 2006 01:23:13 +0000 (17:23 -0800)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  pci_ids.h: Add NVIDIA PCI ID

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
Linus Torvalds [Fri, 3 Nov 2006 01:22:24 +0000 (17:22 -0800)]
Merge git://git./linux/kernel/git/sfrench/cifs-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
  [CIFS] report rename failure when target file is locked by Windows
  [CIFS] Allow null user connections
  [CIFS] Fix readdir breakage when blocksize set too small

17 years agopci_ids.h: Add NVIDIA PCI ID
Peer Chen [Thu, 2 Nov 2006 23:55:48 +0000 (18:55 -0500)]
pci_ids.h: Add NVIDIA PCI ID

Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[libata] Add support for AHCI controllers of MCP67.
Peer Chen [Thu, 2 Nov 2006 22:59:46 +0000 (17:59 -0500)]
[libata] Add support for AHCI controllers of MCP67.

Signed-off-by: Peer Chen <pchen@nvidia.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[libata] Add support for PATA controllers of MCP67 to pata_amd.c.
Peer Chen [Thu, 2 Nov 2006 22:58:21 +0000 (17:58 -0500)]
[libata] Add support for PATA controllers of MCP67 to pata_amd.c.

Signed-off-by: Peer Chen <pchen@nvidia.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoMerge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
Linus Torvalds [Thu, 2 Nov 2006 22:36:05 +0000 (14:36 -0800)]
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband

* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
  RDMA/addr: Use client registration to fix module unload race
  IB/mthca: Fix MAD extended header format for MAD_IFC firmware command
  IB/uverbs: Return sq_draining value in query_qp response
  IB/amso1100: Fix incorrect pr_debug()
  IB/amso1100: Use dma_alloc_coherent() instead of kmalloc/dma_map_single
  IB/ehca: Fix eHCA driver compilation for uniprocessor
  RDMA/cma: rdma_bind_addr() leaks a cma_dev reference count
  IB/iser: Start connection after enabling iSER

17 years agoRDMA/addr: Use client registration to fix module unload race
Sean Hefty [Tue, 31 Oct 2006 19:12:59 +0000 (11:12 -0800)]
RDMA/addr: Use client registration to fix module unload race

Require registration with ib_addr module to prevent caller from
unloading while a callback is in progress.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
17 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Thu, 2 Nov 2006 18:14:37 +0000 (10:14 -0800)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] Do not use -msym32 option for modules.
  [MIPS] Don't use R10000 llsc workaround version for all llsc-full processors.
  [MIPS] Ocelot G: Fix : "CURRENTLY_UNUSED" is not defined warning.
  [MIPS] Fix warning about init_initrd() call if !CONFIG_BLK_DEV_INITRD.
  [MIPS] IP27: Allow SMP ;-)  Another changeset messed up by patch.
  [MIPS] Fix merge screwup by patch(1)
  Revert "[MIPS] Make SPARSEMEM selectable on QEMU."

17 years ago[MIPS] Do not use -msym32 option for modules.
Atsushi Nemoto [Tue, 10 Oct 2006 13:13:55 +0000 (22:13 +0900)]
[MIPS] Do not use -msym32 option for modules.

On 64-bit kernel, modules are loaded into XKSEG for now.  While XKSEG
address is not a sign-extended 32-bit address, we can not use -msym32
option.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Don't use R10000 llsc workaround version for all llsc-full processors.
Ralf Baechle [Fri, 13 Oct 2006 10:32:50 +0000 (11:32 +0100)]
[MIPS] Don't use R10000 llsc workaround version for all llsc-full processors.

Found and original patch by bile@landofbile.com.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Ocelot G: Fix : "CURRENTLY_UNUSED" is not defined warning.
Ralf Baechle [Mon, 30 Oct 2006 12:48:04 +0000 (12:48 +0000)]
[MIPS] Ocelot G: Fix : "CURRENTLY_UNUSED" is not defined warning.

  CC      arch/mips/momentum/ocelot_g/gt-irq.o
arch/mips/momentum/ocelot_g/gt-irq.c:30:5: warning: "CURRENTLY_UNUSED" is not defined
arch/mips/momentum/ocelot_g/gt-irq.c:199:5: warning: "CURRENTLY_UNUSED" is not defined

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Fix warning about init_initrd() call if !CONFIG_BLK_DEV_INITRD.
Ralf Baechle [Fri, 13 Oct 2006 10:22:52 +0000 (11:22 +0100)]
[MIPS] Fix warning about init_initrd() call if !CONFIG_BLK_DEV_INITRD.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] IP27: Allow SMP ;-) Another changeset messed up by patch.
Ralf Baechle [Thu, 2 Nov 2006 17:23:33 +0000 (17:23 +0000)]
[MIPS] IP27: Allow SMP ;-)  Another changeset messed up by patch.

When lmo commit 4ef893e0515e8bf336dfbd200884f244869fbb43 was merged to
kernel.org as e73ea273ef87a04ff59fc368fa33333dca275dde patch happily
applied the IP27 segment to IP22.  f63f36c18b11e166d0f362ac04dbcd7e6ea23f9e
did fix the effects partially - and with a wrong log message.  Now fixed
for real (tm).

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years ago[MIPS] Fix merge screwup by patch(1)
Ralf Baechle [Thu, 2 Nov 2006 17:23:33 +0000 (17:23 +0000)]
[MIPS] Fix merge screwup by patch(1)

Patch happily applied an Ocelot G patch to Ocelot C when merging
linux-mips.org changeset 91ee9a801e65d2981dfe327d2519c7fc6ab02e6b into
kernel.org as 6ceb6d3ab2d402cea326320a4143db90a66fd216.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years agoRevert "[MIPS] Make SPARSEMEM selectable on QEMU."
Ralf Baechle [Thu, 2 Nov 2006 02:00:02 +0000 (02:00 +0000)]
Revert "[MIPS] Make SPARSEMEM selectable on QEMU."

This reverts commit 31473747bd441719f9f6a07385684dce547533e0.

Another amazing example of patch(1) messing up - lmo changeset
66e8560d11d02bcadc261498471831a6375ad046 was merged twice to kernel.org
and ended up doing this rubbish job.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
17 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy...
Linus Torvalds [Thu, 2 Nov 2006 16:51:26 +0000 (08:51 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/shaggy/jfs-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:
  jfs: Add splice support

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Thu, 2 Nov 2006 16:50:46 +0000 (08:50 -0800)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [NETFILTER]: silence a warning in ebtables
  [IPV6]: File the fingerprints off ah6->spi/esp6->spi
  [TCP]: Set default congestion control when no sysctl.
  [TIPC] net/tipc/port.c: fix NULL dereference

17 years agoJFS: Remove redundant xattr permission checking
Dave Kleikamp [Thu, 2 Nov 2006 16:50:40 +0000 (10:50 -0600)]
JFS: Remove redundant xattr permission checking

The vfs handles most permissions for setting and retrieving xattrs.
This patch removes a redundant and wrong check so that it won't override
the correct behavior which is being fixed in the vfs.

Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Thu, 2 Nov 2006 16:50:02 +0000 (08:50 -0800)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Fix futex_atomic_cmpxchg_inatomic implementation.

17 years ago[CIFS] report rename failure when target file is locked by Windows
Steve French [Thu, 2 Nov 2006 03:45:24 +0000 (03:45 +0000)]
[CIFS] report rename failure when target file is locked by Windows

Fixes Samba bugzilla bug # 4182

Rename by handle failures (retry after rename by path) were not
being returned back.

Signed-off-by: Steve French <sfrench@us.ibm.com>
17 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Thu, 2 Nov 2006 03:16:31 +0000 (19:16 -0800)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  Revert "[PATCH] Add 0x7110 piix to ata_piix.c"
  [libata] sata_nv: Add PCI IDs
  [PATCH] ahci: fix status register check in ahci_softreset

17 years agoRevert "[PATCH] Add 0x7110 piix to ata_piix.c"
Jeff Garzik [Thu, 2 Nov 2006 03:09:21 +0000 (22:09 -0500)]
Revert "[PATCH] Add 0x7110 piix to ata_piix.c"

This reverts commit f833229c96c0bf53c05995e4bd58709d9e9edd67:

According to reviewers and the lspci data provided in commit message
itself, PCI ID 0x7110 should not have been added to ata_piix.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[NETFILTER]: silence a warning in ebtables
Meelis Roos [Thu, 2 Nov 2006 02:07:27 +0000 (18:07 -0800)]
[NETFILTER]: silence a warning in ebtables

net/bridge/netfilter/ebtables.c: In function 'ebt_dev_check':
net/bridge/netfilter/ebtables.c:89: warning: initialization discards qualifiers from pointer target type

So make the char* a const char * and the warning is gone.

Signed-off-by: Meelis Roos <mroos@linux.ee>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Fix futex_atomic_cmpxchg_inatomic implementation.
David S. Miller [Thu, 2 Nov 2006 00:30:39 +0000 (16:30 -0800)]
[SPARC64]: Fix futex_atomic_cmpxchg_inatomic implementation.

I copied the logic from ll/sc arch implementations, but that
was wrong and makes no sense at all.  Just do a straight
compare-exchange instruction, just like x86.

Based upon bug reports from Dennis Gilmore and Fabio Massimo.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV6]: File the fingerprints off ah6->spi/esp6->spi
Al Viro [Wed, 1 Nov 2006 23:28:58 +0000 (15:28 -0800)]
[IPV6]: File the fingerprints off ah6->spi/esp6->spi

In theory these are opaque 32bit values.  However, we end up
allocating them sequentially in host-endian and stick unchanged
on the wire.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>