firefly-linux-kernel-4.4.55.git
18 years ago[PATCH] crash in aty128_set_lcd_enable() on PowerBook
Olaf Hering [Sat, 5 Aug 2006 19:13:59 +0000 (12:13 -0700)]
[PATCH] crash in aty128_set_lcd_enable() on PowerBook

Current Linus tree crashes in aty128_set_lcd_enable() because par->pdev
is NULL. This happens since at least a week. Call trace is:

aty128_set_lcd_enable
aty128fb_set_par
fbcon_init
visual_init
take_over_console
fbcon_takeover
notifier_call_chain
blocking_notifier_call_chain
register_framebuffer
aty128fb_probe
pci_device_probe
bus_for_each_dev
driver_attach
bus_add_driver
driver_register
__pci_register_driver
aty128fb_init
init
kernel_thread

- info->fix was assigned twice.

- par->vram_size is assigned in aty128_probe(), no need to redo it again
  in aty128_init()

- register_framebuffer() uses uninitialized struct members, move it past
  par->pdev assignment and past aty128_bl_init().

Signed-off-by: Olaf Hering <olh@suse.de>
Acked-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] ufs: handle truncated pages
Evgeniy Dushistov [Sat, 5 Aug 2006 19:13:57 +0000 (12:13 -0700)]
[PATCH] ufs: handle truncated pages

ufs_get_locked_page is called twice in ufs code, one time in ufs_truncate
path(we allocated last block), and another time when fragments are
reallocated.  In ideal world in the second case on allocation/free block
layer we should not know that things like `truncate' exists, but now with
such crutch like ufs_get_locked_page we can (or should?) skip truncated
pages.

Signed-off-by: Evgeniy Dushistov <dushistov@mail.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] ufs: ufs_get_locked_page() race fix
Evgeniy Dushistov [Sat, 5 Aug 2006 19:13:55 +0000 (12:13 -0700)]
[PATCH] ufs: ufs_get_locked_page() race fix

As discussed earlier:
http://lkml.org/lkml/2006/6/28/136
this patch fixes such issue:

`ufs_get_locked_page' takes page from cache
after that `vmtruncate' takes page and deletes it from cache
`ufs_get_locked_page' locks page, and reports about EIO error.

Also because of find_lock_page always return valid page or NULL, we have no
need to check it if page not NULL.

Signed-off-by: Evgeniy Dushistov <dushistov@mail.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] bug in futex unqueue_me
Christian Borntraeger [Sat, 5 Aug 2006 19:13:52 +0000 (12:13 -0700)]
[PATCH] bug in futex unqueue_me

This patch adds a barrier() in futex unqueue_me to avoid aliasing of two
pointers.

On my s390x system I saw the following oops:

Unable to handle kernel pointer dereference at virtual kernel address
0000000000000000
Oops: 0004 [#1]
CPU:    0    Not tainted
Process mytool (pid: 13613, task: 000000003ecb6ac0, ksp: 00000000366bdbd8)
Krnl PSW : 0704d00180000000 00000000003c9ac2 (_spin_lock+0xe/0x30)
Krnl GPRS: 00000000ffffffff 000000003ecb6ac0 0000000000000000 0700000000000000
           0000000000000000 0000000000000000 000001fe00002028 00000000000c091f
           000001fe00002054 000001fe00002054 0000000000000000 00000000366bddc0
           00000000005ef8c0 00000000003d00e8 0000000000144f91 00000000366bdcb8
Krnl Code: ba 4e 20 00 12 44 b9 16 00 3e a7 84 00 08 e3 e0 f0 88 00 04
Call Trace:
([<0000000000144f90>] unqueue_me+0x40/0xe4)
 [<0000000000145a0c>] do_futex+0x33c/0xc40
 [<000000000014643e>] sys_futex+0x12e/0x144
 [<000000000010bb00>] sysc_noemu+0x10/0x16
 [<000002000003741c>] 0x2000003741c

The code in question is:

static int unqueue_me(struct futex_q *q)
{
        int ret = 0;
        spinlock_t *lock_ptr;

        /* In the common case we don't take the spinlock, which is nice. */
 retry:
        lock_ptr = q->lock_ptr;
        if (lock_ptr != 0) {
                spin_lock(lock_ptr);
/*
                 * q->lock_ptr can change between reading it and
                 * spin_lock(), causing us to take the wrong lock.  This
                 * corrects the race condition.
[...]

and my compiler (gcc 4.1.0) makes the following out of it:

00000000000003c8 <unqueue_me>:
     3c8:       eb bf f0 70 00 24       stmg    %r11,%r15,112(%r15)
     3ce:       c0 d0 00 00 00 00       larl    %r13,3ce <unqueue_me+0x6>
                        3d0: R_390_PC32DBL      .rodata+0x2a
     3d4:       a7 f1 1e 00             tml     %r15,7680
     3d8:       a7 84 00 01             je      3da <unqueue_me+0x12>
     3dc:       b9 04 00 ef             lgr     %r14,%r15
     3e0:       a7 fb ff d0             aghi    %r15,-48
     3e4:       b9 04 00 b2             lgr     %r11,%r2
     3e8:       e3 e0 f0 98 00 24       stg     %r14,152(%r15)
     3ee:       e3 c0 b0 28 00 04       lg      %r12,40(%r11)
/* write q->lock_ptr in r12 */
     3f4:       b9 02 00 cc             ltgr    %r12,%r12
     3f8:       a7 84 00 4b             je      48e <unqueue_me+0xc6>
/* if r12 is zero then jump over the code.... */
     3fc:       e3 20 b0 28 00 04       lg      %r2,40(%r11)
/* write q->lock_ptr in r2 */
     402:       c0 e5 00 00 00 00       brasl   %r14,402 <unqueue_me+0x3a>
                        404: R_390_PC32DBL      _spin_lock+0x2
/* use r2 as parameter for spin_lock */

So the code becomes more or less:
if (q->lock_ptr != 0) spin_lock(q->lock_ptr)
instead of
if (lock_ptr != 0) spin_lock(lock_ptr)

Which caused the oops from above.
After adding a barrier gcc creates code without this problem:
[...] (the same)
     3ee:       e3 c0 b0 28 00 04       lg      %r12,40(%r11)
     3f4:       b9 02 00 cc             ltgr    %r12,%r12
     3f8:       b9 04 00 2c             lgr     %r2,%r12
     3fc:       a7 84 00 48             je      48c <unqueue_me+0xc4>
     400:       c0 e5 00 00 00 00       brasl   %r14,400 <unqueue_me+0x38>
                        402: R_390_PC32DBL      _spin_lock+0x2

As a general note, this code of unqueue_me seems a bit fishy. The retry logic
of unqueue_me only works if we can guarantee, that the original value of
q->lock_ptr is always a spinlock (Otherwise we overwrite kernel memory). We
know that q->lock_ptr can change. I dont know what happens with the original
spinlock, as I am not an expert with the futex code.

Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: Ingo Molnar <mingo@redhat.com>
Cc: Thomas Gleixner <tglx@timesys.com>
Signed-off-by: Christian Borntraeger <borntrae@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] disable debugging version of write_lock()
Andrew Morton [Sat, 5 Aug 2006 19:13:47 +0000 (12:13 -0700)]
[PATCH] disable debugging version of write_lock()

We've confirmed that the debug version of write_lock() can get stuck for long
enough to cause NMI watchdog timeouts and hence a crash.

We don't know why, yet.   Disable it for now.

Also disable the similar read_lock() code.  Just in case.

Thanks to Dave Olson <olson@unixfolk.com> for reporting and testing.

Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] drivers/edac/edac_mc.h must #include <linux/platform_device.h>
Adrian Bunk [Sat, 5 Aug 2006 19:13:45 +0000 (12:13 -0700)]
[PATCH] drivers/edac/edac_mc.h must #include <linux/platform_device.h>

With CONFIG_PCI=n:

  CC      drivers/edac/edac_mc.o
drivers/edac/edac_mc.c: In function â\80\98add_mc_to_global_listâ\80\99:
drivers/edac/edac_mc.c:1362: error: implicit declaration of function â\80\98to_platform_deviceâ\80\99
drivers/edac/edac_mc.c:1362: error: invalid type argument of â\80\98->â\80\99
drivers/edac/edac_mc.c: In function â\80\98edac_mc_add_mcâ\80\99:
drivers/edac/edac_mc.c:1467: error: invalid type argument of â\80\98->â\80\99
drivers/edac/edac_mc.c: In function â\80\98edac_mc_del_mcâ\80\99:
drivers/edac/edac_mc.c:1504: error: invalid type argument of â\80\98->â\80\99

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Make suspend possible with a traced process at a breakpoint
Rafael J. Wysocki [Sat, 5 Aug 2006 19:13:42 +0000 (12:13 -0700)]
[PATCH] Make suspend possible with a traced process at a breakpoint

It should be possible to suspend, either to RAM or to disk, if there's a
traced process that has just reached a breakpoint.  However, this is a
special case, because its parent process might have been frozen already and
then we are unable to deliver the "freeze" signal to the traced process.
If this happens, it's better to cancel the freezing of the traced process.

Ref. http://bugzilla.kernel.org/show_bug.cgi?id=6787

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Fri, 4 Aug 2006 19:25:24 +0000 (12:25 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] make uncached allocator more node aware

18 years ago[IA64] make uncached allocator more node aware
Dean Nelson [Wed, 28 Jun 2006 18:50:09 +0000 (13:50 -0500)]
[IA64] make uncached allocator more node aware

The uncached allocator has a function, uncached_get_new_chunk(), that needs
to be serialized on a per node basis. It also has a global variable,
allocated_granules, which should be defined on a per node basis and protected
by that serialization. Additionally, all error returns from functions called
(like ia64_pal_mc_drain()) should be handled appropriately.

Signed-off-by: Dean Nelson <dcn@sgi.com>
Acked-by: Jes Sorenson <jes@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years agoMerge branch 'fixes' of git://git.linux-nfs.org/pub/linux/nfs-2.6
Linus Torvalds [Fri, 4 Aug 2006 16:56:40 +0000 (09:56 -0700)]
Merge branch 'fixes' of git://git.linux-nfs.org/pub/linux/nfs-2.6

* 'fixes' of git://git.linux-nfs.org/pub/linux/nfs-2.6:
  SUNRPC: Fix obvious refcounting bugs in rpc_pipefs.
  RPC: Ensure that we disconnect TCP socket when client requests error out
  NLM/lockd: remove b_done
  NFS: make 2 functions static
  NFS: Release dcache_lock in an error path of nfs_path

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq
Linus Torvalds [Fri, 4 Aug 2006 16:41:22 +0000 (09:41 -0700)]
Merge /pub/scm/linux/kernel/git/davej/cpufreq

* master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq:
  [CPUFREQ] Propagate acpi_processor_preregister_performance return value.
  [CPUFREQ] [2/2] demand load governor modules.
  [CPUFREQ] [1/2] add __find_governor helper and clean up some error handling.
  [CPUFREQ] Longhaul - Rename & fix multipliers table
  [CPUFREQ] Longhaul - Fix power state test to do something more useful
  [CPUFREQ] Longhaul - Readd accidentally dropped line
  [CPUFREQ] Make longhaul_walk_callback() static
  [CPUFREQ] X86_GX_SUSPMOD must depend on PCI
  [CPUFREQ] Longhaul - Initialise later.
  [CPUFREQ] Longhaul - Workaround issues with APIC.
  [CPUFREQ] Longhaul - Hook into ACPI C states.
  [CPUFREQ] return error when failing to set minfreq

18 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Fri, 4 Aug 2006 00:33:59 +0000 (17:33 -0700)]
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:
  [PATCH] ahci: skip protocol test altogether in spurious interrupt code

18 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Fri, 4 Aug 2006 00:33:32 +0000 (17:33 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  [PATCH] myri10ge - Fix spurious invokations of the watchdog reset handler
  [PATCH] myri10ge - Write the firmware in 256-bytes chunks
  [PATCH] Stop calling phy_stop_interrupts() twice
  [PATCH] s2io driver bug fixes #2
  [PATCH] s2io driver bug fixes #1
  [PATCH] zd1211rw: Packet filter fix for managed (STA) mode
  [PATCH] zd1211rw: Fixed endianess issue with length info tag detection
  [PATCH] zd1211rw: Remove bogus assert
  [PATCH] zd1211rw: Fix software encryption/decryption
  [PATCH] zd1211rw: Pass more management frame types up to host
  [PATCH] zd1211rw: Fixes radiotap header

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6
Linus Torvalds [Fri, 4 Aug 2006 00:31:15 +0000 (17:31 -0700)]
Merge git://git./linux/kernel/git/gregkh/pci-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6:
  PNP: Add missing casts in printk() arguments
  PCI: docking station: remove dock uevents
  PCI: Unhide the SMBus on Asus PU-DLS
  PCI Hotplug: add acpiphp to MAINTAINERS
  PCI: pci/search: EXPORTs cannot be __devinit
  PCIE: cleanup on probe error
  pcie: fix warnings when CONFIG_PM=n

18 years ago[PATCH] ahci: skip protocol test altogether in spurious interrupt code
Unicorn Chang [Tue, 1 Aug 2006 04:18:07 +0000 (12:18 +0800)]
[PATCH] ahci: skip protocol test altogether in spurious interrupt code

Skip protocol test altogether in spurious interrupt code. If PIOS is received
when it shouldn't, ahci will raise protocol violation.

Signed-off-by: Unicorn Chang <uchang@tw.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] myri10ge - Fix spurious invokations of the watchdog reset handler
Brice Goglin [Sun, 30 Jul 2006 04:14:15 +0000 (00:14 -0400)]
[PATCH] myri10ge - Fix spurious invokations of the watchdog reset handler

Fix spurious invocations of the watchdog reset handler.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] myri10ge - Write the firmware in 256-bytes chunks
Brice Goglin [Sun, 30 Jul 2006 04:14:09 +0000 (00:14 -0400)]
[PATCH] myri10ge - Write the firmware in 256-bytes chunks

When writing the firmware to the NIC, the FIFO is 256-bytes long,
so we use 256-bytes chunks and a read to wait until the previous
write is done.

Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] Stop calling phy_stop_interrupts() twice
Sergei Shtylylov [Tue, 25 Jul 2006 20:53:53 +0000 (00:53 +0400)]
[PATCH] Stop calling phy_stop_interrupts() twice

Prevent phylib from freeing PHY IRQ twice on closing an eth device:
phy_disconnect() first calls phy_stop_interrupts(), then it calls
phy_stop_machine() which in turn calls phy_stop_interrupts() making the
kernel complain on each bootup...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] s2io driver bug fixes #2
Ananda Raju [Mon, 24 Jul 2006 23:55:09 +0000 (19:55 -0400)]
[PATCH] s2io driver bug fixes #2

This patch contains some of the bug fixes and enhancements done to
s2io driver. Following are the brief description of changes

1. code cleanup to handle gso modification better
2. Move repeated code in rx path, to a common function
   s2io_chk_rx_buffers()
3. Bug fix in MSI interrupt
4. clear statistics when card is down
5. Avoid linked list traversing in lro aggregation.
6. Use pci_dma_sync_single_for_cpu for buffer0 in case of 2/3
   buffer mode.
7. ethtool tso get/set functions to set clear NETIF_F_TSO6
8. Stop LRO aggregation when we receive ECN notification

Signed-off-by: Ananda Raju <ananda.raju@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] s2io driver bug fixes #1
Ananda Raju [Mon, 24 Jul 2006 23:52:49 +0000 (19:52 -0400)]
[PATCH] s2io driver bug fixes #1

This patch contains some of the bug fixes and enhancements done to
s2io driver. Following are the brief description of changes

1. Introduced macro "S2IO_PARM_INT" for declaring integer load parameter
2. UDP_RR test failure, memset txdl after Tx completion
3. PXE boot may leave adapter in unknown state so do reset in probe.
4. Add Tx completion code in netpoll
5. In s2io_vpd_read() move array vpd_data[] to pointer, saves stack memory
6. Fix bug in ethtool online test

Signed-off-by: Ananda Raju <ananda.raju@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years agoMerge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linvil...
Jeff Garzik [Thu, 3 Aug 2006 21:19:44 +0000 (17:19 -0400)]
Merge branch 'upstream-fixes' of git://git./linux/kernel/git/linville/wireless-2.6 into upstream-fixes

18 years agoSUNRPC: Fix obvious refcounting bugs in rpc_pipefs.
Trond Myklebust [Sat, 29 Jul 2006 21:37:40 +0000 (17:37 -0400)]
SUNRPC: Fix obvious refcounting bugs in rpc_pipefs.

Doh!

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from 496f408f2f0e7ee5481a7c2222189be6c4f5aa6c commit)

18 years agoRPC: Ensure that we disconnect TCP socket when client requests error out
Trond Myklebust [Thu, 27 Jul 2006 21:22:50 +0000 (17:22 -0400)]
RPC: Ensure that we disconnect TCP socket when client requests error out

If we're part way through transmitting a TCP request, and the client
errors, then we need to disconnect and reconnect the TCP socket in order to
avoid confusing the server.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from 031a50c8b9ea82616abd4a4e18021a25848941ce commit)

18 years agoNLM/lockd: remove b_done
J. Bruce Fields [Thu, 3 Aug 2006 19:07:47 +0000 (15:07 -0400)]
NLM/lockd: remove b_done

We never actually set the b_done field any more; it's always zero.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from af8412d4283ef91356e65e0ed9b025b376aebded commit)

18 years agoNFS: make 2 functions static
Adrian Bunk [Thu, 3 Aug 2006 19:07:47 +0000 (15:07 -0400)]
NFS: make 2 functions static

nfs_writedata_free() and nfs_readdata_free() can now become static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from 5e1ce40f0c3c8f67591aff17756930d7a18ceb1a commit)

18 years agoNFS: Release dcache_lock in an error path of nfs_path
Josh Triplett [Mon, 24 Jul 2006 23:30:00 +0000 (16:30 -0700)]
NFS: Release dcache_lock in an error path of nfs_path

In one of the error paths of nfs_path, it may return with dcache_lock still
held; fix this by adding and using a new error path Elong_unlock which unlocks
dcache_lock.

Signed-off-by: Josh Triplett <josh@freedesktop.org>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
(cherry picked from f4b90b43677fb23297c56802c3056fc304f988d9 commit)

18 years agoPNP: Add missing casts in printk() arguments
Pierre Ossman [Thu, 13 Jul 2006 09:35:41 +0000 (11:35 +0200)]
PNP: Add missing casts in printk() arguments

Some resource_size_t values are fed to printk() without handling the fact
that they can have different size depending on your .config.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoPCI: docking station: remove dock uevents
Kristen Carlson Accardi [Tue, 1 Aug 2006 21:59:19 +0000 (14:59 -0700)]
PCI: docking station: remove dock uevents

Remove uevent dock notifications.  There are no consumers
of these events at present, and uevents are likely not the
correct way to send this type of event anyway.

Until I get some kind of idea if anyone in userspace cares
about dock events, I will just not send any.

Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoPCI: Unhide the SMBus on Asus PU-DLS
Jean Delvare [Mon, 31 Jul 2006 06:53:15 +0000 (08:53 +0200)]
PCI: Unhide the SMBus on Asus PU-DLS

Unhide the SMBus controller on the Asus PU-DLS board.
This fixes bug #6763.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoPCI Hotplug: add acpiphp to MAINTAINERS
Kristen Carlson Accardi [Wed, 26 Jul 2006 17:52:33 +0000 (10:52 -0700)]
PCI Hotplug: add acpiphp to MAINTAINERS

Add acpiphp to the MAINTAINERS file.

Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoPCI: pci/search: EXPORTs cannot be __devinit
Randy Dunlap [Tue, 18 Jul 2006 21:33:16 +0000 (14:33 -0700)]
PCI: pci/search: EXPORTs cannot be __devinit

EXPORTed symbols cannot be __init/__devinit.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoPCIE: cleanup on probe error
Randy Dunlap [Fri, 7 Jul 2006 04:36:01 +0000 (21:36 -0700)]
PCIE: cleanup on probe error

If pcie_portdrv_probe() fails but it had already called
pci_enable_device(), then call pci_disable_device() when
returning error.

Is there some reason that this isn't being done?
or was it just missed?

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agopcie: fix warnings when CONFIG_PM=n
Henrik Kretzschmar [Thu, 6 Jul 2006 14:05:51 +0000 (18:05 +0400)]
pcie: fix warnings when CONFIG_PM=n

Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Thu, 3 Aug 2006 19:50:20 +0000 (12:50 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] fix show_mem for VIRTUAL_MEM_MAP+FLATMEM
  [IA64] align high endpoint of VIRTUAL_MEM_MAP
  [PATCH] Fix RAID5 + IA64 compile
  [IA64] Don't alloc empty frame in ia64_switch_mode_phys
  [IA64] Do not assume output registers be reservered.
  [IA64] add platform check to snsc driver init
  [IA64] sparse cleanups
  [IA64] Fix breakage in simscsi.c
  [IA64] Format /proc/pal/*/version_info correctly

18 years agoIB/uverbs: Avoid a crash on device hot remove
Jack Morgenstein [Thu, 3 Aug 2006 17:56:42 +0000 (10:56 -0700)]
IB/uverbs: Avoid a crash on device hot remove

Wait until all users have closed their device context before allowing
device unregistration to complete.  This prevents a crash caused by
referring to stale data structures.

A better solution would be to have a way to revoke contexts rather
than waiting for userspace to close the context, but that's a much
bigger change that will have to wait.  For now let's at least avoid
the crash.

Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il>
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agoIB/ipoib: Remove broken link from Kconfig and documentation
Or Gerlitz [Thu, 13 Jul 2006 08:00:39 +0000 (11:00 +0300)]
IB/ipoib: Remove broken link from Kconfig and documentation

Remove references to the IPoIB IETF working group as it has been closed.

Signed-off-by: Or Gerlitz <ogerlitz@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agoIB/srp: Work around data corruption bug on Mellanox targets
Ishai Rabinovitz [Thu, 3 Aug 2006 17:35:43 +0000 (10:35 -0700)]
IB/srp: Work around data corruption bug on Mellanox targets

Data corruption has been seen with Mellanox SRP targets when FMRs
create a memory region with I/O virtual address != 0.  Add a
workaround that disables FMR merging for Mellanox targets (OUI 0002c9).

Signed-off-by: Ishai Rabinovitz <ishai@mellanox.co.il>
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years ago[IA64] fix show_mem for VIRTUAL_MEM_MAP+FLATMEM
Bob Picco [Wed, 28 Jun 2006 16:55:43 +0000 (12:55 -0400)]
[IA64] fix show_mem for VIRTUAL_MEM_MAP+FLATMEM

contig.c (FLATMEM) requires the same optimization as in discontig.c for show_mem
when VIRTUAL_MEM_MAP is in use. Otherwise FLATMEM has softlockup timeouts.
This was boot tested for memory configuration: SPARSEMEM,
DISCONTIG+VIRTUAL_MEM_MAP, FLATMEM, FLATMEM+VIRTUAL_MEM_MAP and
FLATMEM+VIRTUAL_MEM_MAP with largest memory gap less than LARGE_GAP by
using boot parameter "mem=".

This was boot tested and "echo m >/proc/sysrq-trigger" output evaluated for
: FLATMEM, FLATMEM+VIRTUAL_MEM_MAP, DISCONTIGMEM+VIRTUAL_MEM_MAP and
SPARSEMEM.

Signed-off-by: Bob Picco <bob.picco@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years ago[IA64] align high endpoint of VIRTUAL_MEM_MAP
Bob Picco [Wed, 28 Jun 2006 16:54:55 +0000 (12:54 -0400)]
[IA64] align high endpoint of VIRTUAL_MEM_MAP

Assure that vmem_map's high endpoint is MAX_ORDER aligned. Not doing so violates
the buddy allocator algorithm. Also anyone using mem=XXX on boot line and
not aligned to MAX_ORDER requires this patch in order to satisfy buddy
allocator. vmem_map always starts at pfn 0. The potentially large MAX_ORDER
on ia64 (due to hugetlbfs) requires that the end of vmem_map be aligned
to MAX_ORDER_NR_PAGES.

This was boot tested for: FLATMEM, FLATMEM+VIRTUAL_MEM_MAP,
DISCONTIGMEM+VIRTUAL_MEM_MAP and SPARSEMEM.

Signed-off-by: Bob Picco <bob.picco@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years ago[PATCH] Fix RAID5 + IA64 compile
Prarit Bhargava [Mon, 31 Jul 2006 13:12:11 +0000 (09:12 -0400)]
[PATCH] Fix RAID5 + IA64 compile

CONFIG_MD_RAID5 became CONFIG_MD_RAID456 in drivers/md/Kconfig.  Make
the same change in arch/ia64

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Aron Griffis <aron@hp.com>
Acked-by: Jes Sorenson <jes@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years agoIB/srp: Fix crash in srp_reconnect_target
Ishai Rabinovitz [Tue, 25 Jul 2006 16:54:09 +0000 (19:54 +0300)]
IB/srp: Fix crash in srp_reconnect_target

Protect against srp_reset_device() clearing the req_queue while
srp_reconnect_target() is in progress (note that state change at
the top of srp_reconnect_target() is not sufficient for this since
srp_reset_device() ignores the state).

Signed-off-by: Ishai Rabinovitz <ishai@mellanox.co.il>
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agoIB/cm: Fix error handling in ib_send_cm_req
Sean Hefty [Tue, 25 Jul 2006 16:52:01 +0000 (19:52 +0300)]
IB/cm: Fix error handling in ib_send_cm_req

Report error code rather than success (0) on failure allocating
timewait_info in ib_send_cm_req().

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agoIB/mthca: Clean up mthca array index mask
Roland Dreier [Thu, 3 Aug 2006 16:44:22 +0000 (09:44 -0700)]
IB/mthca: Clean up mthca array index mask

Define a constant MTHCA_ARRAY_MASK to replace repeated uses of
(PAGE_SIZE / sizeof (void *) - 1) in mthca array code.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agoIB/mthca: Fix mthca_array_clear() thinko
Michael S. Tsirkin [Wed, 26 Jul 2006 13:02:53 +0000 (16:02 +0300)]
IB/mthca: Fix mthca_array_clear() thinko

mthca_array_clear() does not clear the slot if the used count is
positive. This leads to crashes in mthca_qp_event() since that uses
mthca_array_get() to check that the qp is valid.

Discovered by Ali Ayoub.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years ago[PATCH] take filling ->pid, etc. out of audit_get_context()
Al Viro [Sun, 16 Jul 2006 10:43:48 +0000 (06:43 -0400)]
[PATCH] take filling ->pid, etc. out of audit_get_context()

move that stuff downstream and into the only branch where it'll be
used.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years ago[PATCH] don't bother with aux entires for dummy context
Al Viro [Sun, 16 Jul 2006 10:38:45 +0000 (06:38 -0400)]
[PATCH] don't bother with aux entires for dummy context

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years ago[PATCH] mark context of syscall entered with no rules as dummy
Al Viro [Thu, 3 Aug 2006 14:59:26 +0000 (10:59 -0400)]
[PATCH] mark context of syscall entered with no rules as dummy

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years ago[PATCH] introduce audit rules counter
Al Viro [Mon, 10 Jul 2006 12:29:24 +0000 (08:29 -0400)]
[PATCH] introduce audit rules counter

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years ago[PATCH] fix audit oops with invalid operator
Amy Griffis [Tue, 1 Aug 2006 21:52:26 +0000 (17:52 -0400)]
[PATCH] fix audit oops with invalid operator

Michael C Thompson wrote:  [Tue Aug 01 2006, 02:36:36PM EDT]
> The trigger for this oops is:
> # auditctl -a exit,always -S pread64 -F 'inode<1'

Setting the err value will fix it.

Signed-off-by: Amy Griffis <amy.griffis@hp.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years ago[PATCH] fix oops with CONFIG_AUDIT and !CONFIG_AUDITSYSCALL
Amy Griffis [Thu, 13 Jul 2006 17:17:12 +0000 (13:17 -0400)]
[PATCH] fix oops with CONFIG_AUDIT and !CONFIG_AUDITSYSCALL

Always initialize the audit_inode_hash[] so we don't oops on list rules.

Signed-off-by: Amy Griffis <amy.griffis@hp.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years ago[PATCH] fix missed create event for directory audit
Amy Griffis [Thu, 13 Jul 2006 17:16:39 +0000 (13:16 -0400)]
[PATCH] fix missed create event for directory audit

When an object is created via a symlink into an audited directory, audit misses
the event due to not having collected the inode data for the directory.  Modify
__audit_inode_child() to copy the parent inode data if a parent wasn't found in
audit_names[].

Signed-off-by: Amy Griffis <amy.griffis@hp.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years ago[PATCH] fix faulty inode data collection for open() with O_CREAT
Amy Griffis [Thu, 13 Jul 2006 17:16:02 +0000 (13:16 -0400)]
[PATCH] fix faulty inode data collection for open() with O_CREAT

When the specified path is an existing file or when it is a symlink, audit
collects the wrong inode number, which causes it to miss the open() event.
Adding a second hook to the open() path fixes this.

Also add audit_copy_inode() to consolidate some code.

Signed-off-by: Amy Griffis <amy.griffis@hp.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Thu, 3 Aug 2006 05:35:26 +0000 (22:35 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (32 commits)
  [NET]: Fix more per-cpu typos
  [SECURITY]: Fix build with CONFIG_SECURITY disabled.
  [I/OAT]: Remove CPU hotplug lock from net_dma_rebalance
  [DECNET]: Fix for routing bug
  [AF_UNIX]: Kernel memory leak fix for af_unix datagram getpeersec patch
  [NET]: skb_queue_lock_key() is no longer used.
  [NET]: Remove lockdep_set_class() call from skb_queue_head_init().
  [IPV6]: SNMPv2 "ipv6IfStatsOutFragCreates" counter error
  [IPV6]: SNMPv2 "ipv6IfStatsInHdrErrors" counter error
  [NET]: Kill the WARN_ON() calls for checksum fixups.
  [NETFILTER]: xt_hashlimit/xt_string: missing string validation
  [NETFILTER]: SIP helper: expect RTP streams in both directions
  [E1000]: Convert to netdev_alloc_skb
  [TG3]: Convert to netdev_alloc_skb
  [NET]: Add netdev_alloc_skb().
  [TCP]: Process linger2 timeout consistently.
  [SECURITY] secmark: nul-terminate secdata
  [NET] infiniband: Cleanup ib_addr module to use the netevents
  [NET]: Core net changes to generate netevents
  [NET]: Network Event Notifier Mechanism.
  ...

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Thu, 3 Aug 2006 03:25:35 +0000 (20:25 -0700)]
Merge /pub/scm/linux/kernel/git/gregkh/usb-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (24 commits)
  Revert "[PATCH] USB: move usb_device_class class devices to be real devices"
  Revert "[PATCH] USB: convert usb class devices to real devices"
  USB: UHCI: Don't test the Short Packet Detect bit
  USB: unusual_devs entry for Nokia 3250
  USB: dummy-hcd: disable interrupts during req->complete
  USB: fix the USB_GADGET_DUMMY_HCD dependencies
  USB: ati_remote.c: autorepeat fix
  USB: doc: fixes devio.c location in proc_usb_info.txt.
  USB: doc: usb-help.txt update.
  USB: Patch for rtl8150 to fix unplug problems
  USB: cypress driver comment updates
  USB: unusual_devs device removal
  usb-storage: Add US_FL_IGNORE_DEVICE flag; ignore ZyXEL G220F
  USB: New USB ID for Belkin Serial Adapter
  USB: Additional PID for the ftdi_sio driver
  USB: adding support for SHARP WS003SH to ipaq.c
  USB: Fix Freescale high-speed USB host dependency
  USB: Removed 3-port device handler from Option driver
  USB: Drop Sierra Wireless MC8755 from the Option driver
  USB: Let option driver handle Anydata CDMA modems. Remove anydata driver.
  ...

18 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Thu, 3 Aug 2006 03:21:23 +0000 (20:21 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 3743/1: ARM: OMAP: Fix compile for OMAP
  [ARM] 3739/1: genirq updates:  irq_chip, add and use irq_chip.name

18 years ago[PATCH] x86_64: Fix CONFIG_IOMMU_DEBUG
Muli Ben-Yehuda [Wed, 2 Aug 2006 20:37:31 +0000 (22:37 +0200)]
[PATCH] x86_64: Fix CONFIG_IOMMU_DEBUG

If CONFIG_IOMMU_DEBUG is set force_iommu defaults to 1. In the case
where no HW IOMMU is present in the machine and we end up using nommu,
leaving force_iommu set to 1 causes dma_alloc_coherent to do the wrong
thing. Therefore, if we end up using nommu, make sure force_iommu is
0.

Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Fix backtracing for interrupt stacks
Andi Kleen [Wed, 2 Aug 2006 20:37:28 +0000 (22:37 +0200)]
[PATCH] x86_64: Fix backtracing for interrupt stacks

Re-add backlink for old style unwinder to stack switching.  Add proper
stack frame and CFI annotations to call_softirq

This prevents a oops when backtracing with fallback through the
interrupt stack top.

Suggested by Jan Beulich and Herbert Xu wanted it in 2.6.18.

Cc: jbeulich@novell.com
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoFix force_sig_info() semantics after cleanups
Linus Torvalds [Thu, 3 Aug 2006 03:17:49 +0000 (20:17 -0700)]
Fix force_sig_info() semantics after cleanups

Suresh points out that commit b0423a0d9cc836b2c3d796623cd19236bfedfe63
broke the semantics of a synchronous signal like SIGSEGV occurring
recursively inside its own handler handler (or, indeed, any other
context when the signal was blocked).

That was unintentional, and this fixes things up by reinstating the old
semantics, but without reverting the cleanups.

Cc: Paul E. McKenney <paulmck@us.ibm.com>
Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-2.6.18
Linus Torvalds [Thu, 3 Aug 2006 03:12:25 +0000 (20:12 -0700)]
Merge git://git./linux/kernel/git/sam/kbuild-2.6.18

* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-2.6.18:
  gitignore: gitignore quilt's files
  kbuild: always use $(CC) for $(call cc-version)
  kconfig: correct oldconfig for unset choice options
  kbuild: -fno-stack-protector is not good
  kbuild: fix typo in modpost
  kbuild: improve error from file2alias
  kbuild: .gitignore utsrelease.h
  kbuild: version.h and new headers_* targets does not require a kernel config
  kbuild: hardcode value of YACC&LEX for aic7-triple-x

18 years agoRevert "[PATCH] USB: move usb_device_class class devices to be real devices"
Greg Kroah-Hartman [Wed, 2 Aug 2006 23:52:10 +0000 (16:52 -0700)]
Revert "[PATCH] USB: move usb_device_class class devices to be real devices"

This reverts c182274ffe1277f4e7c564719a696a37cacf74ea commit because it
required a newer version of udev to work properly than what is currently
documented in Documentation/Changes.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoRevert "[PATCH] USB: convert usb class devices to real devices"
Greg Kroah-Hartman [Wed, 2 Aug 2006 23:49:37 +0000 (16:49 -0700)]
Revert "[PATCH] USB: convert usb class devices to real devices"

This reverts bd00949647ddcea47ce4ea8bb2cfcfc98ebf9f2a commit because it
required a newer version of udev to work properly than what is currently
documented in Documentation/Changes.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: UHCI: Don't test the Short Packet Detect bit
Alan Stern [Mon, 31 Jul 2006 14:16:24 +0000 (10:16 -0400)]
USB: UHCI: Don't test the Short Packet Detect bit

Apparently some UHCI controllers change the value of the Short Packet
Detect (SPD) bit in the TD status word -- presumably when they receive a
short packet.  This patch (as759) changes uhci-hcd to avoid assuming
that the bit is unchanged; in fact, the driver no longer looks at SPD at
all.

This fixes the second problem reported in Bugzilla #6752.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: unusual_devs entry for Nokia 3250
Alan Stern [Mon, 31 Jul 2006 14:10:28 +0000 (10:10 -0400)]
USB: unusual_devs entry for Nokia 3250

Here is another unusual_devs entry (as760) for another Nokia device,
this time the 3250.

From: Mario Rettig <mariorettig@web.de>
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: dummy-hcd: disable interrupts during req->complete
Alan Stern [Fri, 28 Jul 2006 21:07:34 +0000 (17:07 -0400)]
USB: dummy-hcd: disable interrupts during req->complete

This patch (as756) fixes a bug in dummy-hcd found by the lockdep
checker.  In one of the code paths, the driver did not disable
interrupts before calling a request completion routine.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: fix the USB_GADGET_DUMMY_HCD dependencies
Adrian Bunk [Sun, 30 Jul 2006 23:43:53 +0000 (01:43 +0200)]
USB: fix the USB_GADGET_DUMMY_HCD dependencies

If USB=m, USB_GADGET=y, the option USB_GADGET_DUMMY_HCD mustn't be
offered since selecting it results in a compile error.

This patch fixes kernel Bugzilla #6534 reported by Toralf Förster.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: ati_remote.c: autorepeat fix
Marko Macek [Sun, 30 Jul 2006 08:55:12 +0000 (01:55 -0700)]
USB: ati_remote.c: autorepeat fix

When HZ is set to 250 (new default) or 100, the time span during which
repeated events from the device are ignored could be too small due to
ms->jiffies rounding.  This causes the auto repeat to kick in early making
it impossible for the user to generate individual press/release events.
Increate the timeout to compensate.

Signed-off-by: Marko Macek <Marko.Macek@gmx.net>
Cc: Dmitry Torokhov <dtor_core@ameritech.net>
Cc: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: doc: fixes devio.c location in proc_usb_info.txt.
Luiz Fernando N. Capitulino [Fri, 28 Jul 2006 01:01:34 +0000 (22:01 -0300)]
USB: doc: fixes devio.c location in proc_usb_info.txt.

Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: doc: usb-help.txt update.
Luiz Fernando N. Capitulino [Fri, 28 Jul 2006 00:59:17 +0000 (21:59 -0300)]
USB: doc: usb-help.txt update.

 http://www.suse.cz/development/linux-usb/ doesn't exist anymore.

Signed-off-by: Luiz Fernando N. Capitulino <lcapitulino@mandriva.com.br>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: Patch for rtl8150 to fix unplug problems
Peter Chubb [Tue, 25 Jul 2006 10:39:14 +0000 (20:39 +1000)]
USB: Patch for rtl8150 to fix unplug problems

The RTL8150 driver currently crashes the kernel if the USB lead is unplugged
while the device is active.  The attached patch adds error handling to
tell the network layer that the device has gone away when the device is
unplugged.  With this patch, the device can be plugged and unplugged
to one's hearts' content, without crashing anything.

Oh, I've also added rudimentary suspend and resume methods.

Signed-off-by: Peter Chubb <peter@gelato.unsw.edu.au>
Acked-by: Petko Manolov <petkan@nucleusys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: cypress driver comment updates
Oliver Bock [Thu, 27 Jul 2006 19:34:58 +0000 (21:34 +0200)]
USB: cypress driver comment updates

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: unusual_devs device removal
Phil Dibowitz [Thu, 27 Jul 2006 05:36:29 +0000 (22:36 -0700)]
USB: unusual_devs device removal

This entry has been a mystery for some time. I had sent this patch as an
RFC a while ago, and now we've had two reports of this not being needed,
so I'm removing it.

In the event there are reports of breakage, we should revert this patch,
but add a US_FL_NEED_OVERRIDE flag.

Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agousb-storage: Add US_FL_IGNORE_DEVICE flag; ignore ZyXEL G220F
Daniel Drake [Wed, 26 Jul 2006 12:59:23 +0000 (13:59 +0100)]
usb-storage: Add US_FL_IGNORE_DEVICE flag; ignore ZyXEL G220F

This patch adds a new unusual_devs flag for when usb-storage needs to ignore
a device that it would otherwise claim.

We need to ignore the ZyXEL G220F as it is a virtual CDROM drive which
includes the windows driver for this USB-WLAN adapter. After the windows
driver is installed on a windows system, it converts it into a WLAN adapter
(by ejecting the virtual disc).

The virtual CDROM is of no interest to Linux users. The zd1211rw driver will
automatically perform the eject operation, we just need to ensure that
usb-storage does not claim the device.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: New USB ID for Belkin Serial Adapter
Kim Oldfield [Tue, 25 Jul 2006 05:54:59 +0000 (15:54 +1000)]
USB: New USB ID for Belkin Serial Adapter

Can you add the USB IDs for the Belkin USB Serial adapter (P/N F5U257)
to the pl2303 driver in the Linux Kernel? Are you the appropriate person
to approach for this?

I recently purchased a Belkin USB Serial adapter (P/N F5U257) and found
that it didn't work. After a bit of experimentation I found that it
works with the pl2303 driver once the ID has been added. See attached
patch to fix this. Also attached is the output from lsusb -v just in
case you require any information from there.

From: Kim Oldfield <luv@oldfield.wattle.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: Additional PID for the ftdi_sio driver
Dave Platt [Wed, 19 Jul 2006 04:26:54 +0000 (21:26 -0700)]
USB: Additional PID for the ftdi_sio driver

Here's a short patch which adds one PID to the set of devices
supported by the ftdi_sio driver.  The device in question is a
DLP module used as part of a ham radio USB-to-packet adapter.

From: Dave Platt <dplatt@radagast.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: adding support for SHARP WS003SH to ipaq.c
Norihiko Tomiyama [Thu, 13 Jul 2006 00:43:02 +0000 (09:43 +0900)]
USB: adding support for SHARP WS003SH to ipaq.c

This small patch enables a support of "SHARP WS003SH".
"SHARP WS003SH" (usullary called "W-ZERO3") is most polular All-in-one handheld
CellPhone-plus-WindowsMobile5.0 in Japan.

"SHARP WS003SH" has two modes, "Modem" and "ActiveSync".
But, "ActiveSync" mode uses NDIS connection.
Therefore, ipaq.c can only support "Modem" mode.

http://www.sharp.co.jp/ws/ (Japanese Site)
http://greggman.com/edit/editheadlines/2005-12-24.htm

From: Norihiko Tomiyama <norihiko.tomiyama@ctc-g.co.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: Fix Freescale high-speed USB host dependency
Li Yang [Fri, 14 Jul 2006 11:58:14 +0000 (19:58 +0800)]
USB: Fix Freescale high-speed USB host dependency

The high-speed USB SOC only exists on MPC834x family not MPC83xx family.

Signed-off-by: Li Yang <leoli@freescale.com>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: Removed 3-port device handler from Option driver
Matthias Urlichs [Thu, 20 Jul 2006 03:01:21 +0000 (05:01 +0200)]
USB: Removed 3-port device handler from Option driver

Dead code.

From: Matthias Urlichs <smurf@smurf.noris.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: Drop Sierra Wireless MC8755 from the Option driver
Matthias Urlichs [Thu, 20 Jul 2006 02:56:00 +0000 (04:56 +0200)]
USB: Drop Sierra Wireless MC8755 from the Option driver

This device is now supported by sierra.c.

From: Matthias Urlichs <smurf@smurf.noris.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: Let option driver handle Anydata CDMA modems. Remove anydata driver.
Matthias Urlichs [Wed, 12 Jul 2006 06:35:29 +0000 (08:35 +0200)]
USB: Let option driver handle Anydata CDMA modems. Remove anydata driver.

Signed-off-by: Jon K Hellan <hellan@acm.org>
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: Option driver: Short driver names were identical
Matthias Urlichs [Wed, 2 Aug 2006 23:41:41 +0000 (16:41 -0700)]
USB: Option driver: Short driver names were identical

The short driver names were not unique,
which prevented the driver from actually loading.

Also, one of the ioctl pointers was missing.

Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: Option driver: removed change history and linux/version.h include
Matthias Urlichs [Wed, 2 Aug 2006 23:41:41 +0000 (16:41 -0700)]
USB: Option driver: removed change history and linux/version.h include

Signed-off-by: Matthias Urlichs <smurf@smurf.noris.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: AT91 OHCI updates, mostly power management
David Brownell [Mon, 19 Jun 2006 21:27:20 +0000 (14:27 -0700)]
USB: AT91 OHCI updates, mostly power management

OHCI updates for AT91 series processors:

 - Get ready for at91sam926x processors (ARMv5tej not ARMv4t)

 - Suspend/resume support now behaves properly

 - In "standby" mode, OHCI can be a source of system wakeup events
   (remote wakeup, device connect/disconnect, etc)

And minor cleanups.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years agoUSB: AT91 UDC updates, mostly power management
David Brownell [Wed, 5 Jul 2006 09:38:56 +0000 (02:38 -0700)]
USB: AT91 UDC updates, mostly power management

UDC updates for AT91 series processors:

 - Get ready for at91sam926x processors (ARMv5tej not ARMv4t)

 - Suspend/resume support now behaves properly

 - In "standby" mode, UDC can be a source of system wakeup events
   (host resume, device connect/disconnect, etc)

 - Fix IRQ storming issues, seemingly related to clock disabling
   changes that went in a while back

And minor cleanups, especially whitespace.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[IA64] Don't alloc empty frame in ia64_switch_mode_phys
Zou Nan hai [Tue, 25 Jul 2006 23:36:40 +0000 (07:36 +0800)]
[IA64] Don't alloc empty frame in ia64_switch_mode_phys

I think ia64_switch_mode_phys and ia64_switch_mode_virt
does not need to alloc an empty frame.
An empty frame is required by loadrs but flushrs
does not need that.

Signed-off-by: Zou Nan hai <nanhai.zou@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years ago[IA64] Do not assume output registers be reservered.
Zou Nan hai [Tue, 25 Jul 2006 23:26:51 +0000 (07:26 +0800)]
[IA64] Do not assume output registers be reservered.

We found an issue in pal.S.

According to the software runtime SPEC,
The caller's output registers do not need to be preserved for
caller. The callee may reuse input registers for any other
purpose within the procedure.

in ia64_pal_call_phys_stacked,

input registers are copied to output registers before call
into ia64_switch_mode_phys, then used to call into PAL. This
assumes output registers are preserved in ia64_switch_mode_phys,
which may not be true.

In this particular case, ia64_switch_mode_phys alloc a null frame
, and mask off psr.i.
If an interrupt comes at this small window,
or an MCA comes inside the procedure, output registers
maybe changed,
then the pal call may got some staled input registers.

This patch moves the copies from input to output
after ia64_switch_mode_phys to follow the software
runtime convention.

It  also removed some unused labels in
ia64_pal_call_phys_stacked.

Signed-off-by: Zou Nan hai <nanhai.zou@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years ago[IA64] add platform check to snsc driver init
Greg Edwards [Fri, 28 Jul 2006 15:03:55 +0000 (10:03 -0500)]
[IA64] add platform check to snsc driver init

Add a platform check to the snsc driver init function, to prevent
loading on non-sn2 systems.

Signed-off-by: Greg Edwards <edwardsg@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years ago[IA64] sparse cleanups
Keith Owens [Mon, 17 Jul 2006 05:41:59 +0000 (15:41 +1000)]
[IA64] sparse cleanups

Fix some sparse warnings on ia64.  Large constants that should be long
instead of int.  Use NULL instead of 0.  Add some missing __iomem
casts.  Replace a non-C99 structure assignment.

Signed-off-by: Keith Owens <kaos@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years ago[NET]: Fix more per-cpu typos
Alexey Dobriyan [Wed, 2 Aug 2006 22:02:31 +0000 (15:02 -0700)]
[NET]: Fix more per-cpu typos

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[SECURITY]: Fix build with CONFIG_SECURITY disabled.
David S. Miller [Wed, 2 Aug 2006 21:37:06 +0000 (14:37 -0700)]
[SECURITY]: Fix build with CONFIG_SECURITY disabled.

include/linux/security.h: In function ‘security_release_secctx’:
include/linux/security.h:2757: warning: ‘return’ with a value, in function returning void

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[I/OAT]: Remove CPU hotplug lock from net_dma_rebalance
Chris Leech [Wed, 2 Aug 2006 21:21:19 +0000 (14:21 -0700)]
[I/OAT]: Remove CPU hotplug lock from net_dma_rebalance

Remove the lock_cpu_hotplug()/unlock_cpu_hotplug() calls from
net_dma_rebalance

The lock_cpu_hotplug()/unlock_cpu_hotplug() sequence in
net_dma_rebalance is both incorrect (as pointed out by David Miller)
because lock_cpu_hotplug() may sleep while the net_dma_event_lock
spinlock is held, and unnecessary (as pointed out by Andrew Morton) as
spin_lock() disables preemption which protects from CPU hotplug
events.

Signed-off-by: Chris Leech <christopher.leech@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[DECNET]: Fix for routing bug
Patrick Caulfield [Wed, 2 Aug 2006 21:14:44 +0000 (14:14 -0700)]
[DECNET]: Fix for routing bug

This patch fixes a bug in the DECnet routing code where we were
selecting a loopback device in preference to an outward facing device
even when the destination was known non-local. This patch should fix
the problem.

Signed-off-by: Patrick Caulfield <patrick@tykepenguin.com>
Signed-off-by: Steven Whitehouse <steve@chygwyn.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[AF_UNIX]: Kernel memory leak fix for af_unix datagram getpeersec patch
Catherine Zhang [Wed, 2 Aug 2006 21:12:06 +0000 (14:12 -0700)]
[AF_UNIX]: Kernel memory leak fix for af_unix datagram getpeersec patch

From: Catherine Zhang <cxzhang@watson.ibm.com>

This patch implements a cleaner fix for the memory leak problem of the
original unix datagram getpeersec patch.  Instead of creating a
security context each time a unix datagram is sent, we only create the
security context when the receiver requests it.

This new design requires modification of the current
unix_getsecpeer_dgram LSM hook and addition of two new hooks, namely,
secid_to_secctx and release_secctx.  The former retrieves the security
context and the latter releases it.  A hook is required for releasing
the security context because it is up to the security module to decide
how that's done.  In the case of Selinux, it's a simple kfree
operation.

Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NET]: skb_queue_lock_key() is no longer used.
Adrian Bunk [Wed, 2 Aug 2006 21:07:58 +0000 (14:07 -0700)]
[NET]: skb_queue_lock_key() is no longer used.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NET]: Remove lockdep_set_class() call from skb_queue_head_init().
Arjan van de Ven [Wed, 2 Aug 2006 21:06:55 +0000 (14:06 -0700)]
[NET]: Remove lockdep_set_class() call from skb_queue_head_init().

The skb_queue_head_init() function is used both in drivers for private use
and in the core networking code.  The usage models are vastly set of
functions that is only softirq safe; while the driver usage tends to be
more limited to a few hardirq safe accessor functions.  Rather than
annotating all 133+ driver usages, for now just split this lock into a per
queue class.  This change is obviously safe and probably should make
2.6.18.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6]: SNMPv2 "ipv6IfStatsOutFragCreates" counter error
Wei Dong [Wed, 2 Aug 2006 20:41:21 +0000 (13:41 -0700)]
[IPV6]: SNMPv2 "ipv6IfStatsOutFragCreates" counter error

  When I tested linux kernel 2.6.71.7 about statistics
"ipv6IfStatsOutFragCreates", and found that it couldn't increase
correctly. The criteria is RFC 2465:

  ipv6IfStatsOutFragCreates OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
         "The number of output datagram fragments that have
         been generated as a result of fragmentation at
         this output interface."
      ::= { ipv6IfStatsEntry 15 }

I think there are two issues in Linux kernel.
1st:
RFC2465 specifies the counter is "The number of output datagram
fragments...". I think increasing this counter after output a fragment
successfully is better. And it should not be increased even though a
fragment is created but failed to output.

2nd:
If we send a big ICMP/ICMPv6 echo request to a host, and receive
ICMP/ICMPv6 echo reply consisted of some fragments. As we know that in
Linux kernel first fragmentation occurs in ICMP layer(maybe saying
transport layer is better), but this is not the "real"
fragmentation,just do some "pre-fragment" -- allocate space for date,
and form a frag_list, etc. The "real" fragmentation happens in IP layer
-- set offset and MF flag and so on. So I think in "fast path" for
ip_fragment/ip6_fragment, if we send a fragment which "pre-fragment" by
upper layer we should also increase "ipv6IfStatsOutFragCreates".

Signed-off-by: Wei Dong <weid@nanjing-fnst.com>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6]: SNMPv2 "ipv6IfStatsInHdrErrors" counter error
Wei Dong [Wed, 2 Aug 2006 20:39:57 +0000 (13:39 -0700)]
[IPV6]: SNMPv2 "ipv6IfStatsInHdrErrors" counter error

  When I tested Linux kernel 2.6.17.7 about statistics
"ipv6IfStatsInHdrErrors", found that this counter couldn't increase
correctly. The criteria is RFC2465:
  ipv6IfStatsInHdrErrors OBJECT-TYPE
      SYNTAX     Counter3
      MAX-ACCESS read-only
      STATUS     current
      DESCRIPTION
         "The number of input datagrams discarded due to
         errors in their IPv6 headers, including version
         number mismatch, other format errors, hop count
         exceeded, errors discovered in processing their
         IPv6 options, etc."
      ::= { ipv6IfStatsEntry 2 }

When I send TTL=0 and TTL=1 a packet to a router which need to be
forwarded, router just sends an ICMPv6 message to tell the sender that
TIME_EXCEED and HOPLIMITS, but no increments for this counter(in the
function ip6_forward).

Signed-off-by: Wei Dong <weid@nanjing-fnst.com>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NET]: Kill the WARN_ON() calls for checksum fixups.
David S. Miller [Tue, 1 Aug 2006 07:00:12 +0000 (00:00 -0700)]
[NET]: Kill the WARN_ON() calls for checksum fixups.

We have a more complete solution in the works, involving
the seperation of CHECKSUM_HW on input vs. output, and
having netfilter properly do incremental checksums.

But that is a very involved patch and is thus 2.6.19
material.

What we have now is infinitely better than the past,
wherein all TSO packets were dropped due to corrupt
checksums as soon at the NAT module was loaded.  At
least now, the checksums do get fixed up, it just
isn't the cleanest nor most optimal solution.

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: xt_hashlimit/xt_string: missing string validation
Patrick McHardy [Tue, 1 Aug 2006 06:47:31 +0000 (23:47 -0700)]
[NETFILTER]: xt_hashlimit/xt_string: missing string validation

The hashlimit table name and the textsearch algorithm need to be
terminated, the textsearch pattern length must not exceed the
maximum size.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: SIP helper: expect RTP streams in both directions
Patrick McHardy [Tue, 1 Aug 2006 06:46:18 +0000 (23:46 -0700)]
[NETFILTER]: SIP helper: expect RTP streams in both directions

Since we don't know in which direction the first packet will arrive, we
need to create one expectation for each direction, which is currently
prevented by max_expected beeing set to 1.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[E1000]: Convert to netdev_alloc_skb
David S. Miller [Tue, 1 Aug 2006 05:39:40 +0000 (22:39 -0700)]
[E1000]: Convert to netdev_alloc_skb

Signed-off-by: David S. Miller <davem@davemloft.net>