GitHub/MotorolaMobilityLLC/kernel-slsi.git
18 years ago[SCSI] dc395x: dynamically map scatter-gather for PIO
Guennadi Liakhovetski [Sun, 2 Apr 2006 19:57:43 +0000 (21:57 +0200)]
[SCSI] dc395x: dynamically map scatter-gather for PIO

The current dc395x driver uses PIO to transfer up to 4 bytes which do not
get transferred by DMA (under unclear circumstances). For this the driver
uses page_address() which is broken on highmem. Apart from this the
actual calculation of the virtual address is wrong (even without highmem).
So, e.g., for reading it reads bytes from the driver to a wrong address
and returns wrong data, I guess, for writing it would just output random
data to the device.

The proper fix, as suggested by many, is to dynamically map data using
kmap_atomic(page, KM_BIO_SRC_IRQ) / kunmap_atomic(virt). The reason why it
has not been done until now, although I've done some preliminary patches
more than a year ago was that nobody interested in fixing this problem was
able to reliably reproduce it. Now it changed - with the help from
Sebastian Frei (CC'ed) I was able to trigger the PIO path. Thus, I was
also able to test and debug it.

There are 4 cases when PIO is used in dc395x - data-in / -out with and
without scatter-gather. I was able to reproduce and test only data-in with
and without SG. So, the data-out path is still untested, but it is also
somewhat simpler than the data-in. Fredrik Roubert (also CC'ed) also had
PIO triggering on his system, and in his case it was data-out without SG.
It would be great if he could test the attached patch on his system, but
even if he cannot, I would still request to apply the patch and just wait
if anybody cries...

Implementation: I put 2 new functions in scsi_lib.c and their declarations
in scsi_cmnd.h. I exported them without _GPL, although, I don't feel
strongly about that - not many drivers are likely to use them. But there
is at least one more - I want to use them in tmscsim.c. Whether these are
the right files for the functions and their declarations - not sure
either. Actually, they are not scsi-specific, so, might go somewhere
around other scattergather magic? They are not platform specific either,
and most SG functions are defined under arch/*/... As these issues were
discussed previously there were some more routines suggested to manipulate
scattergather buffers, I think, some of them were needed around
crypto code... So, might be a common place reasonable, like
lib/scattergather.c? I am open here.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] ibmvscsi: convert kmalloc + memset to kcalloc
FUJITA Tomonori [Fri, 7 Apr 2006 10:10:03 +0000 (19:10 +0900)]
[SCSI] ibmvscsi: convert kmalloc + memset to kcalloc

Convert kmalloc + memset to kcalloc in ibmvscsi

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Dave Boutcher <sleddog@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years agoMerge ../scsi-rc-fixes-2.6
James Bottomley [Fri, 14 Apr 2006 20:47:45 +0000 (15:47 -0500)]
Merge ../scsi-rc-fixes-2.6

Conflicts:

include/scsi/scsi_devinfo.h

Same number for two BLIST flags:  BLIST_MAX_512 and BLIST_ATTACH_PQ3

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] scsi_transport_sas: don't scan a non-existent end device
James Bottomley [Fri, 14 Apr 2006 14:47:59 +0000 (09:47 -0500)]
[SCSI] scsi_transport_sas: don't scan a non-existent end device

Any end device that can't support any of the scanning protocols
shouldn't be scanned, so set its id to -1 to prevent
scsi_scan_target() being called for it.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] iscsi: convert iscsi tcp to libiscsi
Mike Christie [Fri, 7 Apr 2006 02:26:46 +0000 (21:26 -0500)]
[SCSI] iscsi: convert iscsi tcp to libiscsi

This just converts iscsi_tcp to the lib

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] iscsi: add libiscsi
Mike Christie [Fri, 7 Apr 2006 02:13:41 +0000 (21:13 -0500)]
[SCSI] iscsi: add libiscsi

There is a lot of code duplcited between iscsi_tcp
and the upcoming iscsi_iser driver. This patch puts
the duplicated code in a lib. There is more code
to move around but this takes care of the
basics. For iscsi_offload if they use the lib we will
probably move some things around. For example in the
queuecommand we will not assume that the LLD wants
to do queue_work, but it is better to handle that
later when we know for sure what iscsi_offload looks
like (we could probably do this for iscsi_iser though to).

Ideally I would like to get the iscsi_transports modules
to a place where all they really have to do is put data
on the wire, but how to do that will hopefully be more clear
when we see other modules like iscsi_offload. Or maybe
iscsi_offload will not use the lib and it will just be
iscsi_iser and iscsi_tcp and maybe the iscsi_tcp_tgt if that
is allowed in mainline.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] iscsi: fix up iscsi eh
Mike Christie [Fri, 7 Apr 2006 02:13:39 +0000 (21:13 -0500)]
[SCSI] iscsi: fix up iscsi eh

The current iscsi_tcp eh is not nicely setup for dm-multipath
and performs some extra task management functions when they
are not needed.

The attached patch:

- Fixes the TMF issues. If a session is rebuilt
then we do not send aborts.

- Fixes the problem where if the host reset fired, we would
return SUCCESS even though we had not really done anything
yet. This ends up causing problem with scsi_error.c's TUR.

- If someone has turned on the userspace nop daemon code to try
and detect network problems before the scsi command timeout
we can now drop and clean up the session before the scsi command
timesout and fires the eh speeding up the time it takes for a
command to go from one patch to another. For network problems
we fail the command with DID_BUS_BUSY so if failfast is set
scsi_decide_disposition fails the command up to dm for it to
try on another path.

- And we had to add some basic iscsi session block code. Previously
if we were trying to repair a session we would retrun a MLQUEUE code
in the queuecommand. This worked but it was not the most efficient
or pretty thing to do since it would take a while to relogin
to the target. For iscsi_tcp/open-iscsi a lot of the iscsi error handler
is in userspace the block code is pretty bare. We will be
adding to that for qla4xxx.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] iscsi: add sysfs attrs for uspace sync up
Mike Christie [Fri, 7 Apr 2006 02:13:36 +0000 (21:13 -0500)]
[SCSI] iscsi: add sysfs attrs for uspace sync up

For iscsi boot when going from initramfs to the real root we
need to stop the userpsace iscsi daemon. To later restart it
iscsid needs to be able to rebuild itself and part of that
process is matching a session running the kernel with the
iscsid representation. To do this the attached patch
adds several required iscsi values. If the LLD does not provide
them becuase, login is done in userspace, then the transport
class and userspace set ths up for the LLD.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] iscsi: rm kernel iscsi handles usage for session and connection
Mike Christie [Fri, 7 Apr 2006 02:13:33 +0000 (21:13 -0500)]
[SCSI] iscsi: rm kernel iscsi handles usage for session and connection

from hare@suse.de and michaelc@cs.wisc.edu

hw iscsi like qla4xxx does not allocate a host per session and
for userspace it is difficult to restart iscsid using the
"iscsi handles" for the session and connection, so this
patch just has the class or userspace allocate the id for
the session and connection.

Note: this breaks userspace and requires users to upgrade to the newest
open-iscsi tools. Sorry about his but open-iscsi is still too new to
say we have a stable user-kernel api and we were not good nough
designers to know that other hw iscsi drivers and iscsid itself would
need such changes. Actually we sorta did but at the time we did not
have the HW available to us so we could only guess.

Luckily, the only tools hooking into the class are the open-iscsi ones
or other tools like iscsitart hook into the open-iscsi engine from
userspace or prgroams like anaconda call our tools so they are not affected.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] BLIST_ATTACH_PQ3 flags
Kurt Garloff [Mon, 3 Apr 2006 13:20:08 +0000 (15:20 +0200)]
[SCSI] BLIST_ATTACH_PQ3 flags

Some devices report a peripheral qualifier of 3 for LUN 0; with the original
code, we would still try a REPORT_LUNS scan (if SCSI level is >= 3 or if we
have the BLIST_REPORTLUNS2 passed in), but NOT any sequential scan.
Also, the device at LUN 0 (which is not connected according to the PQ) is not
registered with the OS.

Unfortunately, SANs exist that are SCSI-2 and do NOT support REPORT_LUNS, but
report a unknown device with PQ 3 on LUN 0. We still need to scan them, and
most probably we even need BLIST_SPARSELUN (and BLIST_LARGELUN). See the bug
reference for an infamous example.

This is patch 3/3:
3. Implement the blacklist flag BLIST_ATTACH_PQ3 that makes the scsi
   scanning code register PQ3 devices and continues scanning; only sg
   will attach thanks to scsi_bus_match().

Signed-off-by: Kurt Garloff <garloff@suse.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] Better log messages for PQ3 devs
Kurt Garloff [Mon, 3 Apr 2006 13:18:35 +0000 (15:18 +0200)]
[SCSI] Better log messages for PQ3 devs

Some devices report a peripheral qualifier of 3 for LUN 0; with the original
code, we would still try a REPORT_LUNS scan (if SCSI level is >= 3 or if we
have the BLIST_REPORTLUNS2 passed in), but NOT any sequential scan.
Also, the device at LUN 0 (which is not connected according to the PQ) is not
registered with the OS.

Unfortunately, SANs exist that are SCSI-2 and do NOT support REPORT_LUNS, but
report a unknown device with PQ 3 on LUN 0. We still need to scan them, and
most probably we even need BLIST_SPARSELUN (and BLIST_LARGELUN). See the bug
reference for an infamous example.

This patch 2/3:
If a PQ3 device is found, log a message that describes the device
(INQUIRY DATA and C:B:T:U tuple) and make a suggestion for blacklisting
it.

Signed-off-by: Kurt Garloff <garloff@suse.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] Try LUN 1 and use bflags
Kurt Garloff [Mon, 3 Apr 2006 13:16:48 +0000 (15:16 +0200)]
[SCSI] Try LUN 1 and use bflags

Some devices report a peripheral qualifier of 3 for LUN 0; with the original
code, we would still try a REPORT_LUNS scan (if SCSI level is >= 3 or if we
have the BLIST_REPORTLUNS2 passed in), but NOT any sequential scan.
Also, the device at LUN 0 (which is not connected according to the PQ) is not
registered with the OS.

Unfortunately, SANs exist that are SCSI-2 and do NOT support REPORT_LUNS, but
report a unknown device with PQ 3 on LUN 0. We still need to scan them, and
most probably we even need BLIST_SPARSELUN (and BLIST_LARGELUN). See the bug
reference for an infamous example.

This is patch 1/3:
If we end up in sequential scan, at least try LUN 1 for devices
that reported a PQ of 3 for LUN 0.
Also return blacklist flags, even for PQ3 devices.

Signed-off-by: Kurt Garloff <garloff@suse.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] mptfusion - fix panic in mptsas_slave_configure
Moore, Eric [Thu, 13 Apr 2006 22:08:17 +0000 (16:08 -0600)]
[SCSI] mptfusion - fix panic in mptsas_slave_configure

Driver panic when RAID logical volume was present when driver
loaded, or when a RAID logical volume was created on the fly.

This issue was created in due to recent scsi_transport_sas change,
when sas_read_port_mode_page was added into the mptsas drivers
slave_config entry point.

This new API expects that all sdev's to be assocated to an rphy, however
that is not the case for logical volumes, as they are created using
scsi_add_device, instead of sas_rphy_add().

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] 3ware 9000 disable local irqs during kmap_atomic
adam radford [Tue, 11 Apr 2006 18:25:09 +0000 (11:25 -0700)]
[SCSI] 3ware 9000 disable local irqs during kmap_atomic

Equivalent of the same patch for the 3w-xxxx driver.

Signed-off-by: Adam Radford <linuxraid@amcc.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] SCSI: fix scsi_kill_request() busy count handling
Tejun Heo [Tue, 11 Apr 2006 08:27:53 +0000 (17:27 +0900)]
[SCSI] SCSI: fix scsi_kill_request() busy count handling

scsi_kill_request() completes requests via normal SCSI completion path
which decrements busy counts; however, requests which get passed to
scsi_kill_request() aren't holding busy counts and scsi_kill_request()
don't increment them before invoking completion path resulting in
incorrect busy counts.  Bump up busy counts before invoking completion
path.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] FC transport: fixes for workq deadlocks
James Smart [Mon, 10 Apr 2006 14:14:05 +0000 (10:14 -0400)]
[SCSI] FC transport: fixes for workq deadlocks

As previously reported via Michael Reed, the FC transport took a hit
in 2.6.15 (perhaps a little earlier) when we solved a recursion error.
There are 2 deadlocks occurring:
- With scan and the delete items sharing the same workq, flushing the
  workq for the delete code was getting it stalled behind a very long
  running scan code path.
- There's a deadlock where scsi_remove_target() has to sit behind
  scsi_scan_target() due to contention over the scan_lock().

This patch resolves the 1st deadlock and significantly reduces the
odds of the second. So far, we have only replicated the 2nd deadlock
on a highly-parallel SMP system. More on the 2nd deadlock in a following
email.

This patch reworks the transport to:
- Only use the scsi host workq for scanning
- Use 2 other workq's internally. One for deletions, the other for
  scheduled deletions. Originally, we tried this with a single workq,
  but the occassional flushes of the scheduled queues was hitting the
  second deadlock with a slightly higher frequency. In the future, we'll
  look at the LLDD's and the transport to see if we can get rid of this
  extra overhead.
- When moving to the other workq's we tightened up some object states
  and some lock handling.
- Properly syncs adds/deletes
- minor code cleanups
  - directly reference fc_host_attrs, rather than through attribute
    macros
  - flush the right workq on delayed work cancel failures.

Large kudos to Michael Reed who has been working this issue for the last
month.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] aic79xx: target hotplug fixes
Hannes Reinecke [Fri, 7 Apr 2006 11:47:03 +0000 (13:47 +0200)]
[SCSI] aic79xx: target hotplug fixes

When a target is added aic79xx tries to be overly clever: it changes
the command on the fly to TEST UNIT READY and tries to requeue the
original command. Sadly this breaks SCSI compability and of course
the midlayer is getting a bit confused by it.

So we're just removing that bit of code and let the midlayer deal with
it. It's clever enough by now. And the driver code is getting simpler.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] ibmvscsi: remove drivers/scsi/ibmvscsi/srp.h
FUJITA Tomonori [Sun, 26 Mar 2006 01:19:10 +0000 (10:19 +0900)]
[SCSI] ibmvscsi: remove drivers/scsi/ibmvscsi/srp.h

It's no longer needed after the convrsion to use the linux srp.h file.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] aic79xx bus reset update
Hannes Reinecke [Mon, 3 Apr 2006 06:19:34 +0000 (08:19 +0200)]
[SCSI] aic79xx bus reset update

As James B. correctly noted, ahd_reset_channel() in
ahd_linux_bus_reset() should be protected by ahd_lock().  However, the
main reason for not doing so was a deadlock with the interesting
polling mechanism to detect the end a bus reset.

This patch replaces the polling mechanism with a saner signalling via
flags; it also gives us the benefit of detecting any multiple calls to
ahd_reset_channel().

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] add SCSI_UNKNOWN and LUN transfer limit restrictions
James Bottomley [Sat, 1 Apr 2006 02:07:45 +0000 (20:07 -0600)]
[SCSI] add SCSI_UNKNOWN and LUN transfer limit restrictions

Original From: Ingo Flaschberger <if@xip.at>

To support the RA4100 array from Compaq.

This patch now correctly handles SCSI_UNKNOWN types with regard to
BLIST_REPORTLUNS2 (allow it) and cdb[1] LUN inclusion (don't).

It also allows a BLIST_MAX_512 flag to restrict the maximum transfer
length to 512 blocks (apparently this is an RA4100 problem).

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] sym2: Fix build when spinlock debugging is enabled
Matthew Wilcox [Wed, 29 Mar 2006 21:45:18 +0000 (14:45 -0700)]
[SCSI] sym2: Fix build when spinlock debugging is enabled

When spinlock debugging is turned on, a struct completion grows beyond the
size allowed for the scsi_pointer.  So move the struct completion back onto
the stack.  The additional memory barriers are to keep us from completing
a random piece of kernel stack if the command happens to complete after
the error handling has finished.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] ipr: Bump version
Brian King [Wed, 29 Mar 2006 15:37:49 +0000 (09:37 -0600)]
[SCSI] ipr: Bump version

Bump ipr driver version to 2.1.3

Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] ipr: Reset device cleanup
Brian King [Wed, 29 Mar 2006 15:37:43 +0000 (09:37 -0600)]
[SCSI] ipr: Reset device cleanup

Encapsulate some more of the device reset processing in
preparation for SATA support.

Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] ipr: printk macro cleanup/removal
Brian King [Wed, 29 Mar 2006 15:37:37 +0000 (09:37 -0600)]
[SCSI] ipr: printk macro cleanup/removal

Remove some unused printk macros, make some more robust, and
convert some to use standard printk macros when possible.

Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] ipr: Simplify status area dumping
Brian King [Wed, 29 Mar 2006 15:37:29 +0000 (09:37 -0600)]
[SCSI] ipr: Simplify status area dumping

Simplify the dumping of the command status area by
removing some device specific information that has proven
to not be worthwhile.

Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] ipr: Fixup device type check
Brian King [Wed, 29 Mar 2006 15:37:22 +0000 (09:37 -0600)]
[SCSI] ipr: Fixup device type check

Fixup a check used by the ipr driver to determine if a given
device is a SCSI disk. Due to the addition of support for
attaching SATA devices, this check needs to be more robust.

Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] ipr: Disk remove path cleanup
Brian King [Wed, 29 Mar 2006 15:37:16 +0000 (09:37 -0600)]
[SCSI] ipr: Disk remove path cleanup

Instead of NULLing the resource entry pointer when a disk
goes away to prevent any new commands being sent to it,
set the adapter resource handle to an invalid value so
new ops getting sent to it will fail with a selection timeout
response. This patch is needed for future SATA patches.

Signed-off-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] sg: fix leak when dio setup fails
Douglas Gilbert [Tue, 28 Mar 2006 19:48:22 +0000 (14:48 -0500)]
[SCSI] sg: fix leak when dio setup fails

when the sg driver is unable to setup direct IO, free that scatter
gather list prior to falling back to indirect IO

Further to this thread started by Bryan Holty:
http://marc.theaimsgroup.com/?l=linux-scsi&m=114306885116728&w=2

Here is the reworked patch again. This time it has been
tested with a program provided by Bryan.

Signed-off-by: Douglas Gilbert <dougg@torque.net>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] expose sas internal class for the domain transport
James Bottomley [Mon, 27 Mar 2006 22:45:34 +0000 (16:45 -0600)]
[SCSI] expose sas internal class for the domain transport

necessary to make the domain class use the internal structures

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] for_each_possible_cpu: scsi
KAMEZAWA Hiroyuki [Tue, 28 Mar 2006 22:50:58 +0000 (14:50 -0800)]
[SCSI] for_each_possible_cpu: scsi

for_each_cpu() actually iterates across all possible CPUs.  We've had mistakes
in the past where people were using for_each_cpu() where they should have been
iterating across only online or present CPUs.  This is inefficient and
possibly buggy.

We're renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the
future.

This patch replaces for_each_cpu with for_each_possible_cpu.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] Version 2.2.3
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Version 2.2.3

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] Enable clustering and large transfers
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Enable clustering and large transfers

This patch enables clustering and sets max_sectors to 0xffff to enable
reading and writing of large blocks with tapes (and large transfers with
sg). This change is needed after the sg and st drivers started using
chained bios through scsi_request_async() in 2.6.16.

Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi>
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] Simplify error handling
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Simplify error handling

Use wait_for_completion_timeout() instead of using a timer (as
Christoph Hellwig did for aic7xxx).

That lets me eliminate the sym_eh_wait structure; the struct completion,
the old_done pointer and the to_do flag can be folded into the sym_ucmd
(which overrides the scsi_pointer in scsi_cmnd).

The sym_eh_done() function becomes much simpler as the timeout handling
is done in sym_eh_handler() directly.

The host_lock can be unlocked earlier, and I cache the host in
a local variable to make accesses to it quicker.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] Allow nvram settings to determine bus mode
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Allow nvram settings to determine bus mode

The PDC code can set the bus mode, but we were ignoring that setting.
Also move the code that determines bus mode into its own function.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] Use SPI messages where possible
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Use SPI messages where possible

Now sym2 is using spi_print_msg, we don't need to have our own messages
for IGNORE WIDE RESIDUE and MODIFY DATA POINTER, so provide the option
of passing NULL for the label.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] Disable sym2 driver queueing
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Disable sym2 driver queueing

Undef SYM_OPT_HANDLE_DEVICE_QUEUEING.
Call sym_put_start_queue instead of sym_start_next_ccbs.
Turn asserts into checks that we can send the command to the adapter,
and return busy from queuecommand if we can't.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] Mark div_10M array const
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Mark div_10M array const

Patch below is one out of a large series to mark kernel data const when
possible, goal is to use .rodata and avoid false sharing

Signed-off-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] Simplify error handling a bit
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Simplify error handling a bit

 - to_do was never set to SYM_EH_DO_COMPLETE, so remove that code
 - move the spinlocks inside the common error handler code path

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] Use pcibios_resource_to_bus()
Matthew Wilcox [Tue, 28 Mar 2006 16:03:44 +0000 (11:03 -0500)]
[SCSI] Use pcibios_resource_to_bus()

We had our own code (pci_get_base_address()) to get the bus address of
a BAR.  We can get this using pcibios_resource_to_bus() instead.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] Change Kconfig option from IOMAPPED to MMIO
Matthew Wilcox [Tue, 28 Mar 2006 16:03:43 +0000 (11:03 -0500)]
[SCSI] Change Kconfig option from IOMAPPED to MMIO

Most of the Kconfig options for switching between IO Port and MMIO
operations use the opposite sense from sym2.  Really, this option
should be set at a chipset level rather than per-driver.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] sas transport: ref count update
Mike Anderson [Mon, 27 Mar 2006 17:37:28 +0000 (09:37 -0800)]
[SCSI] sas transport: ref count update

Fix puts so that release functions will be called.

Signed-off-by: Mike Anderson <andmike@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] aacraid: Driver version update
Mark Haverkamp [Mon, 27 Mar 2006 17:44:37 +0000 (09:44 -0800)]
[SCSI] aacraid: Driver version update

Received from Mark Salyzyn

Fix module param
Update driver version.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] aacraid: Fix parenthesis placement error
Mark Haverkamp [Mon, 27 Mar 2006 17:44:33 +0000 (09:44 -0800)]
[SCSI] aacraid: Fix parenthesis placement error

Received from Mark Salyzyn

On 64 bit machines, when a 32 bit application tries to acquire the AIF,
they will always get and EFAULT error response from the driver.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] aacraid: Show max channel and max id is sysfs
Mark Haverkamp [Mon, 27 Mar 2006 17:44:29 +0000 (09:44 -0800)]
[SCSI] aacraid: Show max channel and max id is sysfs

Received from Mark Salyzyn

Add max_channel and max_id sysfs parameters.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] aacraid: Re-start helper thread if it dies
Mark Haverkamp [Mon, 27 Mar 2006 17:44:26 +0000 (09:44 -0800)]
[SCSI] aacraid: Re-start helper thread if it dies

Received from Mark Salyzyn

Since the helper thread for the driver can be killed unceremoniously by
an application, we detect the loss of the helper and restart it.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] aacraid: General driver cleanup
Mark Haverkamp [Mon, 27 Mar 2006 17:44:23 +0000 (09:44 -0800)]
[SCSI] aacraid: General driver cleanup

Received from Mark Salyzyn

Remove superfluous code, optimize code, harden code, cast code, correct
some text, use msleep instead of schedule_timeout_interruptible. No
bugs.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] aacraid: Fix extra unregister_chrdev
Mark Haverkamp [Mon, 27 Mar 2006 17:44:19 +0000 (09:44 -0800)]
[SCSI] aacraid: Fix extra unregister_chrdev

Received from Mark Salyzyn

If there are no aacraid controllers, we do not create the raid
controller chrdev, thus when the driver is unloaded it performs a
superfluous deregistration.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] aacraid: Fix error in max_channel field
Mark Haverkamp [Mon, 27 Mar 2006 17:44:15 +0000 (09:44 -0800)]
[SCSI] aacraid: Fix error in max_channel field

Received from Mark Salyzyn

The max_channel field is set one too large.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] aacraid: Error path cleanup
Mark Haverkamp [Mon, 27 Mar 2006 17:44:11 +0000 (09:44 -0800)]
[SCSI] aacraid: Error path cleanup

Received from Mark Salyzyn

Some of the error return paths during initialization resulted in a zero
report to caller

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] aacraid: Add timeout for events
Mark Haverkamp [Mon, 27 Mar 2006 17:43:55 +0000 (09:43 -0800)]
[SCSI] aacraid: Add timeout for events

Received from Mark Salyzyn

Plug and play actions resulting from event sequences shall time out if
they take longer than 30 seconds to complete.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] aacraid: Track command ownership in driver
Mark Haverkamp [Mon, 27 Mar 2006 17:43:40 +0000 (09:43 -0800)]
[SCSI] aacraid: Track command ownership in driver

Received from Mark Salyzyn

The loss of the ownership flags, despite their flaws, in the scsi
command were sorely missed and are reinstated more accurately in the
aacraid driver to track commands and permit us to properly handle error
recovery actions.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] aacraid: Use scmd_ functions
Mark Haverkamp [Mon, 27 Mar 2006 17:43:25 +0000 (09:43 -0800)]
[SCSI] aacraid: Use scmd_ functions

Received from Mark Salyzyn

Clean up the remaining scsi id access methods, drop ID_LUN_TO_CONTAINER
macro.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] ibmvscsi: convert the ibmvscsi driver to use include/scsi/srp.h
FUJITA Tomonori [Sat, 25 Mar 2006 18:57:14 +0000 (03:57 +0900)]
[SCSI] ibmvscsi: convert the ibmvscsi driver to use include/scsi/srp.h

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] ibmvscsi: prevent scsi commands being sent in invalid state
Dave C Boutcher [Thu, 23 Mar 2006 19:47:07 +0000 (13:47 -0600)]
[SCSI] ibmvscsi: prevent scsi commands being sent in invalid state

There is a window where we can be re-enabling an adapter, but
still allow SCSI commands to be sent to the target.  This fix
sets our window (request_limit) to -1 as soon as we know the
adapter is being reenabled, and closes a very teeny tiny
window where we could set the window back to 1 before we
grab a lock.

Signed-off-by: Dave Boutcher <sleddog@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] fix sg leak when scsi_execute_async fails
Mike Christie [Wed, 22 Mar 2006 22:04:38 +0000 (16:04 -0600)]
[SCSI] fix sg leak when scsi_execute_async fails

Doug found a bug where if scsi_execute_async fails, we are leaking
sg resources. scsi_do_req never failed so we did not have to handle
that case before.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] unify SCSI_IOCTL_SEND_COMMAND implementations
Christoph Hellwig [Wed, 22 Mar 2006 16:52:04 +0000 (17:52 +0100)]
[SCSI] unify SCSI_IOCTL_SEND_COMMAND implementations

We currently have two implementations of this obsolete ioctl, one in
the block layer and one in the scsi code.  Both of them have drawbacks.

This patch kills the scsi layer version after updating the block version
with the missing bits:

 - argument checking
 - use scatterlist I/O
 - set number of retries based on the submitted command

This is the last user of non-S/G I/O except for the gdth driver, so
getting this in ASAP and through the scsi tree would be nie to kill
the non-S/G I/O path.  Jens, what do you think about adding a check
for non-S/G I/O in the midlayer?

Thanks to  Or Gerlitz for testing this patch.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years ago[SCSI] remove qlogicfc
James Bottomley [Tue, 28 Mar 2006 18:04:40 +0000 (12:04 -0600)]
[SCSI] remove qlogicfc

All participants agree that qla2xxx can now successfully replace this.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
18 years agoMerge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
Linus Torvalds [Wed, 12 Apr 2006 23:07:54 +0000 (16:07 -0700)]
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband

* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
  IB/mthca: Fix max_srq_sge returned by ib_query_device for Tavor devices
  IB/cache: Use correct pointer to calculate size
  IPoIB: Use spin_lock_irq() instead of spin_lock_irqsave()
  IPoIB: Close race in ipoib_flush_paths()
  IB/mthca: Disable tuning PCI read burst size
  IPoIB: Make send and receive queue sizes tunable
  IPoIB: Wait for join to finish before freeing mcast struct
  IB: simplify static rate encoding
  IPoIB: Consolidate private neighbour data handling
  IB/srp: Fix memory leak in options parsing
  IB/mthca: Always build debugging code unless CONFIG_EMBEDDED=y
  IPoIB: Always build debugging code unless CONFIG_EMBEDDED=y
  IB/mad: fix oops in cancel_mads

18 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Wed, 12 Apr 2006 22:25:12 +0000 (15:25 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  [PATCH] sata_mv: properly print HC registers

18 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Wed, 12 Apr 2006 22:24:06 +0000 (15:24 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
  [PATCH] Use pci_set_consistent_dma_mask in ixgb driver
  [PATCH] sky2: bad memory reference on dual port cards
  [PATCH] mv643xx_eth: Fix tx_timeout to only conditionally wake tx queue
  [PATCH] mv643xx_eth: Always free completed tx descs on tx interrupt
  [PATCH] net drivers: fix section attributes for gcc
  [PATCH] remove drivers/net/hydra.h
  [PATCH] drivers/net/via-rhine.c: make a function static
  [netdrvr b44] trim trailing whitespace
  [PATCH] b44: increase version to 1.00
  [PATCH] b44: disable default tx pause
  [PATCH] via-rhine: execute bounce buffers code on Rhine-I only
  [PATCH] network: axnet_cs.c: add missing 'PRIV' in ei_rx_overrun
  [PATCH] dlink pci cards using wrong driver

18 years ago[PATCH] Use pci_set_consistent_dma_mask in ixgb driver
Andreas Schwab [Tue, 28 Mar 2006 16:10:38 +0000 (18:10 +0200)]
[PATCH] Use pci_set_consistent_dma_mask in ixgb driver

The ixgb driver is using pci_alloc_consistent, thus is should also use
pci_set_consistent_dma_mask.  This allows the driver to work on SGI
systems.

In case of an error during probing it should also disable the device again.

Signed-off-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] sky2: bad memory reference on dual port cards
Stephen Hemminger [Thu, 6 Apr 2006 00:47:15 +0000 (17:47 -0700)]
[PATCH] sky2: bad memory reference on dual port cards

Sky2 driver will oops referencing bad memory if used on
a dual port card.  The problem is accessing past end of
MIB counter space.

Applies for both 2.6.17 and 2.6.16 (with fuzz)

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] mv643xx_eth: Fix tx_timeout to only conditionally wake tx queue
Dale Farnsworth [Wed, 12 Apr 2006 01:24:26 +0000 (18:24 -0700)]
[PATCH] mv643xx_eth: Fix tx_timeout to only conditionally wake tx queue

After resetting the hardware on a tx_timeout, call netif_wake_queue()
only if we have free tx descriptors.

Also, attempt to recover if mv643xx_eth_start_xmit() is called when
there are fewer free tx descriptors than expected.

The BUG_ON() call we are replacing was hit on a tx_timeout that
called netif_wake_queue(), indirectly via netif_device_attach(),
even though we did not have enough free tx descriptors.

Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] mv643xx_eth: Always free completed tx descs on tx interrupt
Brent Cook [Wed, 12 Apr 2006 01:23:15 +0000 (18:23 -0700)]
[PATCH] mv643xx_eth: Always free completed tx descs on tx interrupt

Fix the tx interrupt handler to free completed tx descriptors even
when NAPI is enabled.  Otherwise, the tx queue would fill up resulting
in poor performance and "NETDEV WATCHDOG: <iface>: transmit timed out"
messages.

Signed-off-by: Brent Cook <bcook@bpointsys.com>
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] net drivers: fix section attributes for gcc
Randy Dunlap [Tue, 11 Apr 2006 06:22:06 +0000 (23:22 -0700)]
[PATCH] net drivers: fix section attributes for gcc

If CONFIG_HOTPLUG=n, gcc doesn't like some __initdata to be const (rodata)
and other __initdata not const, so make the non-const __initdata const.

gcc errors:
drivers/net/bnx2.c:66: error: version causes a section type conflict
drivers/net/starfire.c:338: error: version causes a section type conflict
drivers/net/typhoon.c:137: error: version causes a section type conflict
drivers/net/natsemi.c:241: error: version causes a section type conflict

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] remove drivers/net/hydra.h
Adrian Bunk [Tue, 11 Apr 2006 06:22:07 +0000 (23:22 -0700)]
[PATCH] remove drivers/net/hydra.h

Remove drivers/net/hydra.h which is both unused and covered by a 4 clause
BSD licence (not by the UCB).

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-By: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] drivers/net/via-rhine.c: make a function static
Adrian Bunk [Tue, 11 Apr 2006 06:22:21 +0000 (23:22 -0700)]
[PATCH] drivers/net/via-rhine.c: make a function static

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Roger Luethi <rl@hellgate.ch>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] sata_mv: properly print HC registers
Dan Aloni [Tue, 11 Apr 2006 06:20:22 +0000 (23:20 -0700)]
[PATCH] sata_mv: properly print HC registers

Currently it crashes when trying to dump the registers.  This is an obvious
one-liner fix I suppose.

Signed-off-by: Dan Aloni <da-x@monatomic.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[netdrvr b44] trim trailing whitespace
Jeff Garzik [Wed, 12 Apr 2006 22:04:32 +0000 (18:04 -0400)]
[netdrvr b44] trim trailing whitespace

18 years ago[PATCH] b44: increase version to 1.00
Gary Zambrano [Mon, 10 Apr 2006 19:05:40 +0000 (12:05 -0700)]
[PATCH] b44: increase version to 1.00

Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] b44: disable default tx pause
Gary Zambrano [Mon, 10 Apr 2006 19:02:21 +0000 (12:02 -0700)]
[PATCH] b44: disable default tx pause

Disable default tx pause frame support.
The b44 controller has a bug that generates excessive tx pause
frames.

Signed-off-by: Gary Zambrano <zambrano@broadcom.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] via-rhine: execute bounce buffers code on Rhine-I only
Roger Luethi [Tue, 4 Apr 2006 18:49:16 +0000 (20:49 +0200)]
[PATCH] via-rhine: execute bounce buffers code on Rhine-I only

Patch suggested by Yang Wu (pin xue <pinxue@gmail.com>).

Signed-off-by: Roger Luethi <rl@hellgate.ch>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] network: axnet_cs.c: add missing 'PRIV' in ei_rx_overrun
Komuro [Sun, 9 Apr 2006 02:21:10 +0000 (11:21 +0900)]
[PATCH] network: axnet_cs.c: add missing 'PRIV' in ei_rx_overrun

Signed-off-by: komurojun-mbn@nifty.com
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] dlink pci cards using wrong driver
Stephen Hemminger [Tue, 11 Apr 2006 17:28:21 +0000 (10:28 -0700)]
[PATCH] dlink pci cards using wrong driver

This patch fixes the problem of some Dlink cards picking the wrong
driver.  It looks like these cards use Yukon 1 chipset, not Yukon 2.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years agoIB/mthca: Fix max_srq_sge returned by ib_query_device for Tavor devices
Jack Morgenstein [Tue, 11 Apr 2006 15:16:27 +0000 (18:16 +0300)]
IB/mthca: Fix max_srq_sge returned by ib_query_device for Tavor devices

The driver allocates SRQ WQEs size with a power of 2 size both for
Tavor and for memfree. For Tavor, however, the hardware only requires
the WQE size to be a multiple of 16, not a power of 2, and the max
number of scatter-gather allowed is reported accordingly by the
firmware (and this is the value currently returned by
ib_query_device() and ibv_query_device()).

If the max number of scatter/gather entries reported by the FW is used
when creating an SRQ, the creation will fail for Tavor, since the
required WQE size will be increased to the next power of 2, which
turns out to be larger than the device permitted max WQE size (which
is not a power of 2).

This patch reduces the reported SRQ max wqe size so that it can be used
successfully in creating an SRQ on Tavor HCAs.

Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 12 Apr 2006 16:54:39 +0000 (09:54 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [ISDN]: Static overruns in drivers/isdn/i4l/isdn_ppp.c
  [WAN]: Remove broken and unmaintained Sangoma drivers.
  [BRIDGE] ebtables: fix allocation in net/bridge/netfilter/ebtables.c
  [DCCP]: Fix leak in net/dccp/ipv4.c
  [BRIDGE]: receive link-local on disabled ports.
  [IPv6] reassembly: Always compute hash under the fragment lock.

18 years ago[ALSA] unregister platform device again if probe was unsuccessful
Rene Herman [Tue, 11 Apr 2006 12:09:37 +0000 (14:09 +0200)]
[ALSA] unregister platform device again if probe was unsuccessful

Unregister the platform device again if the probe was unsuccessful.

This restores the behaviour of not loading the driver on probe() failure.

Signed-off-by: Rene Herman <rene.herman@keyaccess.nl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
18 years ago[ALSA] continue on IS_ERR from platform device registration
Rene Herman [Tue, 11 Apr 2006 12:08:33 +0000 (14:08 +0200)]
[ALSA] continue on IS_ERR from platform device registration

Continue with the next one on error from device registration.

This would seem the correct thing to do, even if it's not the probe()
error that we're getting.

Signed-off-by: Rene Herman <rene.herman@keyaccess.nl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
18 years ago[ALSA] sound/core/pcm.c: make snd_pcm_format_name() static
Adrian Bunk [Tue, 11 Apr 2006 09:12:46 +0000 (11:12 +0200)]
[ALSA] sound/core/pcm.c: make snd_pcm_format_name() static

Modules: PCM Midlevel

This patch makes the needlessly global snd_pcm_format_name() static.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
18 years ago[ALSA] ac97 - Add entry for VIA VT1618 codec
Takashi Iwai [Mon, 10 Apr 2006 17:41:16 +0000 (19:41 +0200)]
[ALSA] ac97 - Add entry for VIA VT1618 codec

Modules: AC97 Codec

Added the missing entry for VIA VT1618 codec.
No particular patch is needed, though.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
18 years ago[ALSA] hda-codec - Add support of ASUS U5A with AD1986A codec
Takashi Iwai [Mon, 10 Apr 2006 17:09:01 +0000 (19:09 +0200)]
[ALSA] hda-codec - Add support of ASUS U5A with AD1986A codec

Modules: HDA Codec driver

Add the model entry to support of ASUS U5A with AD1986A codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
18 years ago[ALSA] Overrun in sound/pci/au88x0/au88x0_pcm.c
Eric Sesterhenn [Mon, 10 Apr 2006 12:42:00 +0000 (14:42 +0200)]
[ALSA] Overrun in sound/pci/au88x0/au88x0_pcm.c

Modules: au88x0 driver

since idx is used as an index for vortex_pcm_prettyname[VORTEX_PCM_LAST],
it should not be equal to VORTEX_PCM_LAST. This fixes coverity bug id #572

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
18 years ago[ALSA] au88x0 - clean up __devinit/__devexit
Dale Sedivec [Mon, 10 Apr 2006 09:34:44 +0000 (11:34 +0200)]
[ALSA] au88x0 - clean up __devinit/__devexit

Modules: au88x0 driver

Removed all use of __devinit/__devexit and init.h from headers.  Any
attributes given in the prototype but not in the function definition have
been moved to the definition.

An exception is vortex_eq_free: I removed the __devexit attribute because
vortex_eq_free is called from vortex_core_shutdown, and
vortex_core_shutdown may be called from __devinit snd_vortex_create.

Compile tested with allyesconfig and allmodconfig.

Signed-off-by: Dale Sedivec <dale@codefu.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
18 years ago[ALSA] hda-codec - Adds HDA support for Intel D945Pvs board with subdevice id 0x0707
Ashley Clark [Mon, 10 Apr 2006 09:31:03 +0000 (11:31 +0200)]
[ALSA] hda-codec - Adds HDA support for Intel D945Pvs board with subdevice id 0x0707

Modules: HDA Codec driver

This patch adds the entry for the 5-stack pin-config for the STAC
chip on the Intel D945Pvs board with subdevice id 0x0707.

With this patch against 1.0.11rc4 in the linux kernel 2.6.17-rc1, I'm
able to successfully output over the optical port and analog ports.

Signed-off-by: Ashley Clark <aclark@ghoti.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
18 years ago[ALSA] hda-codec - support HP Compaq Presario B2800 laptop with AD1986A codec
Coywolf Qi Hunt [Mon, 10 Apr 2006 08:47:11 +0000 (10:47 +0200)]
[ALSA] hda-codec - support HP Compaq Presario B2800 laptop with AD1986A codec

Modules: HDA Codec driver

This adds the support for HP Compaq Presario B2800 laptop with AD1986A codec.

Signed-off-by: Coywolf Qi Hunt <qiyong@freeforge.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
18 years ago[ALSA] emu10k1: Add some descriptive text.
James Courtier-Dutton [Sun, 9 Apr 2006 20:45:58 +0000 (22:45 +0200)]
[ALSA] emu10k1: Add some descriptive text.

Modules: EMU10K1/EMU10K2 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
18 years ago[ALSA] via82xx - Add a dxs entry for ECS K8T890-A
Takashi Iwai [Thu, 6 Apr 2006 17:59:21 +0000 (19:59 +0200)]
[ALSA] via82xx - Add a dxs entry for ECS K8T890-A

Modules: VIA82xx driver

Added a dxs_support entry for ECS K8T890-A board.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
18 years ago[ALSA] hda-codec - Add another HP laptop with AD1981HD
Takashi Iwai [Thu, 6 Apr 2006 17:58:43 +0000 (19:58 +0200)]
[ALSA] hda-codec - Add another HP laptop with AD1981HD

Modules: HDA Codec driver

Added the SSID of another HP laptop for the model 'hp' with AD1981HD.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
18 years ago[ALSA] Fix Oops of PCM OSS emulation
Takashi Iwai [Thu, 6 Apr 2006 17:47:42 +0000 (19:47 +0200)]
[ALSA] Fix Oops of PCM OSS emulation

Modules: PCM Midlevel,ALSA<-OSS emulation

Fix Oops of PCM OSS emulation occuring when multiple playback is used.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
18 years ago[ALSA] pcm_oss: fix snd_pcm_oss_release() oops
OGAWA Hirofumi [Thu, 6 Apr 2006 17:42:40 +0000 (19:42 +0200)]
[ALSA] pcm_oss: fix snd_pcm_oss_release() oops

Modules: ALSA<-OSS emulation

Fix Oops due to a typo in snd_pcm_oss.c.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
18 years ago[ISDN]: Static overruns in drivers/isdn/i4l/isdn_ppp.c
Eric Sesterhenn [Wed, 12 Apr 2006 00:29:17 +0000 (17:29 -0700)]
[ISDN]: Static overruns in drivers/isdn/i4l/isdn_ppp.c

Coverity found some static overruns in isdn_ppp.c (bug id #519) At several
places slot is compared <0 and > ISDN_MAX_CHANNELS and then used to index
ippp_table[ISDN_MAX_CHANNELS] A value of slot = ISDN_MAX_CHANNELS would run
over the end of the array.

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[WAN]: Remove broken and unmaintained Sangoma drivers.
Adrian Bunk [Wed, 12 Apr 2006 00:28:33 +0000 (17:28 -0700)]
[WAN]: Remove broken and unmaintained Sangoma drivers.

The in-kernel Sangoma drivers are both not compiling and marked as BROKEN
since at least kernel 2.6.0.

Sangoma offers out-of-tree drivers, and David Mandelstam told me Sangoma
does no longer maintain the in-kernel drivers and prefers to provide them
as a separate installation package.

This patch therefore removes these drivers.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[BRIDGE] ebtables: fix allocation in net/bridge/netfilter/ebtables.c
Jayachandran C [Wed, 12 Apr 2006 00:25:38 +0000 (17:25 -0700)]
[BRIDGE] ebtables: fix allocation in net/bridge/netfilter/ebtables.c

Allocate an array of 'struct ebt_chainstack *', the current code allocates
array of 'struct ebt_chainstack'.

akpm: converted to use the

foo = alloc(sizeof(*foo))

form.  Which would have prevented this from happening in the first place.

akpm: also removed unneeded typecast.

akpm: what on earth is this code doing anyway?  cpu_possible_map can be
sparse..

Signed-off-by: Jayachandran C. <c.jayachandran@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[DCCP]: Fix leak in net/dccp/ipv4.c
Eric Sesterhenn [Mon, 10 Apr 2006 23:43:03 +0000 (16:43 -0700)]
[DCCP]: Fix leak in net/dccp/ipv4.c

we dont free req if we cant parse the options.
This fixes coverity bug id #1046

Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[BRIDGE]: receive link-local on disabled ports.
Stephen Hemminger [Mon, 10 Apr 2006 23:38:47 +0000 (16:38 -0700)]
[BRIDGE]: receive link-local on disabled ports.

This change allows link local packets (like 802.3ad and Spanning Tree
Protocol) to be processed even when the bridge is not using the port.
It fixes the chicken-egg problem for bridging a bonded device, and
may also fix problems with spanning tree failover.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPv6] reassembly: Always compute hash under the fragment lock.
Zach Brown [Mon, 10 Apr 2006 23:05:34 +0000 (16:05 -0700)]
[IPv6] reassembly: Always compute hash under the fragment lock.

This closes a race where an ipq6hashfn() caller could get a hash value
and race with the cycling of the random seed.  By the time they got to
the read_lock they'd have a stale hash value and might not find
previous fragments of their datagram.

This matches the previous patch to IPv4.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[PATCH] __group_complete_signal: remove bogus BUG_ON
Oleg Nesterov [Tue, 11 Apr 2006 18:18:58 +0000 (22:18 +0400)]
[PATCH] __group_complete_signal: remove bogus BUG_ON

Commit e56d090310d7625ecb43a1eeebd479f04affb48b

   [PATCH] RCU signal handling

made this BUG_ON() unsafe. This code runs under ->siglock,
while switch_exec_pids() takes tasklist_lock.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
Linus Torvalds [Tue, 11 Apr 2006 13:41:02 +0000 (06:41 -0700)]
Merge git://git./linux/kernel/git/sam/kbuild

* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:
  kconfig: fix typo in change count initialization
  kconfig: recenter menuconfig
  kconfig: revert conf behaviour change
  kconfig: fix default value for choice input
  kbuild: fix NULL dereference in scripts/mod/modpost.c
  kbuild: fix mode of checkstack.pl and other files.
  kbuild: rebuild initramfs if content of initramfs changes
  kbuild: properly pass options to hostcc when doing make O=..
  kbuild: modules_install for external modules must not remove existing modules
  kbuild: fix make dir/
  ver_linux: don't print reiser4progs version if none found
  kbuild: mips: fix sed regexp to generate asm-offset.h
  kbuild: fix building single targets with make O=.. single-target
  kbuild: use relative path to -I
  kbuild: fix unneeded rebuilds in drivers/net/chelsio after moving source tree
  kbuild: fix unneeded rebuilds in drivers/media/video after moving source tree
  kbuild: fix garbled text in modules.txt

18 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Tue, 11 Apr 2006 13:40:17 +0000 (06:40 -0700)]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] Prefetch mmap_sem in ia64_do_page_fault()
  [IA64] Failure to resume after INIT in user space
  [IA64] Pass more data to the MCA/INIT notify_die hooks
  [IA64] always map VGA framebuffer UC, even if it supports WB
  [IA64] fix bug in ia64 __mutex_fastpath_trylock
  [IA64] for_each_possible_cpu: ia64
  [IA64] update HP CSR space discovery via ACPI
  [IA64] Wire up new syscalls {set,get}_robust_list
  [IA64] 'msg' may be used uninitialized in xpc_initiate_allocate()
  [IA64] Wire up new syscall sync_file_range()

18 years ago[PATCH] x86_64: inline function prefix with __always_inline in vsyscall
mao, bibo [Tue, 11 Apr 2006 10:54:54 +0000 (12:54 +0200)]
[PATCH] x86_64: inline function prefix with __always_inline in vsyscall

In vsyscall function do_vgettimeofday(), some functions are declared as
inlined, which is a hint for gcc to compile the function inlined but it
not forced.  Sometimes compiler does not compile the function as
inlined, so here inline is replaced by __always_inline prefix.

It does not happen in gcc compiler actually, but it possibly happens.

Signed-off-by: bibo mao <bibo.mao@intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>