]> pilppa.com Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
18 years ago[SCSI] aic94xx: fix pointer to integer conversion warning
James Bottomley [Wed, 22 Nov 2006 17:54:15 +0000 (11:54 -0600)]
[SCSI] aic94xx: fix pointer to integer conversion warning

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[PATCH] aic94xx: delete ascb timers when freeing queues
Darrick J. Wong [Wed, 15 Nov 2006 02:02:07 +0000 (18:02 -0800)]
[PATCH] aic94xx: delete ascb timers when freeing queues

When the aic94xx driver creates ascbs, each ascb is initialized with a
timeout timer.  If there are any ascbs left over when the driver is being
torn down, these timers need to be deleted.  In particular, we seem to
hit this case when ascbs are issued yet never end up on the done list.
Right now there's a sequencer bug that results in this happening every
so often.

CONTROL PHY commands are typically sent when things are really messed
up with the sequencer; however, any other leftover ascb should produce
loud warnings.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[PATCH] aic94xx: handle REQ_DEVICE_RESET
Darrick J. Wong [Wed, 8 Nov 2006 01:28:55 +0000 (17:28 -0800)]
[PATCH] aic94xx: handle REQ_DEVICE_RESET

This patch implements a REQ_DEVICE_RESET handler for the aic94xx
driver.  Like the earlier REQ_TASK_ABORT patch, this patch defers the
device reset to the Scsi_Host's workqueue, which has the added benefit
of ensuring that the device reset does not happen at the same time
that the abort tmfs are being processed.  After the phy reset, the
busted drive should go away and be re-detected later, which is indeed
what I've seen on both a x260 and a x206m.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] fix module unload induced compile warning
Ingo Molnar [Thu, 9 Nov 2006 09:09:35 +0000 (10:09 +0100)]
[SCSI] fix module unload induced compile warning

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] block: convert jiffies to msecs in scsi_ioctl()
Hannes Reinecke [Thu, 9 Nov 2006 10:55:41 +0000 (11:55 +0100)]
[SCSI] block: convert jiffies to msecs in scsi_ioctl()

Use the proper conversion function for convert jiffies to msecs in
sg_io().

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] scsi: t128 scsi_cmnd convertion
Henne [Thu, 9 Nov 2006 03:56:28 +0000 (19:56 -0800)]
[SCSI] scsi: t128 scsi_cmnd convertion

Changes the obsolete Scsi_Cmnd to struct scsi_cmnd and remove the trailing
whitespaces.

Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] ips: fix soft lockup during reset initialization
Andrew Morton [Thu, 9 Nov 2006 03:56:26 +0000 (19:56 -0800)]
[SCSI] ips: fix soft lockup during reset initialization

  Resetting the adapter causes the ServeRAID driver to exceed the max time
  allowed by the softlock watchdog.  Resetting the hardware can easily require
  30 or more seconds.  To avoid the

"BUG: soft lockup detected on CPU#0!"

  result, this patch adds a touch_nmi_watchdog() to the driver's MDELAY macro.

Cc: Nishanth Aravamudan <nacc@us.ibm.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Acked-by: Jack Hammer <jack_hammer@adaptec.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] qla2xxx: make some functions static
Adrian Bunk [Thu, 9 Nov 2006 03:55:50 +0000 (19:55 -0800)]
[SCSI] qla2xxx: make some functions static

This patch makes some needlessly global functions static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] minor bug fixes and cleanups
Jeff Garzik [Thu, 9 Nov 2006 03:56:20 +0000 (19:56 -0800)]
[SCSI] minor bug fixes and cleanups

BusLogic: use kzalloc(), remove cast to/from void*

aic7xxx_old: fix typo in cast

NCR53c406a: ifdef out static built code

fd_mcs: ifdef out static built code

ncr53c8xx: ifdef out static built code

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] revert "[SCSI] ips soft lockup during reset/initialization"
Andrew Morton [Thu, 9 Nov 2006 03:56:24 +0000 (19:56 -0800)]
[SCSI] revert "[SCSI] ips soft lockup during reset/initialization"

Revert 15084a4a63bc300c18b28a8a9afac870c552abce - it caused a
scheduling-inside-spinlock bug.

Cc: Nishanth Aravamudan <nacc@us.ibm.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Jack Hammer <jack_hammer@adaptec.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] SCSI/aha1740: handle SCSI API errors
Jeff Garzik [Thu, 9 Nov 2006 03:56:19 +0000 (19:56 -0800)]
[SCSI] SCSI/aha1740: handle SCSI API errors

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] st: log message changes
Kai Makisara [Tue, 7 Nov 2006 19:56:38 +0000 (21:56 +0200)]
[SCSI] st: log message changes

Printk -> sdev_printk change originally from Luben Tuikov
<ltuikov@yahoo.com>. Loglevel changes prompted by Matthew Wilcox
<matthew@wil.cx>.

Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] sd: clearer output of disk cache state
Luben Tuikov [Wed, 15 Nov 2006 20:47:08 +0000 (12:47 -0800)]
[SCSI] sd: clearer output of disk cache state

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] kill scsi_assign_lock
Christoph Hellwig [Sat, 4 Nov 2006 19:11:36 +0000 (20:11 +0100)]
[SCSI] kill scsi_assign_lock

scsi_assign_lock has been unused for a long time and is a bad idea
in general, so kill it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] untangle scsi_prep_fn
Christoph Hellwig [Sat, 4 Nov 2006 19:10:55 +0000 (20:10 +0100)]
[SCSI] untangle scsi_prep_fn

I wanted to add some BUG checks to scsi_prep_fn to make sure no one
sends us a non-sg command, but this function is a horrible mess.

So I decided to detangle the function and document what the valid
cases are.  While doing that I found that REQ_TYPE_SPECIAL commands
aren't used by the SCSI layer anymore and we can get rid of the code
handling them.

The new structure of scsi_prep_fn is:

 (1) check if we're allowed to send this command
 (2) big switch on cmd_type.  For the two valid types call into
     a function to set the command up, else error
 (3) code to handle error cases

Because FS and BLOCK_PC commands are handled entirely separate after
the patch this introduces a tiny amount of code duplication.  This
improves readabiulity though and will help to avoid the bidi command
overhead for FS commands so it's a good thing.

I've tested this on both sata and mptsas.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] use one-element sg list in scsi_send_eh_cmnd
Christoph Hellwig [Sat, 4 Nov 2006 19:04:21 +0000 (20:04 +0100)]
[SCSI] use one-element sg list in scsi_send_eh_cmnd

scsi_send_eh_cmnd is the last user of non-sg commands currently.
This patch switches it to a one-element SG list.  Also updates the
kerneldoc comment for scsi_send_eh_cmnd to reflect reality while we're
at it.

Test on my mptsas card, but this should get testing with as many
drivers as possible.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] aic94xx: handle REQ_TASK_ABORT
Darrick J. Wong [Mon, 30 Oct 2006 23:18:56 +0000 (15:18 -0800)]
[SCSI] aic94xx: handle REQ_TASK_ABORT

This patch straightens out the code that distinguishes the various escb
opcodes in escb_tasklet_complete so that they can be handled correctly.
It also provides all the necessary code to create a workqueue item that
tells libsas to abort a sas_task.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] libsas: add sas_abort_task
Darrick J. Wong [Mon, 30 Oct 2006 23:18:50 +0000 (15:18 -0800)]
[SCSI] libsas: add sas_abort_task

This patch adds an external function, sas_abort_task, to enable LLDDs
to abort sas_tasks.  It also adds a work_struct so that the actual
work of aborting a task can be shifted from tasklet context (in the
LLDD) onto the scsi_host's workqueue.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] libsas: modify error handler to use scsi_eh_* functions
Darrick J. Wong [Mon, 30 Oct 2006 23:18:39 +0000 (15:18 -0800)]
[SCSI] libsas: modify error handler to use scsi_eh_* functions

This patch adds an EH done queue to sas_ha, converts the error handling
strategy function and the sas_scsi_task_done functions in libsas to use
the scsi_eh_* commands for error'd commands, and adds checks for the
INITIATOR_ABORTED flag so that we do the right thing if a sas_task has
been aborted by the initiator.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] Reduce polling in sd.c
Alan Stern [Wed, 11 Oct 2006 20:48:28 +0000 (16:48 -0400)]
[SCSI] Reduce polling in sd.c

If a drive reports that no media is present, there's no point in
continuing to ask it about media status.  This patch (as696) cuts the
TUR polling short as soon as the drive reports no media instead of
going a full 3 iterations.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] Add ability to scan scsi busses asynchronously
Matthew Wilcox [Thu, 28 Sep 2006 21:19:20 +0000 (15:19 -0600)]
[SCSI] Add ability to scan scsi busses asynchronously

Since it often takes around 20-30 seconds to scan a scsi bus, it's
highly advantageous to do this in parallel with other things.  The bulk
of this patch is ensuring that devices don't change numbering, and that
all devices are discovered prior to trying to start init.  For those
who build SCSI as modules, there's a new scsi_wait_scan module that will
ensure all bus scans are finished.

This patch only handles drivers which call scsi_scan_host.  Fibre Channel,
SAS, SATA, USB and Firewire all need additional work.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years agoACPI: Allow setting SCI_EN bit in PM1_CONTROL register
Linus Torvalds [Wed, 11 Oct 2006 00:14:44 +0000 (17:14 -0700)]
ACPI: Allow setting SCI_EN bit in PM1_CONTROL register

This is needed by at least the Mac Mini's, which (incorrectly) come back
from suspend with SCI_EN clear.

Thanks to Frédéric Riss for hunting this down.

Acked-by: Frédéric Riss <frederic.riss@gmail.com>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Len Brown <len.brown@intel.com>
Cc: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] firmware/dcdbas: fix bug in error cleanup
Jeff Garzik [Tue, 10 Oct 2006 06:58:14 +0000 (02:58 -0400)]
[PATCH] firmware/dcdbas: fix bug in error cleanup

The error path path mistakenly called sysfs_create_group() rather than
sysfs_remove_group().  They take the same arguments, so it's easy to
cut-n-paste such a bug.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] irda: donauboe fixes, cleanups
Jeff Garzik [Tue, 10 Oct 2006 05:40:55 +0000 (01:40 -0400)]
[PATCH] irda: donauboe fixes, cleanups

- fix: toshoboe_invalid_dev() was recently removed, but not all callers
  were updated, causing the obvious linker error.  Remove caller,
  because the check (like the one removed) isn't used.

- fix: propagate request_irq() return value

- cleanup: remove void* casts

- cleanup: remove impossible ASSERTs

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
Linus Torvalds [Tue, 10 Oct 2006 23:16:33 +0000 (16:16 -0700)]
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc

* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
  [POWERPC] Fix windfarm platform device usage
  [POWERPC] Fix i2c-powermac platform device usage
  [POWERPC] Fix secondary CPU startup on old "powersurge" SMP powermacs
  [POWERPC] ARCH=ppc pt_regs fixes
  [POWERPC] Update maple defconfig
  [POWERPC] Fix Maple secondary IDE interrupt
  [POWERPC] Make U4 PCIe work on maple
  [POWERPC] cell: fix default zImage build target
  [POWERPC] Fix boot wrapper invocation if CROSS_COMPILE contains spaces
  [POWERPC] Fix xmon IRQ handler for pt_regs removal

18 years ago[PATCH] endianness annotations in s2io
Al Viro [Sun, 13 Aug 2006 19:38:04 +0000 (15:38 -0400)]
[PATCH] endianness annotations in s2io

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] ufs endianness annotations
Al Viro [Sun, 13 Aug 2006 05:54:30 +0000 (01:54 -0400)]
[PATCH] ufs endianness annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] fs/partitions endianness annotations
Al Viro [Sat, 24 Dec 2005 19:39:13 +0000 (14:39 -0500)]
[PATCH] fs/partitions endianness annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Finish annotations of struct vlan_ethhdr
Alexey Dobriyan [Wed, 28 Dec 2005 19:27:10 +0000 (22:27 +0300)]
[PATCH] Finish annotations of struct vlan_ethhdr

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] isofs endianness annotations
Al Viro [Sat, 24 Dec 2005 19:33:09 +0000 (14:33 -0500)]
[PATCH] isofs endianness annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] smbfs endianness annotations
Al Viro [Sat, 24 Dec 2005 19:32:38 +0000 (14:32 -0500)]
[PATCH] smbfs endianness annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] hpfs endianness annotations
Al Viro [Sat, 24 Dec 2005 19:31:53 +0000 (14:31 -0500)]
[PATCH] hpfs endianness annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] fs/fat endianness annotations
Al Viro [Sat, 24 Dec 2005 19:31:04 +0000 (14:31 -0500)]
[PATCH] fs/fat endianness annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] befs: endianness annotations
Al Viro [Sat, 24 Dec 2005 19:28:55 +0000 (14:28 -0500)]
[PATCH] befs: endianness annotations

split the data structures that exist in host- and disk-endian variants,
annotate the fields of disk-endian ones, propagate changes.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] befs: missing fs32_to_cpu() in debug.c
Al Viro [Sat, 24 Dec 2005 08:09:03 +0000 (03:09 -0500)]
[PATCH] befs: missing fs32_to_cpu() in debug.c

inode->mode is disk-endian

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] befs: introduce on-disk endian types
Al Viro [Sat, 24 Dec 2005 06:32:03 +0000 (01:32 -0500)]
[PATCH] befs: introduce on-disk endian types

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] befs: prepare to sanitizing headers
Al Viro [Sat, 24 Dec 2005 06:13:13 +0000 (01:13 -0500)]
[PATCH] befs: prepare to sanitizing headers

pulled includes of endian.h from fs/befs/*.c to befs.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] befs: remove bogus typedef
Al Viro [Sat, 24 Dec 2005 01:56:46 +0000 (20:56 -0500)]
[PATCH] befs: remove bogus typedef

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] chelsio: add endian annotations
Alexey Dobriyan [Thu, 22 Dec 2005 22:18:25 +0000 (01:18 +0300)]
[PATCH] chelsio: add endian annotations

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] serpent: fix endian warnings
Alexey Dobriyan [Thu, 22 Dec 2005 22:12:25 +0000 (01:12 +0300)]
[PATCH] serpent: fix endian warnings

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] cdrom: add endianness annotations
Alexey Dobriyan [Thu, 1 Dec 2005 22:10:40 +0000 (17:10 -0500)]
[PATCH] cdrom: add endianness annotations

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] use %p for pointers
Al Viro [Tue, 10 Oct 2006 21:49:57 +0000 (22:49 +0100)]
[PATCH] use %p for pointers

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] use %zu for size_t
Al Viro [Tue, 10 Oct 2006 21:49:47 +0000 (22:49 +0100)]
[PATCH] use %zu for size_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] missed const in prototype
Al Viro [Tue, 10 Oct 2006 21:49:37 +0000 (22:49 +0100)]
[PATCH] missed const in prototype

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] net/sunrpc/auth_gss/svcauth_gss.c endianness regression
Al Viro [Tue, 10 Oct 2006 21:49:27 +0000 (22:49 +0100)]
[PATCH] net/sunrpc/auth_gss/svcauth_gss.c endianness regression

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] strndup() would better take size_t, not int
Al Viro [Tue, 10 Oct 2006 21:49:17 +0000 (22:49 +0100)]
[PATCH] strndup() would better take size_t, not int

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] ptrdiff_t is %t, not %z
Al Viro [Tue, 10 Oct 2006 21:49:07 +0000 (22:49 +0100)]
[PATCH] ptrdiff_t is %t, not %z

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] cpuset ANSI prototype
Al Viro [Tue, 10 Oct 2006 21:48:57 +0000 (22:48 +0100)]
[PATCH] cpuset ANSI prototype

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] fs/inode.c NULL noise removal
Al Viro [Tue, 10 Oct 2006 21:48:47 +0000 (22:48 +0100)]
[PATCH] fs/inode.c NULL noise removal

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] em28xx NULL noise removal
Al Viro [Tue, 10 Oct 2006 21:48:37 +0000 (22:48 +0100)]
[PATCH] em28xx NULL noise removal

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] __user annotations: loop.c
Al Viro [Tue, 10 Oct 2006 21:48:27 +0000 (22:48 +0100)]
[PATCH] __user annotations: loop.c

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] openprom NULL noise removal
Al Viro [Tue, 10 Oct 2006 21:48:17 +0000 (22:48 +0100)]
[PATCH] openprom NULL noise removal

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] trivial iomem annotations: sata_promise
Al Viro [Tue, 10 Oct 2006 21:48:07 +0000 (22:48 +0100)]
[PATCH] trivial iomem annotations: sata_promise

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] gfp annotations: radix_tree_root
Al Viro [Tue, 10 Oct 2006 21:47:57 +0000 (22:47 +0100)]
[PATCH] gfp annotations: radix_tree_root

struct radix_tree_root has unused upper bits of ->gfp_mask reused for
tags bitmap.  Annotated.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] gfp annotations: scsi_error
Al Viro [Tue, 10 Oct 2006 21:47:47 +0000 (22:47 +0100)]
[PATCH] gfp annotations: scsi_error

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] ptrace32 trivial __user annotations
Al Viro [Tue, 10 Oct 2006 21:47:37 +0000 (22:47 +0100)]
[PATCH] ptrace32 trivial __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] trivial iomem annotations: istallion
Al Viro [Tue, 10 Oct 2006 21:47:27 +0000 (22:47 +0100)]
[PATCH] trivial iomem annotations: istallion

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] acpi NULL noise removal
Al Viro [Tue, 10 Oct 2006 21:47:17 +0000 (22:47 +0100)]
[PATCH] acpi NULL noise removal

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] passing pointer to setup_timer() should be via unsigned long
Al Viro [Tue, 10 Oct 2006 21:47:07 +0000 (22:47 +0100)]
[PATCH] passing pointer to setup_timer() should be via unsigned long

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] make kernel/relay.c __user-clean
Al Viro [Tue, 10 Oct 2006 21:46:57 +0000 (22:46 +0100)]
[PATCH] make kernel/relay.c __user-clean

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] fix misannotation in ioc4.h
Al Viro [Tue, 10 Oct 2006 21:46:47 +0000 (22:46 +0100)]
[PATCH] fix misannotation in ioc4.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] mtd: remove several bogus casts to void * in iounmap() argument
Al Viro [Tue, 10 Oct 2006 21:46:37 +0000 (22:46 +0100)]
[PATCH] mtd: remove several bogus casts to void * in iounmap() argument

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] ia64/sn __iomem annotations
Al Viro [Tue, 10 Oct 2006 21:46:27 +0000 (22:46 +0100)]
[PATCH] ia64/sn __iomem annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] ia64/hp NULL noise removal
Al Viro [Tue, 10 Oct 2006 21:46:17 +0000 (22:46 +0100)]
[PATCH] ia64/hp NULL noise removal

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] __user annotations: futex
Al Viro [Tue, 10 Oct 2006 21:46:07 +0000 (22:46 +0100)]
[PATCH] __user annotations: futex

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] tipc __user annotations
Al Viro [Tue, 10 Oct 2006 21:45:57 +0000 (22:45 +0100)]
[PATCH] tipc __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] drivers/dma trivial annotations
Al Viro [Tue, 10 Oct 2006 21:45:47 +0000 (22:45 +0100)]
[PATCH] drivers/dma trivial annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] devio __user annotations
Al Viro [Tue, 10 Oct 2006 21:45:37 +0000 (22:45 +0100)]
[PATCH] devio __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] hwdep_compat missed __user annotations
Al Viro [Tue, 10 Oct 2006 21:45:27 +0000 (22:45 +0100)]
[PATCH] hwdep_compat missed __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] misc sata __iomem annotations
Al Viro [Tue, 10 Oct 2006 21:45:17 +0000 (22:45 +0100)]
[PATCH] misc sata __iomem annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] fix misannotations in loop.c
Al Viro [Tue, 10 Oct 2006 21:45:07 +0000 (22:45 +0100)]
[PATCH] fix misannotations in loop.c

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] NULL noise removal: advansys
Al Viro [Tue, 10 Oct 2006 21:44:57 +0000 (22:44 +0100)]
[PATCH] NULL noise removal: advansys

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] __iomem annotations in sunzilog
Al Viro [Tue, 10 Oct 2006 21:44:47 +0000 (22:44 +0100)]
[PATCH] __iomem annotations in sunzilog

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] dccp __user annotations
Al Viro [Tue, 10 Oct 2006 21:44:37 +0000 (22:44 +0100)]
[PATCH] dccp __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] drivers/s390 misc sparse annotations
Al Viro [Tue, 10 Oct 2006 21:44:27 +0000 (22:44 +0100)]
[PATCH] drivers/s390 misc sparse annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] more fs/compat.c __user annotations
Al Viro [Tue, 10 Oct 2006 21:44:17 +0000 (22:44 +0100)]
[PATCH] more fs/compat.c __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] advansys __iomem annotations
Al Viro [Tue, 10 Oct 2006 21:44:07 +0000 (22:44 +0100)]
[PATCH] advansys __iomem annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoIB/mthca: Fix off-by-one in mthca SRQ creation
Michael S. Tsirkin [Mon, 9 Oct 2006 16:06:32 +0000 (18:06 +0200)]
IB/mthca: Fix off-by-one in mthca SRQ creation

All HCAs (not just mem-free) need a spare SRQ entry, so bump srq->max
by 1 in all cases.

Noted 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 agoIPoIB: Check for DMA mapping error for TX packets
Roland Dreier [Tue, 10 Oct 2006 19:50:38 +0000 (12:50 -0700)]
IPoIB: Check for DMA mapping error for TX packets

Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agoRDMA/amso1100: Fix build with debugging off
Roland Dreier [Tue, 10 Oct 2006 19:50:38 +0000 (12:50 -0700)]
RDMA/amso1100: Fix build with debugging off

Since pr_debug() has changed from a macro to an inline function when
DEBUG is not defined, its arguments now need to be defined even when
debugging is off.  Therefore to_event_str() and to_qp_state_str() need
to be moved out of #ifdef DEBUG.  The compiler will throw the
definitions away if DEBUG is not defined, but it needs to be able to
see that the functions exist.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agoIB/cm: Send DREP in response to unmatched DREQ
Sean Hefty [Wed, 4 Oct 2006 18:37:25 +0000 (11:37 -0700)]
IB/cm: Send DREP in response to unmatched DREQ

Currently a DREP is only sent in response to a DREQ if a connection
has been found matching the DREQ, and it is in the proper state.  Once
a DREP is sent, the local connection moves into timewait.  Duplicate
DREQs received while in this state result in re-sending the DREP.

However, it's likely that the local connection will enter and exit
timewait before the remote side times out a lost DREP and resends a DREQ.
To handle this, we send a DREP in response to a DREQ, even if a local
connection is not found.  This avoids maintaining disconnected
id's in timewait states for excessively long times, just to handle a
lost DREP.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agoIB/cm: Fix timewait crash after module unload
Sean Hefty [Wed, 4 Oct 2006 18:29:59 +0000 (11:29 -0700)]
IB/cm: Fix timewait crash after module unload

If the ib_cm module is unloaded while id's are still in timewait, the
CM will destroy the work queue used to process timewait.  Once the
id's exit timewait, their timers will fire, leading to a crash trying
to access the destroyed work queue.

We need to track id's that are in timewait, and cancel their deferred
work on module unload.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agoIB/mthca: Query port fix
Jack Morgenstein [Wed, 4 Oct 2006 11:56:34 +0000 (13:56 +0200)]
IB/mthca: Query port fix

Fill in "max_vl_num" (encoded according to VLCap field in the PortInfo MAD)
and "init_type_reply" values in the ib_query_port() verb.

Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agoIB/srp: Enable multiple connections to the same target
Ishai Rabinovitz [Wed, 4 Oct 2006 13:28:56 +0000 (15:28 +0200)]
IB/srp: Enable multiple connections to the same target

Enable multiple concurrent connections to the same SRP target:

1) Use port GUID instead of node GUID in the initiator port
   identifier.  This allows connections to be made from multiple HCA
   ports at the same time.
2) Let the user specify the identifier extention when adding the
   device.  This allows userspace to make multiple connections even
   from the same port, if it wants too.

Without this, only one connection can be made from any given HCA, even
if it has multiple ports, because we don't use multi-channel mode, so
targets will only allow one connection from a given initiator port ID.

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/srp: Remove redundant memset()
Ishai Rabinovitz [Tue, 10 Oct 2006 16:51:14 +0000 (09:51 -0700)]
IB/srp: Remove redundant memset()

scsi_host_alloc() already allocates with kzalloc(), so the struct Scsi_Host
is zeroed out, including the private data portion.  Remove the redundant
memset that zeros this out again in the SRP initiator.

Signed-off-by: Ishai Rabinovitz <ishai@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agoRDMA/amso1100: Add spinlocks to serialize ib_post_send/ib_post_recv
Tom Tucker [Tue, 3 Oct 2006 14:46:41 +0000 (09:46 -0500)]
RDMA/amso1100: Add spinlocks to serialize ib_post_send/ib_post_recv

The AMSO driver was not thread-safe in the post WR code and had
code that would sleep if the WR post FIFO was full. Since these
functions can be called on interrupt level I changed the sleep to a
udelay.

Signed-off-by: Tom Tucker <tom@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years ago[POWERPC] Fix windfarm platform device usage
Benjamin Herrenschmidt [Tue, 10 Oct 2006 01:47:31 +0000 (11:47 +1000)]
[POWERPC] Fix windfarm platform device usage

The windfarm code uses a struct device_driver instead of
platform_driver, which can cause crashes if any of the callbacks are
called (like on module removal). This fixes it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fix i2c-powermac platform device usage
Benjamin Herrenschmidt [Tue, 10 Oct 2006 01:45:45 +0000 (11:45 +1000)]
[POWERPC] Fix i2c-powermac platform device usage

i2c-powermac was written & merged right after Russell King's changes
adding platform_driver... which I missed. Thus it still used struct
device, causing crashes when hitting sleep/wakeup callbacks (it happened
to work by luck so far, until early/late callbacks got added). This
causes crashes on sleep/wakeup on PowerBooks with 2.6.19. The patch
fixes it by using a proper platform_driver.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fix secondary CPU startup on old "powersurge" SMP powermacs
Paul Mackerras [Tue, 10 Oct 2006 03:51:00 +0000 (13:51 +1000)]
[POWERPC] Fix secondary CPU startup on old "powersurge" SMP powermacs

On the old "powersurge" SMP powermacs, the second CPU is started up
by sending it an IPI, which has the side effect of stopping the
timebase clock (so the secondary CPU's timebase can be synchronized
with the primary's).  The routine that did this used udelay, which
will hang forever when the timebase is stopped, since udelay now spins
until the timebase reaches a certain value.

The end result is that the kernel would hang when bringing up the
second CPU.  This fixes it by using a simple loop which just does a
fixed number of iterations to generate the delay.  These old systems
were all clocked at around 200 MHz or so, so a fixed number of
iterations is acceptable.

Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[PATCH] mm: bug in set_page_dirty_buffers
Nick Piggin [Tue, 10 Oct 2006 02:36:54 +0000 (04:36 +0200)]
[PATCH] mm: bug in set_page_dirty_buffers

This was triggered, but not the fault of, the dirty page accounting
patches. Suitable for -stable as well, after it goes upstream.

  Unable to handle kernel NULL pointer dereference at virtual address 0000004c
  EIP is at _spin_lock+0x12/0x66
  Call Trace:
   [<401766e7>] __set_page_dirty_buffers+0x15/0xc0
   [<401401e7>] set_page_dirty+0x2c/0x51
   [<40140db2>] set_page_dirty_balance+0xb/0x3b
   [<40145d29>] __do_fault+0x1d8/0x279
   [<40147059>] __handle_mm_fault+0x125/0x951
   [<401133f1>] do_page_fault+0x440/0x59f
   [<4034d0c1>] error_code+0x39/0x40
   [<08048a33>] 0x8048a33

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Tue, 10 Oct 2006 02:35:20 +0000 (19:35 -0700)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC32]: Fix prom.c build warning
  [SPARC64]: Update defconfig.
  [SPARC64]: Fix of_device bus_id settings.
  [SPARC64]: Update MAINTAINERS entry.

18 years ago[POWERPC] ARCH=ppc pt_regs fixes
Al Viro [Mon, 9 Oct 2006 11:48:42 +0000 (12:48 +0100)]
[POWERPC] ARCH=ppc pt_regs fixes

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davej/configh
Linus Torvalds [Tue, 10 Oct 2006 01:55:00 +0000 (18:55 -0700)]
Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/configh

* master.kernel.org:/pub/scm/linux/kernel/git/davej/configh:
  [HEADERS] Put linux/config.h out of its misery.

18 years ago[POWERPC] Update maple defconfig
Benjamin Herrenschmidt [Mon, 9 Oct 2006 03:28:59 +0000 (13:28 +1000)]
[POWERPC] Update maple defconfig

This updates the Maple defconfig to 4 CPUs (along with current defaults)
to support the "tigerwood" 970MP evaluation board.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fix Maple secondary IDE interrupt
Benjamin Herrenschmidt [Mon, 9 Oct 2006 03:27:28 +0000 (13:27 +1000)]
[POWERPC] Fix Maple secondary IDE interrupt

The IDE driver will pick up the PCI IRQ for both channels on Maple
despite the fact that it's in legacy mode. This works around it by
"hiding" the PCI IRQ of the AMD8111 IDE controller when it's configured
in legacy mode on the Maple platform, thus causing the driver to call
pci_get_legacy_ide_irq() which will return the correct interrupts for
both channels.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Make U4 PCIe work on maple
Benjamin Herrenschmidt [Mon, 9 Oct 2006 03:25:15 +0000 (13:25 +1000)]
[POWERPC] Make U4 PCIe work on maple

The Maple support code was missing code for U4/CPC945 PCIe. This adds
it, enabling it to work on tigerwood boards, and possibly also js21
using SLOF. Also disable an obsolete firmware workaround.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] cell: fix default zImage build target
Geoff Levand [Sat, 7 Oct 2006 22:33:53 +0000 (15:33 -0700)]
[POWERPC] cell: fix default zImage build target

Change CONFIG_PPC_CELL to CONFIG_PPC_IBM_CELL_BLADE in the powerpc boot
makefile.

CONFIG_PPC_CELL is used to build the generic cell processor support, and
is not an indication of platform.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fix boot wrapper invocation if CROSS_COMPILE contains spaces
Michael Ellerman [Sat, 30 Sep 2006 01:54:09 +0000 (11:54 +1000)]
[POWERPC] Fix boot wrapper invocation if CROSS_COMPILE contains spaces

My CROSS_COMPILE is "ccache /opt/compilers/blah", which confuses
the boot wrapper script. Quote CROSS_COMPILE and CROSS32_COMPILE
so they can safely contain spaces.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fix xmon IRQ handler for pt_regs removal
Paul Mackerras [Tue, 10 Oct 2006 01:47:07 +0000 (11:47 +1000)]
[POWERPC] Fix xmon IRQ handler for pt_regs removal

Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[SPARC32]: Fix prom.c build warning
Martin Habets [Tue, 10 Oct 2006 01:10:16 +0000 (18:10 -0700)]
[SPARC32]: Fix prom.c build warning

Fix these 2.6.19-rc1 build warnings:

  CC      arch/sparc/kernel/prom.o
arch/sparc/kernel/prom.c: In function `of_set_property':
arch/sparc/kernel/prom.c:246: warning: passing arg 2 of `prom_setprop' discards qualifiers from pointer target type
arch/sparc/kernel/prom.c: In function `build_one_prop':
arch/sparc/kernel/prom.c:446: warning: unused variable `len'
arch/sparc/kernel/prom.c:480: warning: ignoring return value of `prom_getproperty', declared with attribute warn_unused_result

Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>