]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
19 years ago[PATCH] uml: initrd cleanup
Jeff Dike [Fri, 20 May 2005 20:59:10 +0000 (13:59 -0700)]
[PATCH] uml: initrd cleanup

The serial UML OS-abstraction layer patch (um/kernel dir).

This moves all systemcalls from initrd_user.c file under os-Linux dir and join
initrd_user.c and initrd_kern.c files in new file initrd.c

Signed-off-by: Gennady Sharapov <Gennady.V.Sharapov@intel.com>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: Export clear_user_*
Jeff Dike [Fri, 20 May 2005 20:59:10 +0000 (13:59 -0700)]
[PATCH] uml: Export clear_user_*

From: Oleg Drokin: This patch is needed to support kernel modules that want to
use clear_user() (that is exported symbol on all other architectures).

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: multicast driver cleanup
Jeff Dike [Fri, 20 May 2005 20:59:09 +0000 (13:59 -0700)]
[PATCH] uml: multicast driver cleanup

Byte-swapping of the port and IP address passed in to the multicast driver by
the user used to happen in different places, which was a bug in itself.  The
port also was swapped before being printk-ed, which led to a misleading
message.  This patch moves the port swapping to the same place as the IP
address swapping.  It also cleans up the error paths of mcast_open.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: Delay loop cleanups
Jeff Dike [Fri, 20 May 2005 20:59:08 +0000 (13:59 -0700)]
[PATCH] uml: Delay loop cleanups

This patch cleans up the delay implementations a bit, makes the loops
unoptimizable, and exports __udelay and __const_udelay.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: Page fault fixes
Jeff Dike [Fri, 20 May 2005 20:59:08 +0000 (13:59 -0700)]
[PATCH] uml: Page fault fixes

Any access to a PROT_NONE page should segfault the process.  A JVM seems to do
this on purpose.  Also, Al noticed some bogus code, which is now deleted.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: small fixes left over from rc4
Jeff Dike [Fri, 20 May 2005 20:59:07 +0000 (13:59 -0700)]
[PATCH] uml: small fixes left over from rc4

Some changes that I sent in didn't make 2.6.12-rc4 for some reason.  This
adds them back.  We have
an x86_64 definition of TOP_ADDR
a reimplementation of the x86_64 csum_partial_copy_from_user
some syntax fixes in arch/um/kernel/ptrace.c
removal of a CFLAGS definition in the x86_64 Makefile
some include changes in the x86_64 ptrace.c and user-offsets.h
a syntax fix in elf-x86_64.h
Also moved an include in the i386 and x86_64 Makefiles to make the symlinks
work, and some small fixes from Al Viro.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] packet driver permission checking fix
Peter Osterlund [Fri, 20 May 2005 20:59:06 +0000 (13:59 -0700)]
[PATCH] packet driver permission checking fix

If you tried to open a packet device first in read-only mode and then a
second time in read-write mode, the second open succeeded even though the
device was not correctly set up for writing.  If you then tried to write
data to the device, the writes would fail with I/O errors.

This patch prevents that problem by making the second open fail with
-EBUSY.

Signed-off-by: Peter Osterlund <petero2@telia.com>
Cc: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[SCSI] aic7xxx: fix U160 mode
James Bottomley [Fri, 20 May 2005 02:30:13 +0000 (21:30 -0500)]
[SCSI] aic7xxx: fix U160 mode

The new period/dt setting routines don't get the coupling of these
parameters correct.  This means that Domain Validation never gets DT
set, and thus the drive gets restricted to U80.

Fix this by restoring the couplings in the set routines.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic7xxx: add back locking
James Bottomley [Wed, 18 May 2005 02:09:52 +0000 (21:09 -0500)]
[SCSI] aic7xxx: add back locking

Tampering with the settings has to be done under the host lock ...
slave_alloc isn't called under any lock, so this has to be done
explicitly.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic7xxx: make correct use of slave_alloc/destroy and remove the per device...
James Bottomley [Tue, 17 May 2005 23:07:34 +0000 (18:07 -0500)]
[SCSI] aic7xxx: make correct use of slave_alloc/destroy and remove the per device timer

The allocation of all of our components should be done in slave alloc.
Currently it's rather fancifully refcounted in the queuecommand
callback.  This patch moves allocation and destroy to their correct
places in slave_alloc/slave_destory.  Now we can guarantee that
everywhere a device is requested, it's actually been allocated, so don't
check for this anymore.

Additionally, the per device busy timer was the only source of potential
use after free.  It's been deleted because Linux does the correct thing
with busy returns, so there's no need to implement a separate timer in
the driver.

Finally, implement code that forces all the device parameters to zero
(i.e. async and narrow) in the slave alloc, inform the spi class of the
bios recorded maximums and wait until slave configure before trying
anything more adventurous.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic7xxx: remove the completeq
James Bottomley [Tue, 17 May 2005 05:06:08 +0000 (00:06 -0500)]
[SCSI] aic7xxx: remove the completeq

This should finish the spurious queue removal from aic7xxx (there are
other queues that are probably unnecessary, but at least the major and
obviously unnecessary ones are done with).

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic7xxx: remove the last vestiges of the runq
James Bottomley [Tue, 17 May 2005 02:37:58 +0000 (21:37 -0500)]
[SCSI] aic7xxx: remove the last vestiges of the runq

This was rendered obsolete by the busyq removal; remove some of the last
remnants of its presence.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic7xxx: remove usage of obsolete typedefs
Christoph Hellwig [Mon, 16 May 2005 16:52:39 +0000 (18:52 +0200)]
[SCSI] aic7xxx: remove usage of obsolete typedefs

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] remove dma_mask hacks
Christoph Hellwig [Mon, 16 May 2005 16:54:12 +0000 (18:54 +0200)]
[SCSI] remove dma_mask hacks

pci_alloc_consistent is under 4G by default.  Also simplify the
definition of bus_dmamap_t.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic7xxx: remove Linux 2.4 ifdefs
Christoph Hellwig [Mon, 16 May 2005 16:52:06 +0000 (18:52 +0200)]
[SCSI] aic7xxx: remove Linux 2.4 ifdefs

There's not much sense in sharing code anymore now that aic7xxx uses
various transport class facilities.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic7xxx: remove some DV leftovers
Christoph Hellwig [Mon, 16 May 2005 16:51:13 +0000 (18:51 +0200)]
[SCSI] aic7xxx: remove some DV leftovers

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] remove aic7xxx busyq
James Bottomley [Mon, 16 May 2005 21:39:38 +0000 (16:39 -0500)]
[SCSI] remove aic7xxx busyq

The aic7xxx driver has two spurious queues in it's linux glue code: the
busyq which queues incoming commands to the driver and the completeq
which queues finished commands before sending them back to the mid-layer

This patch just removes the busyq and makes the aic finally return the
correct status to get the mid-layer to manage its queueing, so a command
is either committed to the sequencer or returned to the midlayer for
requeue.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] correct aic7xxx period setting routines
James Bottomley [Sun, 8 May 2005 21:00:15 +0000 (16:00 -0500)]
[SCSI] correct aic7xxx period setting routines

This is similar to the previous sym2 problem.  For Domain Validation to
work we can't allow any period setting to turn wide on if it was
previously off.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] implement parameter limits in the SPI transport class
James Bottomley [Fri, 6 May 2005 23:05:20 +0000 (18:05 -0500)]
[SCSI] implement parameter limits in the SPI transport class

There's a basic need not to have parameters go under or over certain
values when doing domain validation.  The basic ones are

max_offset, max_width and min_period

This patch makes the transport class take and enforce these three
limits.  Currently they can be set by the user, although they could
obviously be read from the HBA's on-board NVRAM area during
slave_configure (if it has one).

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] 2.6 aacraid: Variable FIB size (updated patch)
Mark Haverkamp [Tue, 17 May 2005 01:28:42 +0000 (18:28 -0700)]
[SCSI] 2.6 aacraid: Variable FIB size (updated patch)

New code from the Adaptec driver.  Performance enhancement for newer
adapters.  I hope that this isn't too big for a single patch.  I believe
that other than the few small cleanups mentioned, that the changes are
all related.

- Added Variable FIB size negotiation for new adapters.
- Added support to maximize scatter gather tables and thus permit
  requests larger than 64KB/each.
- Limit Scatter Gather to 34 elements for ROMB platforms.
- aac_printf is only enabled with AAC_QUIRK_34SG
- Large FIB ioctl support
- some minor cleanup

Passes sparse check.
I have tested it on x86 and ppc64 machines.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] megaraid version 2.20.4.6
Ju, Seokmann [Mon, 16 May 2005 22:32:17 +0000 (18:32 -0400)]
[SCSI] megaraid version 2.20.4.6

Signed-off by: Seokmann Ju <sju@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] fusion - bump driver version to 3.03.02
Moore, Eric Dean [Wed, 11 May 2005 23:37:43 +0000 (17:37 -0600)]
[SCSI] fusion - bump driver version to 3.03.02

Bump driver version to 3.03.02

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] fusion - mpi headers version 1.5.9
Moore, Eric Dean [Wed, 11 May 2005 23:37:38 +0000 (17:37 -0600)]
[SCSI] fusion - mpi headers version 1.5.9

This patch contains update for mpi headers 1.5.9.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] fusion-kconfig-cleanup
Moore, Eric Dean [Wed, 11 May 2005 23:37:29 +0000 (17:37 -0600)]
[SCSI] fusion-kconfig-cleanup

* This patch clarifies help section in FUSION_MAX_SGE entry.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] fusion-kfree-cleanup
Moore, Eric Dean [Wed, 11 May 2005 23:37:26 +0000 (17:37 -0600)]
[SCSI] fusion-kfree-cleanup

This patch is originally From: Jesper Juhl <juhl-lkml@dif.dk>

This patch gets rid of redundant NULL checks prior to calling kfree() in
drivers/message/* There are also a few small whitespace changes in there.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] fusion - Adding pci recog support for Fibre 949X and 939X chips
Moore, Eric Dean [Wed, 11 May 2005 23:46:52 +0000 (17:46 -0600)]
[SCSI] fusion - Adding pci recog support for Fibre 949X and 939X chips

* adding pci id support for new Fibre chips, 949X and 939X
* adding errata workaround - disabling PIO access except during fwdlb.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] saved and restore result for timed out commands
Patrick Mansfield [Tue, 17 May 2005 00:42:15 +0000 (17:42 -0700)]
[SCSI] saved and restore result for timed out commands

Save and restore the scmd->result, so that timed out commands do not
return the result of the TEST UNIT READY or the start/stop commands. Code
is already in place to save and restore the result for the request sense
case.

The previous version of this patch erroneously removed the "if" check,
instead add a comment as to why the "if" is needed.

Signed-off-by: Patrick Mansfield <patmans@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years agoRemove some left-over empty files
Linus Torvalds [Fri, 20 May 2005 20:36:19 +0000 (13:36 -0700)]
Remove some left-over empty files

Hopefully the addition of -E to my applypatch script
will mean that I won't have these kinds of leftovers
in the future.

19 years agomerge by hand - fix up rejections in Documentation/DocBook/Makefile
James Bottomley [Fri, 20 May 2005 20:27:44 +0000 (15:27 -0500)]
merge by hand - fix up rejections in Documentation/DocBook/Makefile

19 years ago[SPARC64]: Fix bad performance side effect of strbuf timeout changes.
David S. Miller [Fri, 20 May 2005 18:40:32 +0000 (11:40 -0700)]
[SPARC64]: Fix bad performance side effect of strbuf timeout changes.

The recent change to add a timeout to strbuf flushing had
a negative performance impact.  The udelay()'s are too long,
and they were done in the wrong order wrt. the register read
checks.  Fix both, and things are happy again.

There are more possible improvements in this area.  In fact,
PCI streaming buffer flushing seems to be part of the bottleneck
in network receive performance on my SunBlade1000 box.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SCSI] remove Documentation/DocBook/scsidrivers.tmpl
Christoph Hellwig [Sun, 15 May 2005 15:20:56 +0000 (17:20 +0200)]
[SCSI] remove Documentation/DocBook/scsidrivers.tmpl

This document is rather rudimentary and totally outdated.  Fortunately
Documentation/scsi/scsi_mid_low_api.txt replaces it quite nicely.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] remove a timer race in scsi_queue_insert()
Tejun Heo [Fri, 13 May 2005 15:46:08 +0000 (00:46 +0900)]
[SCSI] remove a timer race in scsi_queue_insert()

scsi_queue_insert() has four callers.  Three callers call with
timer disabled and one (the second invocation in
scsi_dispatch_cmd()) calls with timer activated.
scsi_queue_insert() used to always call scsi_delete_timer()
and ignore the return value.  This results in race with timer
expiration.  Remove scsi_delete_timer() call from
scsi_queue_insert() and make the caller delete timer and check
the return value.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] remove spurious if tests from scsi_eh_{times_out|done}
Tejun Heo [Fri, 13 May 2005 15:46:18 +0000 (00:46 +0900)]
[SCSI] remove spurious if tests from scsi_eh_{times_out|done}

'if' tests which check if eh_action isn't NULL in both
functions are always true.  Remove the redundant if's as it
can give wrong impressions.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] remove unnecessary scsi_delete_timer() call in scsi_reset_provider()
Tejun Heo [Fri, 13 May 2005 15:46:13 +0000 (00:46 +0900)]
[SCSI] remove unnecessary scsi_delete_timer() call in scsi_reset_provider()

scsi_reset_provider() calls scsi_delete_timer() on exit which
isn't necessary.  Remove it.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] convert scsi changer driver from class simple
Gerd Knorr [Thu, 12 May 2005 08:25:26 +0000 (10:25 +0200)]
[SCSI] convert scsi changer driver from class simple

Here is a incremental patch which switches the driver over to
the new non-simple functions.  Compile-tested.

Signed-off-by: Gerd Knorr <kraxel@bytesex.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] add scsi changer driver
Gerd Knorr [Tue, 10 May 2005 08:59:13 +0000 (10:59 +0200)]
[SCSI] add scsi changer driver

This patch adds a device driver for scsi media changer devices.

Signed-off-by: Gerd Knorr <kraxel@bytesex.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] ipr: Fix ipr PCI hotplug hang with CDROM attach
brking@us.ibm.com [Tue, 3 May 2005 00:50:47 +0000 (19:50 -0500)]
[SCSI] ipr: Fix ipr PCI hotplug hang with CDROM attach

Currently, during PCI hotplug remove, if the upper layer
drivers of the attached devices send commands down as part
of the remove action, like a CDROM, the hotplug action
will hang forever due to the ipr driver returning
SCSI_MLQUEUE_HOST_BUSY. Patch fixes this.

Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] drivers/scsi/sym53c416.c: fix a wrong check
Adrian Bunk [Sun, 1 May 2005 23:47:10 +0000 (01:47 +0200)]
[SCSI] drivers/scsi/sym53c416.c: fix a wrong check

The Coverity checker found that this for loop was wrong.

This patch changes it to what seems to be intended.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] SCSI tape: fix permissions for SG_IO, etc.
Kai Makisara [Sun, 1 May 2005 15:11:55 +0000 (18:11 +0300)]
[SCSI] SCSI tape: fix permissions for SG_IO, etc.

This patch is against 2.6.12-rc3 + linus-patch from April 30. The patch
contains the following fixes:

- CAP_SYS_RAWIO is used instead of CAP_SYS_ADMIN; fix from Alan Cox
- only direct sending of SCSI commands requires this permission
- the st status is modified is successful unload is performed using
  SCSI_IOCTL_STOP_UNIT

Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] ipr: Driver version 2.0.14
brking@us.ibm.com [Tue, 3 May 2005 00:51:06 +0000 (19:51 -0500)]
[SCSI] ipr: Driver version 2.0.14

Bump driver version

Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] ipr: Array error logging fix
brking@us.ibm.com [Tue, 3 May 2005 00:50:59 +0000 (19:50 -0500)]
[SCSI] ipr: Array error logging fix

Bugme 4547. The following patch fixes a bug in ipr's error logging.

Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla1280.c - fix result for device Busy and Queue Full
Jeremy Higdon [Sun, 1 May 2005 12:18:48 +0000 (05:18 -0700)]
[SCSI] qla1280.c - fix result for device Busy and Queue Full

I discovered that the qla1280 driver does not send the correct status
to the midlayer when it gets Queue Full or Busy from a device.

Signed-off-by: Jeremy Higdon <jeremy@sgi.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] mptfusion: fix panic loading driver statically compiled
Moore, Eric Dean [Sat, 30 Apr 2005 22:09:38 +0000 (17:09 -0500)]
[SCSI] mptfusion: fix panic loading driver statically compiled

Adjust link ordering in the Makefile.  Also, the ioc->DoneCtx handles
for mptspi/mptfc in the message frame.  And I'm now not seeing the
panic.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] ultrastor: fix compile failure
James Bottomley [Sat, 30 Apr 2005 22:05:20 +0000 (17:05 -0500)]
[SCSI] ultrastor: fix compile failure

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla trivial iomem annotation
Al Viro [Wed, 27 Apr 2005 13:05:56 +0000 (06:05 -0700)]
[SCSI] qla trivial iomem annotation

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aacraid: remove sparse warnings
Mark Haverkamp [Wed, 27 Apr 2005 13:05:51 +0000 (06:05 -0700)]
[SCSI] aacraid: remove sparse warnings

This patch addresses the sparse -Wbitwise warnings that Christoph wanted
me to eliminate.  This mostly consisted of making data structure
elements of hardware associated structures the __le* equivalent.
Although there were a couple places where there was mixing of cpu and le
variable math.  These changes have been tested on both an x86 and ppc
machine running bonnie++.  The usage of the LE32_ALL_ONES macro has been
eliminated.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] drivers/scsi/dpt_i2o.c: fix compile warnings
Benoit Boissinot [Tue, 26 Apr 2005 02:46:48 +0000 (19:46 -0700)]
[SCSI] drivers/scsi/dpt_i2o.c: fix compile warnings

This patch fixes the following warnings:

drivers/scsi/dpt_i2o.c: In function â€˜adpt_isr’:
drivers/scsi/dpt_i2o.c:2030: warning: passing argument 1 of â€˜readl’ makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2031: warning: passing argument 1 of â€˜readl’ makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2042: warning: passing argument 1 of â€˜readl’ makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2043: warning: passing argument 2 of â€˜writel’ makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2046: warning: passing argument 1 of â€˜readl’ makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2048: warning: passing argument 1 of â€˜readl’ makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2055: warning: passing argument 1 of â€˜readl’ makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2062: warning: passing argument 1 of â€˜readl’ makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2069: warning: passing argument 1 of â€˜readl’ makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c: In function â€˜adpt_i2o_to_scsi’: drivers/scsi/dpt_i2o.c:2239: warning: passing argument 1 of â€˜readl’ makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2243: warning: passing argument 1 of â€˜readl’ makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2248: warning: passing argument 1 of â€˜readl’ makes pointer from integer without a cast
drivers/scsi/dpt_i2o.c:2259: warning: passing argument 1 of â€˜readl’ makes pointer from integer without a cast

It define variables which are only used with a type of 'void __iomem *'
with this type instead of the incorrect 'unsigned long' type.
It also remove pointless casts.

Signed-off-by: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] drivers/scsi/dpt_i2o.c: cleanup useless code
Benoit Boissinot [Tue, 26 Apr 2005 02:46:30 +0000 (19:46 -0700)]
[SCSI] drivers/scsi/dpt_i2o.c: cleanup useless code

This patch removes the array 'hbas' as it seems to be useless
and redundant with the linked list hbas_chain.

Signed-off-by: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] drivers/scsi/aacraid/: make some functions static
Adrian Bunk [Tue, 26 Apr 2005 02:45:58 +0000 (19:45 -0700)]
[SCSI] drivers/scsi/aacraid/: make some functions static

This patch makes some needlessly global functions static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] drivers/scsi/FlashPoint.c: cleanups
James Bottomley [Sun, 24 Apr 2005 07:38:05 +0000 (02:38 -0500)]
[SCSI] drivers/scsi/FlashPoint.c: cleanups

From: Adrian Bunk <bunk@stusta.de>

This patch contains cleanups including the following:
- remove #ifdef'ed code for other OS's
- remove other unused code
- make needlessly global code static

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] drivers/scsi/NCR53C9x.c: make a struct static
Adrian Bunk [Sun, 24 Apr 2005 07:34:29 +0000 (02:34 -0500)]
[SCSI] drivers/scsi/NCR53C9x.c: make a struct static

This patch makes a needlessly global struct static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] drivers/scsi/atp870u.c: make a function static
Adrian Bunk [Sun, 24 Apr 2005 07:34:17 +0000 (02:34 -0500)]
[SCSI] drivers/scsi/atp870u.c: make a function static

This patch makes a needlessly global function static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] make scsi_queue_insert() use blk_requeue_request()
Tejun Heo [Sun, 24 Apr 2005 07:08:52 +0000 (02:08 -0500)]
[SCSI] make scsi_queue_insert() use blk_requeue_request()

scsi_queue_insert() used to use blk_insert_request() for requeueing
requests.  This depends on the unobvious behavior of
blk_insert_request() setting REQ_SPECIAL and REQ_SOFTBARRIER when
requeueing.  This patch makes scsi_queue_insert() use
blk_requeue_request().  As REQ_SPECIAL means special requests and
REQ_SOFTBARRIER is automatically handled by blk layer now, no flag
needs to be set.

Note that scsi_queue_insert() now calls scsi_run_queue() itself, and
the prototype of the function is added right above
scsi_queue_insert().  This is temporary, as later requeue path
consolidation patchset removes scsi_queue_insert().  By adding
temporary prototype, we can do away with unnecessarily moving
functions.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] make scsi_requeue_request() use blk_requeue_request()
Tejun Heo [Sun, 24 Apr 2005 07:06:36 +0000 (02:06 -0500)]
[SCSI] make scsi_requeue_request() use blk_requeue_request()

scsi_requeue_request() used to use blk_insert_request() for requeueing
requests.  This depends on the unobvious behavior of
blk_insert_request() setting REQ_SPECIAL and REQ_SOFTBARRIER when
requeueing.  This patch makes scsi_queue_insert() use
blk_requeue_request().  As REQ_SPECIAL means special requests and
REQ_SOFTBARRIER is automatically handled by blk layer now, no flag
needs to be set.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] remove requeue feature from blk_insert_request()
Tejun Heo [Sun, 24 Apr 2005 07:06:05 +0000 (02:06 -0500)]
[SCSI] remove requeue feature from blk_insert_request()

blk_insert_request() has a unobivous feature of requeuing a
request setting REQ_SPECIAL|REQ_SOFTBARRIER.  SCSI midlayer
was the only user and as previous patches removed the usage,
remove the feature from blk_insert_request().  Only special
requests should be queued with blk_insert_request().  All
requeueing should go through blk_requeue_request().

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] remove REQ_SPECIAL in scsi_init_io()
Tejun Heo [Sun, 24 Apr 2005 07:04:53 +0000 (02:04 -0500)]
[SCSI] remove REQ_SPECIAL in scsi_init_io()

scsi_init_io() used to set REQ_SPECIAL when it fails sg
allocation before requeueing the request by returning
BLKPREP_DEFER.  REQ_SPECIAL is being updated to mean special
requests.  So, remove REQ_SPECIAL setting.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] make blk layer set REQ_SOFTBARRIER on defer and requeue
Tejun Heo [Sun, 24 Apr 2005 07:04:21 +0000 (02:04 -0500)]
[SCSI] make blk layer set REQ_SOFTBARRIER on defer and requeue

This is the reworked version of the patch.  It sets REQ_SOFTBARRIER
in two places - in elv_next_request() on BLKPREP_DEFER and in
blk_requeue_request().

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] remove some dead code in qla2xxx
Andrew Vasquez [Sat, 23 Apr 2005 06:47:27 +0000 (02:47 -0400)]
[SCSI] remove some dead code in qla2xxx

Original from: Christoph Hellwig <hch@lst.de>

Modified and
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] mptfusion: correct Kconfig problem
James Bottomley [Sat, 23 Apr 2005 06:45:48 +0000 (02:45 -0400)]
[SCSI] mptfusion: correct Kconfig problem

The fusion Kconfig forgets to set CONFIG_FUSION, which is required to
get the upper makefile to descend into the fusion directory.  Add this
back as a variable and make the two upper level modules select it.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] mptfusion: mptfc Adding Stub Driver - Fiber Channel
Moore, Eric Dean [Fri, 22 Apr 2005 22:02:41 +0000 (18:02 -0400)]
[SCSI] mptfusion: mptfc Adding Stub Driver - Fiber Channel

(1) mptfc.c: This driver is having module_init, module_exit, and probe.
(2) mptfc.c: Registering for Fibre Channel pci ids are done from this
module.
(3) mptfc.c: Convert MODULE_PARM to module_param

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] mptfusion: mptspi Adding Stub Driver - SCSI Parallel
Moore, Eric Dean [Fri, 22 Apr 2005 22:02:25 +0000 (18:02 -0400)]
[SCSI] mptfusion: mptspi Adding Stub Driver - SCSI Parallel

(1) mptspi.c: This driver is having module_init, module_exit, and probe.
(2) mptspi.c: Registering for SCSI pci ids are done from this module.
(3) mptspi.c: Convert MODULE_PARM to module_param

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] mptfusion: mptscsih Split driver support
Moore, Eric Dean [Fri, 22 Apr 2005 22:02:09 +0000 (18:02 -0400)]
[SCSI] mptfusion: mptscsih Split driver support

(1) mptscsih.c: Remove credits, -sralston references , update copyright
(2) mptscsih.c: split driver support
(3) mptscsih.c: module_init, module_exit, and probe routines moved to new
stub drivers, mptfc and mptspi
(4) mptscsih.c: some global parameters are moved to MPT_SCSI_HOST
(5) mptscsih.c: removed scsi_device_online check.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] mptfusion: mptlan Remove credits and update copyright
Moore, Eric Dean [Fri, 22 Apr 2005 22:01:52 +0000 (18:01 -0400)]
[SCSI] mptfusion: mptlan Remove credits and update copyright

(1) mptlan.c: Remove credits and update copyright
(2) mptlan.c: Remove -sralston references

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] mptfusion: mptctl Remove credits and update copyright
Moore, Eric Dean [Fri, 22 Apr 2005 22:01:34 +0000 (18:01 -0400)]
[SCSI] mptfusion: mptctl Remove credits and update copyright

(1) mptctl.c: Remove credits and update copyright
(2) mptctl.c: cleanup in get_iocinfo

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] mptfusion: mptbase cleanup, split driver support, DMA 32_BIT_MASK
Moore, Eric Dean [Fri, 22 Apr 2005 22:01:16 +0000 (18:01 -0400)]
[SCSI] mptfusion: mptbase cleanup, split driver support, DMA 32_BIT_MASK

(1) mptbase.c: Move registering pci ids to scsi lld drivers
(2) mptbase.c: Use the DMA_32BIT_MASK constant
(3) mptbase.c: Fix for multiple pci domains
(4) mptbase.c: Remove le32 conversion from BlockSize, which was u8 size
(5) mptbase.c: Remove credits, -sralston references , update copyright
(6) mptbase.c: split driver support

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] mptfusion: Kconfig Adding new bus type drivers for fusion drivers.
Moore, Eric Dean [Fri, 22 Apr 2005 22:00:52 +0000 (18:00 -0400)]
[SCSI] mptfusion: Kconfig Adding new bus type drivers for fusion drivers.

(1) Kconfig - added new mptspi and mptfc scsi lld drivers
(2) Kconfig - increased MAX_SGE from 40 to 128
(2) Makefile - compilation support for split drivers
(3) Makefile - cleaned up debug defines; e.g. removed obsolete, added others

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] remove PCI2000 and PCI2220i drivers
James Bottomley [Fri, 22 Apr 2005 02:50:33 +0000 (22:50 -0400)]
[SCSI] remove PCI2000 and PCI2220i drivers

From: Christoph Hellwig <hch@lst.de>

Both drivers are marked broken and haven't compiled since very early
2.5.x.  And they're for IDE hardware so they shouldn't have been
written to the SCSI layer at all.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla1280: update firmware
James Bottomley [Fri, 22 Apr 2005 01:46:50 +0000 (21:46 -0400)]
[SCSI] qla1280: update firmware

Update SCSI firmware images:

        ql1040_fw.h:
                - *     Firmware Version 7.65.00 (14:17 Jul 20, 1999)
                + *     Firmware Version 7.65.06 (14:38 Jan 07, 2002)

        ql1280_fw.h:
                - *     Firmware Version 8.15.00 (14:35 Aug 22, 2000)
                + *     Firmware Version 8.15.11 (10:20 Jan 02, 2002)

        ql12160_fw.h:
                - *     Firmware Version 10.04.32 (12:03 May 09, 2001)
                + *     Firmware Version 10.04.42 (15:44 Apr 18, 2003)

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[PATCH] Add sysfs support for the IPMI device interface
Corey Minyard [Fri, 20 May 2005 06:56:23 +0000 (08:56 +0200)]
[PATCH] Add sysfs support for the IPMI device interface

Add support for sysfs to the IPMI device interface.

Clean-ups based on Dimitry Torokovs comment by Philipp Hahn.

Signed-off-by: Corey Minyard <minyard@acm.org>
Signed-off-by: Philipp Hahn <pmhahn@titan.lahn.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppx32: Fix uninitialized variable in set_preferred_console
Paul Mackerras [Fri, 20 May 2005 06:45:58 +0000 (16:45 +1000)]
[PATCH] ppx32: Fix uninitialized variable in set_preferred_console

This fixes an uninitialized variable warning in arch/ppc/kernel/setup.c,
and this time gcc is actually right, there is a path that could result
in offset being uninitialized.  Zero is a sane default in this instance.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: Fix __copy_tofrom_user return value
Paul Mackerras [Fri, 20 May 2005 06:50:55 +0000 (16:50 +1000)]
[PATCH] ppc32: Fix __copy_tofrom_user return value

Recently the __copy_tofrom_user routine was modified to avoid doing
prefetches past the end of the source array.  However, in doing so we
introduced a bug in that it now returns the wrong value for the number
of bytes not copied when a fault is encountered.  This fixes it to
return the correct number.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: remove unused computation
Paul Mackerras [Fri, 20 May 2005 07:15:00 +0000 (17:15 +1000)]
[PATCH] ppc32: remove unused computation

We are computing phys in the code below and never using.  This patch
takes out the redundant computation.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: don't call progress functions after boot
Paul Mackerras [Fri, 20 May 2005 06:57:22 +0000 (16:57 +1000)]
[PATCH] ppc32: don't call progress functions after boot

On ppc32, the platform code can supply a "progress" function that is
used to show progress through the boot.  These functions are usually
in an init section and so can't be called after the init pages are
freed.  Now that the cpu bringup code can be called after the system
is booted (for hotplug cpu) we can get the situation where the
progress function can be called after boot.  The simple fix is to set
the progress function pointer to NULL when the init pages are freed,
and that is what this patch does (note that all callers already check
whether the function pointer is NULL before trying to call it).

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoFix get_unmapped_area sanity tests
Linus Torvalds [Fri, 20 May 2005 05:43:37 +0000 (22:43 -0700)]
Fix get_unmapped_area sanity tests

As noted by Chris Wright, we need to do the full range of tests regardless
of whether MAP_FIXED is set or not, so re-organize get_unmapped_area()
slightly to do the sanity checks unconditionally.

19 years agoAutomatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/sparc...
Linus Torvalds [Thu, 19 May 2005 22:31:18 +0000 (15:31 -0700)]
Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git/

19 years agoMerge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git/
Linus Torvalds [Thu, 19 May 2005 22:29:23 +0000 (15:29 -0700)]
Merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git/

19 years ago[NETLINK]: Defer socket destruction a bit
Tommy S. Christensen [Thu, 19 May 2005 20:07:32 +0000 (13:07 -0700)]
[NETLINK]: Defer socket destruction a bit

In netlink_broadcast() we're sending shared skb's to netlink listeners
when possible (saves some copying). This is OK, since we hold the only
other reference to the skb.

However, this implies that we must drop our reference on the skb, before
allowing a receiving socket to disappear. Otherwise, the socket buffer
accounting is disrupted.

Signed-off-by: Tommy S. Christensen <tommy.christensen@tpack.net>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: Move broadcast skb_orphan to the skb_get path.
Tommy S. Christensen [Thu, 19 May 2005 20:06:35 +0000 (13:06 -0700)]
[NETLINK]: Move broadcast skb_orphan to the skb_get path.

Cloned packets don't need the orphan call.

Signed-off-by: Tommy S. Christensen <tommy.christensen@tpack.net>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: Fix race with recvmsg().
Tommy S. Christensen [Thu, 19 May 2005 19:46:59 +0000 (12:46 -0700)]
[NETLINK]: Fix race with recvmsg().

This bug causes:

assertion (!atomic_read(&sk->sk_rmem_alloc)) failed at net/netlink/af_netlink.c (122)

What's happening is that:

1) The skb is sent to socket 1.
2) Someone does a recvmsg on socket 1 and drops the ref on the skb.
   Note that the rmalloc is not returned at this point since the
   skb is still referenced.
3) The same skb is now sent to socket 2.

This version of the fix resurrects the skb_orphan call that was moved
out, last time we had 'shared-skb troubles'. It is practically a no-op
in the common case, but still prevents the possible race with recvmsg.

Signed-off-by: Tommy S. Christensen <tommy.christensen@tpack.net>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PKT_SCHED]: Fixup simple action define.
Jamal Hadi Salim [Thu, 19 May 2005 19:42:39 +0000 (12:42 -0700)]
[PKT_SCHED]: Fixup simple action define.

Make it consistent with other net/sched files

Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPSEC]: Verify key payload in verify_one_algo
Herbert Xu [Thu, 19 May 2005 19:39:49 +0000 (12:39 -0700)]
[IPSEC]: Verify key payload in verify_one_algo

We need to verify that the payload contains enough data so that
attach_one_algo can copy alg_key_len bits from the payload.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPSEC]: Fixed alg_key_len usage in attach_one_algo
Herbert Xu [Thu, 19 May 2005 19:39:04 +0000 (12:39 -0700)]
[IPSEC]: Fixed alg_key_len usage in attach_one_algo

The variable alg_key_len is in bits and not bytes.  The function
attach_one_algo is currently using it as if it were in bytes.
This causes it to read memory which may not be there.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Do not be clever about SKB ownership in ip_ct_gather_frags().
David S. Miller [Thu, 19 May 2005 19:36:33 +0000 (12:36 -0700)]
[NETFILTER]: Do not be clever about SKB ownership in ip_ct_gather_frags().

Just do an skb_orphan() and be done with it.
Based upon discussions with Herbert Xu on netdev.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IP_VS]: Remove extra __ip_vs_conn_put() for incoming ICMP.
Julian Anastasov [Thu, 19 May 2005 19:29:59 +0000 (12:29 -0700)]
[IP_VS]: Remove extra __ip_vs_conn_put() for incoming ICMP.

Remove extra __ip_vs_conn_put for incoming ICMP in direct routing
mode. Mark de Vries reports that IPVS connections are not leaked anymore.

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[AF_UNIX]: Use lookup_create().
Christoph Hellwig [Thu, 19 May 2005 19:26:43 +0000 (12:26 -0700)]
[AF_UNIX]: Use lookup_create().

currently it opencodes it, but that's in the way of chaning the
lookup_hash interface.

I'd prefer to disallow modular af_unix over exporting lookup_create,
but I'll leave that to you.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] prevent NULL mmap in topdown model
Linus Torvalds [Wed, 18 May 2005 22:39:33 +0000 (15:39 -0700)]
[PATCH] prevent NULL mmap in topdown model

Prevent the topdown allocator from allocating mmap areas all the way
down to address zero.

We still allow a MAP_FIXED mapping of page 0 (needed for various things,
ranging from Wine and DOSEMU to people who want to allow speculative
loads off a NULL pointer).

Tested by Chris Wright.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[IPV4/IPV6] Ensure all frag_list members have NULL sk
Herbert Xu [Thu, 19 May 2005 05:52:33 +0000 (22:52 -0700)]
[IPV4/IPV6] Ensure all frag_list members have NULL sk

Having frag_list members which holds wmem of an sk leads to nightmares
with partially cloned frag skb's.  The reason is that once you unleash
a skb with a frag_list that has individual sk ownerships into the stack
you can never undo those ownerships safely as they may have been cloned
by things like netfilter.  Since we have to undo them in order to make
skb_linearize happy this approach leads to a dead-end.

So let's go the other way and make this an invariant:

For any skb on a frag_list, skb->sk must be NULL.

That is, the socket ownership always belongs to the head skb.
It turns out that the implementation is actually pretty simple.

The above invariant is actually violated in the following patch
for a short duration inside ip_fragment.  This is OK because the
offending frag_list member is either destroyed at the end of the
slow path without being sent anywhere, or it is detached from
the frag_list before being sent.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[XFRM]: skb_cow_data() does not set proper owner for new skbs.
Evgeniy Polyakov [Thu, 19 May 2005 05:51:45 +0000 (22:51 -0700)]
[XFRM]: skb_cow_data() does not set proper owner for new skbs.

It looks like skb_cow_data() does not set
proper owner for newly created skb.

If we have several fragments for skb and some of them
are shared(?) or cloned (like in async IPsec) there
might be a situation when we require recreating skb and
thus using skb_copy() for it.
Newly created skb has neither a destructor nor a socket
assotiated with it, which must be copied from the old skb.
As far as I can see, current code sets destructor and socket
for the first one skb only and uses truesize of the first skb
only to increment sk_wmem_alloc value.

If above "analysis" is correct then attached patch fixes that.

Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: In tg3_poll(), resample status_tag after doing work.
David S. Miller [Thu, 19 May 2005 05:50:53 +0000 (22:50 -0700)]
[TG3]: In tg3_poll(), resample status_tag after doing work.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Refine DMA boundary setting.
David S. Miller [Thu, 19 May 2005 05:50:10 +0000 (22:50 -0700)]
[TG3]: Refine DMA boundary setting.

Extract DMA boundary bit selection into a seperate
function, tg3_calc_dma_bndry().  Call this from
tg3_test_dma().

Make DMA test more reliable by using no DMA boundry
setting during the test.  If the test passes, then
use the setting we selected before the test.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Michael Chan <mchan@broadcom.com>
19 years ago[TG3]: Set minimal hw interrupt mitigation.
David S. Miller [Thu, 19 May 2005 05:49:26 +0000 (22:49 -0700)]
[TG3]: Set minimal hw interrupt mitigation.

Even though we do software interrupt mitigation
via NAPI, it still helps to have some minimal
hw assisted mitigation.

This helps, particularly, on systems where register
I/O overhead is much greater than the CPU horsepower.

For example, it helps on NUMA systems.  In such cases
the PIO overhead to disable interrupts for NAPI accounts
for the majority of the packet processing cost.  The
CPU is fast enough such that only a single packet is
processed by each NAPI poll call.

Thanks to Michael Chan for reviewing this patch.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Add tagged status support.
David S. Miller [Thu, 19 May 2005 05:46:34 +0000 (22:46 -0700)]
[TG3]: Add tagged status support.

When supported, use the TAGGED interrupt processing support
the chip provides.  In this mode, instead of a "on/off" binary
semaphore, an incrementing tag scheme is used to ACK interrupts.

All MSI supporting chips support TAGGED mode, so the tg3_msi()
interrupt handler uses it unconditionally.  This invariant is
verified when MSI support is tested.

Since we can invoke tg3_poll() multiple times per interrupt under
high packet load, we fetch a new copy of the tag value in the
status block right before we actually do the work.

Also, because the tagged status tells the chip exactly which
work we have processed, we can make two optimizations:

1) tg3_restart_ints() need not check tg3_has_work()
2) the tg3_timer() need not poke the chip 10 times per
   second to keep from losing interrupt events

Based upon valuable feedback from Michael Chan <mchan@broadcom.com>

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years agoAutomatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/driver...
Linus Torvalds [Wed, 18 May 2005 23:37:46 +0000 (16:37 -0700)]
Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6.git/

19 years ago[PATCH] Avoid console spam with ext3 aborted journal.
Stephen Tweedie [Wed, 18 May 2005 15:47:17 +0000 (11:47 -0400)]
[PATCH] Avoid console spam with ext3 aborted journal.

Avoid console spam with ext3 aborted journal.

ext3 usually reports error conditions that it detects in its environment.
But when its journal gets aborted due to such errors, it can sometimes
continue to report that condition forever, spamming the console to such
an extent that the initial first cause of the journal abort can be lost.

When the journal aborts, we put the filesystem into readonly mode.  Most
subsequent filesystem operations will get rejected immediately by checks
for MS_RDONLY either in the filesystem or in the VFS.  But some paths do
not have such checks --- for example, if we continue to write to a file
handle that was opened before the fs went readonly.  (We only check for
the ROFS condition when the file is first opened.)  In these cases, we
can continue to generate log errors similar to

EXT3-fs error (device $DEV) in start_transaction: Journal has aborted

for each subsequent write.

There is really no point in generating these errors after the initial
error has been fully reported.  Specifically, if we're starting a
completely new filesystem operation, and the filesystem is *already*
readonly (ie. the ext3 layer has already detected and handled the
underlying jbd abort), and we see an EROFS error, then there is simply
no point in reporting it again.

Signed-off-by: Stephen Tweedie <sct@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix filp being passed through raw ioctl handler
Stephen Tweedie [Wed, 18 May 2005 15:22:31 +0000 (11:22 -0400)]
[PATCH] Fix filp being passed through raw ioctl handler

Don't pass meaningless file handles to block device ioctls.

The recent raw IO ioctl-passthrough fix started passing the raw file
handle into the block device ioctl handler.  That's unlikely to be
useful, as the file handle is actually open on a character-mode raw
device, not a block device, so dereferencing it is not going to yield
useful results to a block device ioctl handler.

Previously we just passed NULL; also not a value that can usefully
be dereferenced, but at least if it does happen, we'll oops instead of
silently pretending that the file is a block device, so NULL is the more
defensive option here.  This patch reverts to that behaviour.

Noticed by Al Viro.

Signed-off-by: Stephen Tweedie <sct@redhat.com>
Acked-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Driver Core: remove driver model detach_state
David Brownell [Thu, 12 May 2005 19:06:27 +0000 (12:06 -0700)]
[PATCH] Driver Core: remove driver model detach_state

The driver model has a "detach_state" mechanism that:

 - Has never been used by any in-kernel drive;
 - Is superfluous, since driver remove() methods can do the same thing;
 - Became buggy when the suspend() parameter changed semantics and type;
 - Could self-deadlock when called from certain suspend contexts;
 - Is effectively wasted documentation, object code, and headspace.

This removes that "detach_state" mechanism; net code shrink, as well
as a per-device saving in the driver model and sysfs.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] Driver Core: pm diagnostics update, check for errors
David Brownell [Mon, 9 May 2005 15:07:00 +0000 (08:07 -0700)]
[PATCH] Driver Core: pm diagnostics update, check for errors

This patch includes various tweaks in the messaging that appears during
system pm state transitions:

  * Warn about certain illegal calls in the device tree, like resuming
    child before parent or suspending parent before child.  This could
    happen easily enough through sysfs, or in some cases when drivers
    use device_pm_set_parent().

  * Be more consistent about dev_dbg() tracing ... do it for resume() and
    shutdown() too, and never if the driver doesn't have that method.

  * Say which type of system sleep state is being entered.

Except for the warnings, these only affect debug messaging.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] PCI: add MODALIAS to hotplug event for pci devices
Greg KH [Thu, 5 May 2005 18:57:25 +0000 (11:57 -0700)]
[PATCH] PCI: add MODALIAS to hotplug event for pci devices

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] PCI: add modalias sysfs file for pci devices
Greg KH [Thu, 5 May 2005 18:57:25 +0000 (11:57 -0700)]
[PATCH] PCI: add modalias sysfs file for pci devices

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] PCI Hotplug: remove pci_visit_dev
Scott Murray [Mon, 9 May 2005 21:36:27 +0000 (17:36 -0400)]
[PATCH] PCI Hotplug: remove pci_visit_dev

If my CPCI hotplug update patch is applied, then there are no longer any
in tree users of the pci_visit_dev API, and it and its related code can be
removed.

Signed-off-by: Scott Murray <scottm@somanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>