]> pilppa.com Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
19 years ago[SCSI] Universal Xport no attach blacklist
Anton Blanchard [Tue, 6 Sep 2005 08:08:14 +0000 (18:08 +1000)]
[SCSI] Universal Xport no attach blacklist

On Fri, Dec 13, 2002 at 12:24:39AM +1100, Anton Blanchard wrote:

> We tested 2.5.51 on a ppc64 box, qlogic 2312 and a fastt700 array. I
> had CONFIG_SCSI_REPORT_LUNS and unfortunately it thought the management
> LUN was a disk:
>
>   Vendor: IBM       Model: Universal Xport   Rev: 0520
>   Type:   Direct-Access                      ANSI SCSI revision: 03
>
> ...
>
> SCSI device sdaj: drive cache: write through
> SCSI device sdaj: 40960 512-byte hdwr sectors (21 MB)
>  sdaj: unknown partition table
> Attached scsi disk sdaj at scsi2, channel 0, id 0, lun 31
>
> ...
>
> end_request: I/O error, dev sdaj, sector 0

Three years later...

It looks like SGI use the same FC vendor and they already have a
workaround for this issue. The following patch adds the IBM version of
it.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] sd: pause in sd_spinup_disk for slow USB devices
Alan Stern [Tue, 12 Jul 2005 14:45:17 +0000 (10:45 -0400)]
[SCSI] sd: pause in sd_spinup_disk for slow USB devices

This patch adds a delay tailored for USB flash devices that are slow to
initialize their firmware.  The symptom is a repeated Unit Attention with
ASC=0x28 (Not Ready to Ready transition).  The patch will wait for up to 5
seconds for such devices to become ready.  Normal devices won't send the
repeated Unit Attention sense key and hence won't trigger the patch.

This fixes a problem with James Roberts-Thomson's USB device, and I've
seen several reports of other devices exhibiting the same symptoms --
presumably they will be helped as well.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] return success after retries in scsi_eh_tur
Alan Stern [Wed, 30 Mar 2005 20:05:45 +0000 (15:05 -0500)]
[SCSI] return success after retries in scsi_eh_tur

The problem lies in the way the error handler uses TEST UNIT READY to
tell whether error recovery has succeeded.  The scsi_eh_tur function
gives up after one round of retrying; after that it decides that more
error recovery is needed.

However TUR is liable to report sense data indicating a retry is needed
when in fact error recovery has succeeded.  A typical example might be
SK=2, ASC=4, ASCQ=1 (Logical unit in process of becoming ready).  The mere
fact that we were able to get a sensible reply to the TUR should indicate
that the device is working well enough to stop error recovery.

I ran across a case back in January where this happened.  A CD-ROM drive
timed out the INQUIRY command, and a device reset fixed the blockage.
But then the drive kept responding with 2/4/1 -- because it was spinning
up I suppose -- until the error handler gave up and placed it offline.
If the initial INQUIRY had received the 2/4/1 instead, everything would
have worked okay.  It doesn't seem reasonable for things to fail just
because the error handler had started running.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] ibmvscsi: handle large scatter/gather lists
James Bottomley [Tue, 6 Sep 2005 22:11:54 +0000 (17:11 -0500)]
[SCSI] ibmvscsi: handle large scatter/gather lists

The maximum size of a scatter-gather list that the current IBM VSCSI
Client can handle is 10.  This patch adds large scatter-gather support
to the client so that it is capable of handling up to SG_ALL(255)
number of requests in the scatter-gather list.

Signed-off-by: Linda Xie <lxie@us.ibm.com>
Acked by: Dave C Boutcher <sleddog@us.ibm.com>

Rejections fixed up and
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla2xxx: Update version number to 8.01.00-k.
Andrew Vasquez [Sat, 27 Aug 2005 02:10:30 +0000 (19:10 -0700)]
[SCSI] qla2xxx: Update version number to 8.01.00-k.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla2xxx: Stop firmware execution at unintialization time.
Andrew Vasquez [Sat, 27 Aug 2005 02:10:20 +0000 (19:10 -0700)]
[SCSI] qla2xxx: Stop firmware execution at unintialization time.

On ISP24xx parts, stop execution of firmware during ISP
tear-down.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla2xxx: Replace schedule_timeout().
Andrew Vasquez [Sat, 27 Aug 2005 02:10:10 +0000 (19:10 -0700)]
[SCSI] qla2xxx: Replace schedule_timeout().

From: Nishanth Aravamudan <nacc@us.ibm.com>

Replace schedule_timeout() with
msleep()/msleep_interruptible() as appropriate, to guarantee the task
delays as expected.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla2xxx: Remove bad call to fc_remove_host() during probe failure.
Andrew Vasquez [Sat, 27 Aug 2005 02:10:00 +0000 (19:10 -0700)]
[SCSI] qla2xxx: Remove bad call to fc_remove_host() during probe failure.

fc_remove_host() should only be called after a scsi_host has
been successfully added via scsi_add_host() -- any failures
while qla2xxx probing would result in an incorrect call to
fc_remove_host() during cleanup.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla2xxx: Add host attributes.
Andrew Vasquez [Sat, 27 Aug 2005 02:09:40 +0000 (19:09 -0700)]
[SCSI] qla2xxx: Add host attributes.

Export additional host information via the shost_attrs member in
the scsi_host template.  Attributes include: driver version,
firmware version, ISP serial number, ISP type, ISP product ID,
HBA model name, HBA model description, PCI interconnect
information, and HBA port state.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla2xxx: Add change_queue_depth/type() API support.
Andrew Vasquez [Sat, 27 Aug 2005 02:09:30 +0000 (19:09 -0700)]
[SCSI] qla2xxx: Add change_queue_depth/type() API support.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla2xxx: Remove redundant call to pci_unmap_sg().
Andrew Vasquez [Sat, 27 Aug 2005 02:09:20 +0000 (19:09 -0700)]
[SCSI] qla2xxx: Remove redundant call to pci_unmap_sg().

In a corner-case failure where the request-q does not
contain enough entries for a given request, pci_unmap_sg()
would be called twice.  Remove direct call and let the
failure-path logic handle the unmapping.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla2xxx: Remove RISC pause/release barriers during flash manipulation.
Andrew Vasquez [Sat, 27 Aug 2005 02:09:10 +0000 (19:09 -0700)]
[SCSI] qla2xxx: Remove RISC pause/release barriers during flash manipulation.

Remove unnecessary RISC pause/release barriers during
ISP24xx flash manipulation.  The ISP24xx can arbitrate flash
access requests during RISC executions.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla2xxx: Correct LED scheme definition.
Andrew Vasquez [Sat, 27 Aug 2005 02:09:00 +0000 (19:09 -0700)]
[SCSI] qla2xxx: Correct LED scheme definition.

Original implementation used an overloaded bit in the EFI
parameters.  The correct bit is BIT_4 of the special_options
section of NVRAM.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla2xxx: Simplify redundant target/device reset logic.
Andrew Vasquez [Sat, 27 Aug 2005 02:08:50 +0000 (19:08 -0700)]
[SCSI] qla2xxx: Simplify redundant target/device reset logic.

Remove redundant qla2x00_target_reset() function in favour of
the equivalent qla2x00_device_reset().  Update callers of
old function.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla2xxx: Correct domain/area exclusion logic.
Andrew Vasquez [Sat, 27 Aug 2005 02:08:40 +0000 (19:08 -0700)]
[SCSI] qla2xxx: Correct domain/area exclusion logic.

In an FL topology, limit port recognition to those devices
not within the same area and domain of the ISP.  The
firmware will recogonize such devices during local-loop
discovery.

Some devices may respond to a PLOGI before they have
completed their fabric login or they may not be a public
device. In this case they will report:

        domain == 00
        area == 00
        alpa == <XX>

which is valid. Exclude such devices from local loop
discovery.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla2xxx: Add FDMI support.
Andrew Vasquez [Sat, 27 Aug 2005 02:08:30 +0000 (19:08 -0700)]
[SCSI] qla2xxx: Add FDMI support.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla2xxx: Export class-of-service (COS) information.
Andrew Vasquez [Sat, 27 Aug 2005 02:08:10 +0000 (19:08 -0700)]
[SCSI] qla2xxx: Export class-of-service (COS) information.

Export COS information for the fc_host and fc_remote_port
objects added by the driver.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla2xxx: Use dma_get_required_mask() in determining the 'ideal' DMA mask.
Andrew Vasquez [Sat, 27 Aug 2005 02:08:00 +0000 (19:08 -0700)]
[SCSI] qla2xxx: Use dma_get_required_mask() in determining the 'ideal' DMA mask.

In order to efficiently utilise the ISP's IOCB
request-queue, use the dma_get_required_mask() function to
determine the use of command-type 2 or 3 IOCBs when queueing
SCSI commands.  This applies to ISP2[123]xx chips only, as
the ISP24xx uses command-type 7 IOCBs which use 64bit DSDs.

Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] fusion: whitespace fixes
Christoph Hellwig [Thu, 18 Aug 2005 14:24:53 +0000 (16:24 +0200)]
[SCSI] fusion: whitespace fixes

Acked by: Moore, Eric Dean <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] fusion: endianess fixes
Christoph Hellwig [Thu, 18 Aug 2005 14:25:44 +0000 (16:25 +0200)]
[SCSI] fusion: endianess fixes

Assorted endianess fixes.  I'll work on full endianess annotations
later.

Acked by: Moore, Eric Dean <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] fusion: update LSI headers
Christoph Hellwig [Thu, 18 Aug 2005 14:24:26 +0000 (16:24 +0200)]
[SCSI] fusion: update LSI headers

Acked by: Moore, Eric Dean <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] fusion: extended config header support
Christoph Hellwig [Thu, 18 Aug 2005 14:26:15 +0000 (16:26 +0200)]
[SCSI] fusion: extended config header support

Acked by: Moore, Eric Dean <Eric.Moore@lsil.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic7xxx: remove aiclib.c
Christoph Hellwig [Fri, 19 Aug 2005 16:57:13 +0000 (18:57 +0200)]
[SCSI] aic7xxx: remove aiclib.c

#include of C files and macro tricks to rename symbols are evil and just
cause trouble.  Let's doublicate the two functions as they're going to
go away soon enough anyway.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aacraid: bad BUG_ON fix
Mark Haverkamp [Thu, 1 Sep 2005 15:19:23 +0000 (08:19 -0700)]
[SCSI] aacraid: bad BUG_ON fix

This was noticed by Doug Bazamic and the fix found by Mark Salyzyn at
Adaptec.

There was an error in the BUG_ON() statement that validated the
calculated fib size which can cause the driver to panic.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] sg direct io/mmap oops, st sync
Douglas Gilbert [Thu, 1 Sep 2005 11:50:02 +0000 (21:50 +1000)]
[SCSI] sg direct io/mmap oops, st sync

This patch adopts the same solution as proposed by Kai M. in
a post titled: "[PATCH] SCSI tape signed/unsigned fix".
The fix is in a function that the sg driver borrowed from
the st driver so its maintenance is a little easier if
the functions remain the same after the fix.

   - change nr_pages type from unsigned to signed so errors
     from get_user_pages() call are properly handled

Signed-off-by: Douglas Gilbert <dougg@torque.net>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years agoThis patch fixes in st.c the bug in the signed/unsigned int comparison
James Bottomley [Thu, 1 Sep 2005 00:27:22 +0000 (20:27 -0400)]
This patch fixes in st.c the bug in the signed/unsigned int comparison
reported by Doug Gilbert and fixed by him in sg.c (see [PATCH] sg direct
io/mmap oops). Doug fixed the comparison in sg.c. This fix for st.c does not
touch the comparison but makes both arguments signed to remove the
problem. The new code is adapted from linux/fs/bio.c.

Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi>
Rejections fixed up and

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] embryonic RAID class
James Bottomley [Tue, 16 Aug 2005 23:27:34 +0000 (18:27 -0500)]
[SCSI] embryonic RAID class

The idea behind a RAID class is to provide a uniform interface to all
RAID subsystems (both hardware and software) in the kernel.

To do that, I've made this class a transport class that's entirely
subsystem independent (although the matching routines have to match per
subsystem, as you'll see looking at the code).  I put it in the scsi
subdirectory purely because I needed somewhere to play with it, but it's
not a scsi specific module.

I used a fusion raid card as the test bed for this; with that kind of
card, this is the type of class output you get:

jejb@titanic> ls -l /sys/class/raid_devices/20\:0\:0\:0/
total 0
lrwxrwxrwx  1 root root     0 Aug 16 17:21 component-0 -> ../../../devices/pci0000:80/0000:80:04.0/host20/target20:1:0/20:1:0:0/
lrwxrwxrwx  1 root root     0 Aug 16 17:21 component-1 -> ../../../devices/pci0000:80/0000:80:04.0/host20/target20:1:1/20:1:1:0/
lrwxrwxrwx  1 root root     0 Aug 16 17:21 device -> ../../../devices/pci0000:80/0000:80:04.0/host20/target20:0:0/20:0:0:0/
-r--r--r--  1 root root 16384 Aug 16 17:21 level
-r--r--r--  1 root root 16384 Aug 16 17:21 resync
-r--r--r--  1 root root 16384 Aug 16 17:21 state

So it's really simple: for a SCSI device representing a hardware raid,
it shows the raid level, the array state, the resync % complete (if the
state is resyncing) and the underlying components of the RAID (these are
exposed in fusion on the virtual channel 1).

As you can see, this type of information can be exported by almost
anything, including software raid.

The more difficult trick, of course, is going to be getting it to
perform configuration type actions with writable attributes.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] attribute container final klist fixes
James Bottomley [Sun, 28 Aug 2005 14:13:17 +0000 (09:13 -0500)]
[SCSI] attribute container final klist fixes

Since the attribute container deletes from a klist while it's walking
it, it is vulnerable to the problem (and fix) here:

http://marc.theaimsgroup.com/?l=linux-scsi&m=112485448830217

The attached fixes this (but won't compile without the above).

It also fixes the logical reversal in the traversal loop which meant
that we were never actually traversing the loop to hit this bug in the
first place.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] correct attribute_container list usage
James Bottomley [Mon, 22 Aug 2005 15:06:19 +0000 (10:06 -0500)]
[SCSI] correct attribute_container list usage

One of the changes in the attribute_container code in the scsi-misc tree
was to add a lock to protect the list of devices per container.  This,
unfortunately, leads to potential scheduling while atomic problems if
there's a sleep in the function called by a trigger.

The correct solution is to use the kernel klist infrastructure instead
which allows lockless traversal of a list.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] sr.c: Fix getting wrong size
Pete Zaitcev [Wed, 6 Jul 2005 01:18:08 +0000 (18:18 -0700)]
[SCSI] sr.c: Fix getting wrong size

Here's the problem. Try to do this on 2.6.12:
- Kill udev and HAL
- Insert a CD-ROM into a SCSI or USB CD-ROM drive
- Run dd if=/dev/scd0
- cat /sys/block/sr0/size
- Eject the CD, insert a different one
- Run dd if=/dev/scd0
This is likely to do "access beyond the end of device", if you let it
- cat /sys/block/sr0/size
This shows the size of a previous CD, even though dd was supposed
to revalidate the device.
- Run dd if=/dev/scd0
The second run of dd works correctly!

The bug was introduced in 2.5.31, when Al fixes the recursive opens
in partitioning. Before, the code worked like this:
- Block layer called cdrom_open directly
- cdrom_open called sr_open
- sr_open called check_disk_change
- check_disk_change called sr_media_change
- sr_media_change did cd->needs_disk_change=1
- before returning sr_open tested cd->needs_disk_change
  and called get_sector_size.

In 2.6.12, the check_disk_change is called from cdrom_open only. Thus:
- Block layer calls sr_bd_open
- sr_bd_open calls cdrom_open
- cdrom_open calls sr_open
- sr_open tests cd->needs_disk_change, which wasn't set yet; returns
- cdrom_open calls check_disk_change
- check_disk_change calls sr_media_change
- sr_media_change does cd->needs_disk_change=1, but nobody cares

Acked by: Alexander Viro <aviro@redhat.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] ibmvscsi timeout fix
Dave C Boutcher [Mon, 22 Aug 2005 19:38:26 +0000 (14:38 -0500)]
[SCSI] ibmvscsi timeout fix

This patch fixes a long term borkenness in
ibmvscsi where we were using the wrong timeout
field from the scsi command (and using the
wrong units.)  Now broken by the fact that the
scsi_cmnd timeout field is gone entirely.
This only worked before because all the SCSI
targets assumed that 0 was default.

Signed-off-by: Dave Boutcher <boutcher@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] drivers/scsi/constants.c should include scsi_dbg.h
Adrian Bunk [Sat, 20 Aug 2005 19:27:27 +0000 (21:27 +0200)]
[SCSI] drivers/scsi/constants.c should include scsi_dbg.h

C files should include the files with the prototypes for their global
functions.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] add missing attribute container function prototype
James Bottomley [Tue, 16 Aug 2005 22:26:10 +0000 (17:26 -0500)]
[SCSI] add missing attribute container function prototype

attribute_container_classdev_to_container is an exported function of the
attribute_container.c file.  However, there's no prototype for it.  Now
I actually want to use it, so add one.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] ibmvscsi eh locking
Dave C Boutcher [Mon, 15 Aug 2005 21:52:58 +0000 (16:52 -0500)]
[SCSI] ibmvscsi eh locking

With the removal of the spinlocking around eh calls, we need to add a
little more locking back in, otherwise we do some naked list
manipulation.

Signed-off-by: Dave Boutcher <boutcher@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aacraid: Fix aacraid probe breakage (updated)
Mark Haverkamp [Mon, 15 Aug 2005 17:50:24 +0000 (10:50 -0700)]
[SCSI] aacraid: Fix aacraid probe breakage (updated)

This patch fixes the bad assumption of the aacraid driver with use_sg.
I used the 3w-xxxx driver fix as a guide for this.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] fix transport class corner case after rework
James Bottomley [Mon, 15 Aug 2005 21:13:19 +0000 (16:13 -0500)]
[SCSI] fix transport class corner case after rework

If your transport class sets the ATTRIBUTE_CONTAINER_NO_CLASSDEVS flag,
then its configure method never gets called.  This patch fixes that so
that the configure method is called with a NULL classdev.

Also remove a spurious inverted comma in the transport_class comments.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aiclib remove dead
Christoph Hellwig [Mon, 15 Aug 2005 11:29:55 +0000 (13:29 +0200)]
[SCSI] aiclib remove dead

remove lots of completely dead code from aiclib, there's not a lot left
and even what's left is rather useless.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic79xx: sane pci probing
Christoph Hellwig [Mon, 15 Aug 2005 11:28:46 +0000 (13:28 +0200)]
[SCSI] aic79xx: sane pci probing

remove ahd_tailq and do sane pci probing.  ported over from aic7xxx.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic79xx: remove some dead code
Christoph Hellwig [Mon, 15 Aug 2005 11:27:39 +0000 (13:27 +0200)]
[SCSI] aic79xx: remove some dead code

remove some dead cruft, as done already in aic7xxx

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] correct transport class abstraction to work outside SCSI
James Bottomley [Sun, 14 Aug 2005 22:09:01 +0000 (17:09 -0500)]
[SCSI] correct transport class abstraction to work outside SCSI

I recently tried to construct a totally generic transport class and
found there were certain features missing from the current abstract
transport class.  Most notable is that you have to hang the data on the
class_device but most of the API is framed in terms of the generic
device, not the class_device.

These changes are two fold

- Provide the class_device to all of the setup and configure APIs
- Provide and extra API to take the device and the attribute class and
  return the corresponding class_device

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] add ability to deny binding to SPI transport class
James Bottomley [Sun, 14 Aug 2005 19:34:06 +0000 (14:34 -0500)]
[SCSI] add ability to deny binding to SPI transport class

This patch is necessary if we begin exposing underlying physical disks
(which can attach to the SPI transport class) of the hardware RAID
cards, since we don't want any SPI parameters binding to the RAID
devices.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic7xxx: lost multifunction flags handling
James Bottomley [Sat, 13 Aug 2005 14:42:45 +0000 (09:42 -0500)]
[SCSI] aic7xxx: lost multifunction flags handling

From: Christoph Hellwig <hch@lst.de>

Multi-function cards need to inherit the PCI flags from the master PCI
device.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] fix warning in aic7770.c
akpm@osdl.org [Tue, 9 Aug 2005 04:49:48 +0000 (21:49 -0700)]
[SCSI] fix warning in aic7770.c

From: "Martin J. Bligh" <mbligh@mbligh.org>

drivers/scsi/aic7xxx/aic7770.c: In function `aic7770_config':
drivers/scsi/aic7xxx/aic7770.c:129: warning: unused variable `l'

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] fix warning in scsi_softirq
akpm@osdl.org [Tue, 9 Aug 2005 07:17:03 +0000 (00:17 -0700)]
[SCSI] fix warning in scsi_softirq

From: Andrew Morton <akpm@osdl.org>

drivers/scsi/scsi.c: In function `scsi_softirq':
drivers/scsi/scsi.c:814: warning: int format, long int arg (arg 4)

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] Add Emulex as maintainer of lpfc SCSI driver
James.Smart@Emulex.Com [Thu, 11 Aug 2005 17:42:35 +0000 (13:42 -0400)]
[SCSI] Add Emulex as maintainer of lpfc SCSI driver

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] lpfc driver 8.0.30 : update version to 8.0.30
James.Smart@Emulex.Com [Wed, 10 Aug 2005 19:03:17 +0000 (15:03 -0400)]
[SCSI] lpfc driver 8.0.30 : update version to 8.0.30

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] lpfc driver 8.0.30 : convert to use of int_to_scsilun()
James.Smart@Emulex.Com [Wed, 10 Aug 2005 19:03:09 +0000 (15:03 -0400)]
[SCSI] lpfc driver 8.0.30 : convert to use of int_to_scsilun()

Replace use of lpfc_put_lun with midlayer's int_to_scsilun

Remove driver's local definition of lpfc_put_lun (which converts an
int back to a 64-bit LUN) and replace it's use with the recently added
int_to_scsilun function provided by the midlayer.

Note: Embedding midlayer structure in our structure caused
need for more files to include midlayer headers.

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] lpfc driver 8.0.30 : dev_loss and nodev timeouts
James.Smart@Emulex.Com [Wed, 10 Aug 2005 19:02:30 +0000 (15:02 -0400)]
[SCSI] lpfc driver 8.0.30 : dev_loss and nodev timeouts

Fix handling of the dev_loss and nodev timeouts.

Symptoms: when remote port disappears for a period of time longer then
either nodev_tmo or dev_loss_tmo, the lpfc driver worker thread will
stall removing that remote port.

Cause: removing remote port involves un-blocking and sync-ing
corresponding block device queue. But corresponding node in the lpfc
driver is still in the NPR(?node port recovery?) state and mid-layer
gets SCSI_MLQUEUE_HOST_BUSY as a return value when it is trying to call
queuecommand() with command for that node (AKA remote port)

Fix: Instead of returning SCSI_MLQUEUE_HOST_BUS from queuecommand() for
nodes in NPR states complete it with retry-able error code  DID_BUS_BUSY

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] lpfc driver 8.0.30 : fix get_stats panic
James.Smart@Emulex.Com [Wed, 10 Aug 2005 19:03:01 +0000 (15:03 -0400)]
[SCSI] lpfc driver 8.0.30 : fix get_stats panic

Fix panic in lpfc_get_stats()

Symptoms: Panic on sysfs stats access

Cause: In lpfc_get_stats() we are writing to memory that we do not
own.

Fix: Fix our stats structure allocation. Embed phba->link_stats in
struct lpfc_hba and stop treating it like rogue structure.

Note: Embedding midlayer/transport structure in our structure caused
need for more files to include midlayer/transport headers.

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] lpfc driver 8.0.30 : task mgmt bit clearing
James.Smart@Emulex.Com [Wed, 10 Aug 2005 19:02:37 +0000 (15:02 -0400)]
[SCSI] lpfc driver 8.0.30 : task mgmt bit clearing

Clear task management bits when preparing SCSI commands

In lpfc_scsi_prep_cmnd, clear the task management bits (fcpCntl2 member
in the fcp_cmd structure) when preparing regular SCSI commands.

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] lpfc driver 8.0.30 : fix lip/cablepull panic
James.Smart@Emulex.Com [Wed, 10 Aug 2005 19:02:50 +0000 (15:02 -0400)]
[SCSI] lpfc driver 8.0.30 : fix lip/cablepull panic

Fix panic on lip and cable pull

Symptoms: Panic on lip or cable pull

Cause: Use after free of nlp in lpfc_nlp_remove()

Fix: Do not make FC transport calls after a node is removed. Transport
calls are disabled by ignoring the initial delete transition.

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] lpfc driver 8.0.30 : fix iocb reuse initialization
James.Smart@Emulex.Com [Wed, 10 Aug 2005 19:02:45 +0000 (15:02 -0400)]
[SCSI] lpfc driver 8.0.30 : fix iocb reuse initialization

IOCB BDE not getting fully initialized during reuse

Symptoms: Driver gets Status 3 and Reason 0x13 on IOCB completions.

Cause: The IOCB bpl.bdeSize and bdeFlags are not getting initialized on reuse.

Fix: Reinitialize these fields in prep_dma each time an IOCB is used.

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] Make the HSG80 a REPORTLUN2 device
James Bottomley [Tue, 9 Aug 2005 17:57:11 +0000 (12:57 -0500)]
[SCSI] Make the HSG80 a REPORTLUN2 device

From:  Steve Wilcox <spwilcox@att.com>

In order to properly report LUN's > 7, the DEC HSG80 definition in
scsi_devinfo.c needs to include BLIST_REPORTLUN2 rather than
BLIST_SPARSELUN.  I've tested this change with several HSG firmware
revisions and with both Emulex and Qlogic HBA's.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic79xx: fix boot panic with no hardware
James Bottomley [Tue, 9 Aug 2005 00:06:50 +0000 (19:06 -0500)]
[SCSI] aic79xx: fix boot panic with no hardware

There's a spurious (and illegal since it's marked __exit) call to
ahc_linux_exit() in ahc_linux_init() which causes a double list
deletion of the transport class; remove it.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] blacklist addition.
Dave Jones [Mon, 8 Aug 2005 23:01:43 +0000 (19:01 -0400)]
[SCSI] blacklist addition.

When run on a kernel that scans all LUNs, a certain crappy
scsi scanner reports the same LUN over and over..
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=155457

Aparently they were so shamed by this, they chose to remain
anonymous. Though it seems the blacklist code handles
anonymous vendors just fine.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aacraid: adapter support update
Mark Haverkamp [Mon, 8 Aug 2005 21:20:43 +0000 (14:20 -0700)]
[SCSI] aacraid: adapter support update

Received from Mark Salyzyn

This patch adds the product ID for the ICP9067MA adapter.

The entries for the ICP9085LI, ICP5085BR, IBM8k & ASR4810SAS were
incorrect and would not initialize the adapters correctly.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] add global timeout to the scsi mid-layer
James Bottomley [Sat, 6 Aug 2005 02:45:40 +0000 (21:45 -0500)]
[SCSI] add global timeout to the scsi mid-layer

There are certain rogue devices (and the aic7xxx driver) that return
BUSY or QUEUE_FULL forever.  This code will apply a global timeout (of
the total number of retries times the per command timer) to a given
command.  If it is exceeded, the command is completed regardless of its
state.

The patch also removes the unused field in the command: timeout and
timeout_total.

This solves the problem of detecting an endless loop in the mid-layer
because of BUSY/QUEUE_FULL bouncing, but will not recover the device.
In the aic7xxx case, the driver can be recovered by sending a bus reset,
so possibly this should be tied into the error handler?

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] drivers/scsi/st.c: add reference count and related fixes
Kai Makisara [Tue, 2 Aug 2005 10:40:47 +0000 (13:40 +0300)]
[SCSI] drivers/scsi/st.c: add reference count and related fixes

I have rediffed the patch against 2.6.13-rc5, done a couple of cosmetic
cleanups, and run some tests.  Brian King has acknowledged that it fixes the
problems he has seen. Seems mature enough for inclusion into 2.6.14 (or
later)?

Nate's explanation of the changes:

I've attached patches against 2.6.13rc2. These are basically identical
to my earlier patches, as I found that all issues I'd seen in earlier
kernels still existed in this kernel.

To summarize, the changes are: (more details in my original email)

- add a kref to the scsi_tape structure, and associate reference
counting stuff

- set sr_request->end_io = blk_end_sync_rq so we get notified when an IO
is rejected when the device goes away

- check rq_status when IOs complete, else we don't know that IOs
rejected for a dead device in fact did not complete

- change last_SRpnt so it's set before an async IO is issued (in case
st_sleep_done is bypassed)

- fix a bogus use of last_SRpnt in st_chk_result

Signed-off-by: Nate Dailey <nate.dailey@stratus.com>
Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aacraid: correct use of cmd->timeout field
James Bottomley [Fri, 5 Aug 2005 21:31:35 +0000 (16:31 -0500)]
[SCSI] aacraid: correct use of cmd->timeout field

The cmd->timeout field has been obsolete for a while now.  While looking
to remove it, I came across this use in the aacraid driver.  It looks
like you want to initialise the firmware with the current timeout of the
command (in seconds), so the value I think you should be using is
cmd->timeout_per_command.

Acked by: Mark Haverkamp <markh@osdl.org>
Acked by: Mark Salyzyn <mark_salyzyn@adaptec.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic79xx: needs to select SPI_TRANSPORT_ATTRS
akpm@osdl.org [Sun, 7 Aug 2005 06:32:07 +0000 (23:32 -0700)]
[SCSI] aic79xx: needs to select SPI_TRANSPORT_ATTRS

without it you get this failure:

drivers/built-in.o(.text+0xdcccd): In function `ahd_linux_slave_configure':
drivers/scsi/aic7xxx/aic79xx_osm.c:636: undefined reference to `spi_dv_device'
drivers/built-in.o(.text+0xdd7b1): In function `ahd_send_async':
drivers/scsi/aic7xxx/aic79xx_osm.c:1652: undefined reference to `spi_display_xfer_agreement'
drivers/built-in.o(.init.text+0x7b4d): In function `ahd_linux_init':
drivers/scsi/aic7xxx/aic79xx_osm.c:2765: undefined reference to `spi_attach_transport'
drivers/built-in.o(.init.text+0x7c94):drivers/scsi/aic7xxx/aic79xx_osm.c:2774: undefined reference to `spi_release_transport'
drivers/built-in.o(.exit.text+0x72c): In function `ahd_linux_exit':
drivers/scsi/aic7xxx/aic79xx_osm.c:2783: undefined reference to `spi_release_transport'

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aacraid: sgraw command support
Mark Haverkamp [Wed, 3 Aug 2005 22:39:49 +0000 (15:39 -0700)]
[SCSI] aacraid: sgraw command support

Received from Mark Salyzyn from Adaptec:

This patch adds support for the new raw io command. This new command
offers much larger io commands, is more friendly to the internal firmware
structure requiring less translation efforts by the firmware and offers
support for targets greater than 2TB (patch to support >2TB will
be sent in the future).

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aacraid: aif registration timeout fix
Mark Haverkamp [Wed, 3 Aug 2005 22:39:25 +0000 (15:39 -0700)]
[SCSI] aacraid: aif registration timeout fix

Received from Mark Salyzyn from Adaptec:

If the Adapter is quiet and does not produce an AIF event packets to be
picked up by the management applications for longer than the timeout
interval of two minutes, the cleanup code that deals with aging out
registrants could erroneously drop the registration. The timeout is
there to clean up should the management application die and fail to poll
for updated AIF event packets.

Moving the timer update from the ioctl code that delivers an AIF to the
polling registrant to the bottom of the ioctl means the timeout is reset
with any management application polling activity regardless if an AIF is
delivered or not removing the erroneous timeout cleanups.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aacraid: remove duplicate io callback code
Mark Haverkamp [Wed, 3 Aug 2005 22:39:09 +0000 (15:39 -0700)]
[SCSI] aacraid: remove duplicate io callback code

Received from Mark Salyzyn from Adaptec:

This patch removes the duplicate code in the write_callback command
completion handler, and renames read_callback to io_callback. Optimized
the lba calculation into the debug print routine macro to optimize the
i/o code path.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aacraid: driver shutdown method
Mark Haverkamp [Wed, 3 Aug 2005 22:39:01 +0000 (15:39 -0700)]
[SCSI] aacraid: driver shutdown method

Add in pci shutdown method so that the adapter shuts down correctly and
flushes its cache. Shutdown should also disable the adapter's interrupt
when shutdown (in particularly if the driver is rmmod'd) to prevent
spurious hardware activities.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aacraid: driver version update
Mark Haverkamp [Wed, 3 Aug 2005 22:38:55 +0000 (15:38 -0700)]
[SCSI] aacraid: driver version update

Received from Mark Salyzyn from Adaptec.

Fixes a bug in check_revision.  It should return the driver version not
the firmware version.
Update driver version number.
Update driver version string.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aacraid: interupt mitigation
Mark Haverkamp [Wed, 3 Aug 2005 22:38:51 +0000 (15:38 -0700)]
[SCSI] aacraid: interupt mitigation

Received from Mark Salyzyn from Adaptec:

If more than two commands are outstanding to the controller, there is no
need to notify the adapter via a PCI bus transaction of additional
commands added into the queue; it will get to them when it works through
the produce/consumer indexes.

This reduced the PCI traffic in the driver to submit a command to the
queue to near zero allowing a significant number of commands to be
turned around with no need to block for the PCI bridge to flush the
notify request to the adapter.

Interrupt mitigation has always been present in the driver; it was
turned off because of a bug that prevented one from realizing the
usefulness of the feature. This bug is fixed in this patch.

Signed-off-by: Mark Haverkamp <markh@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic7xxx/79xx: fix another potential panic due to a non existent target
James Bottomley [Fri, 5 Aug 2005 21:24:54 +0000 (16:24 -0500)]
[SCSI] aic7xxx/79xx: fix another potential panic due to a non existent target

I ran into this one sending bus resets across the hardware.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic7xxx: upport all sequencer and core fixes from adaptec version 6.3.9
James Bottomley [Thu, 4 Aug 2005 22:33:22 +0000 (17:33 -0500)]
[SCSI] aic7xxx: upport all sequencer and core fixes from adaptec version 6.3.9

This patch upports all relevant code fixes and bumps the driver version
to 7.0 to signify starting a new tree.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic79xx: fixup DT setting
Hannes Reinecke [Thu, 4 Aug 2005 07:16:59 +0000 (09:16 +0200)]
[SCSI] aic79xx: fixup DT setting

this patch is just a cross-port of the fixup for aic7xxx DT settings.
As the same restrictions apply for aic79xx also (DT requires wide
transfers) the dt setting routine should be modified equivalently.
And an invalid period setting will be caught by ahd_find_syncrate()
anyway.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic79xx: add hold_mcs to the transport parameters
James Bottomley [Wed, 3 Aug 2005 20:59:04 +0000 (15:59 -0500)]
[SCSI] aic79xx: add hold_mcs to the transport parameters

since this card can support the setting, add it to the parameter list.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] add missing hold_mcs parameter to the spi transport class
James Bottomley [Wed, 3 Aug 2005 20:43:52 +0000 (15:43 -0500)]
[SCSI] add missing hold_mcs parameter to the spi transport class

This parameter is important only to people who take the time to tune the
margin control settings, otherwise it's completely irrelevant.  However,
just in case anyone should want to do this, it's appropriate to include
the parameter.

I don't do anything with it in DV by design, so the parameter will come
up as off by default, so if anyone actually wants to play with the
margin control settings they'll have to enable it under the
spi_transport class first.

I also updated the transfer settings display to report all of the PPR
settings instead of only DT, IU and QAS

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic79xx: fix up transport settings
James Bottomley [Wed, 3 Aug 2005 18:25:10 +0000 (13:25 -0500)]
[SCSI] aic79xx: fix up transport settings

There's a slight problem in the way you've done the transport
parameters; reading from the variables actually produces the current
settings, not the ones you just set (and there's usually a lag because
devices don't renegotiate until the next command goes over the bus).  If
you set the bit immediately, you get into the situation where the
transport parameters report something as being set even if the drive
cannot support it.

I patched the driver to do it this way and also corrected a panic in the
proc routines.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic79xx: DV parameter settings
Hannes Reinecke [Mon, 1 Aug 2005 07:52:56 +0000 (09:52 +0200)]
[SCSI] aic79xx: DV parameter settings

This patch updates various scsi_transport_spi parameters with the actual
parameters used by the driver internally.
Domain Validation for all devices should now work properly.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic79xx: update to use scsi_transport_spi
Hannes Reinecke [Fri, 22 Jul 2005 14:44:04 +0000 (16:44 +0200)]
[SCSI] aic79xx: update to use scsi_transport_spi

This patch updates the aic79xx driver to take advantage of the
scsi_transport_spi infrastructure. Patch is quite a mess as some
procedures have been reshuffled to be closer to the aic7xxx driver.

Rejections fixed and
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic79xx: Remove busyq
Hannes Reinecke [Fri, 22 Jul 2005 14:42:28 +0000 (16:42 +0200)]
[SCSI] aic79xx: Remove busyq

From: Jeff Garzik <jgarzik@pobox.com>

This patch removes the busyq in aic79xx and uses the command-queue from
the midlayer instead. Additionally some dead code is removed.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Fixed rejections

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla1280: endianess annotations
Christoph Hellwig [Mon, 4 Jul 2005 15:49:26 +0000 (17:49 +0200)]
[SCSI] qla1280: endianess annotations

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla1280: don't use bitfields for hardware access, parameters
Christoph Hellwig [Mon, 4 Jul 2005 15:49:22 +0000 (17:49 +0200)]
[SCSI] qla1280: don't use bitfields for hardware access, parameters

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Thiemo Seufer <ths@linux-mips.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla1280: don't use bitfields for hardware access in isp_config
Christoph Hellwig [Mon, 4 Jul 2005 15:48:55 +0000 (17:48 +0200)]
[SCSI] qla1280: don't use bitfields for hardware access in isp_config

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Thiemo Seufer <ths@linux-mips.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla1280: always load microcode
Christoph Hellwig [Mon, 4 Jul 2005 15:48:46 +0000 (17:48 +0200)]
[SCSI] qla1280: always load microcode

we have the most recent microcode, make sure to always load it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla1280: remove SG_SEGMENTS
Christoph Hellwig [Mon, 4 Jul 2005 15:48:41 +0000 (17:48 +0200)]
[SCSI] qla1280: remove SG_SEGMENTS

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Thiemo Seufer <ths@linux-mips.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla1280: use SAM_ constants
Christoph Hellwig [Mon, 4 Jul 2005 15:48:36 +0000 (17:48 +0200)]
[SCSI] qla1280: use SAM_ constants

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Thiemo Seufer <ths@linux-mips.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla1280: misc cleanups
Christoph Hellwig [Mon, 4 Jul 2005 15:48:30 +0000 (17:48 +0200)]
[SCSI] qla1280: misc cleanups

print message tidy ups and some excess brace removal.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Thiemo Seufer <ths@linux-mips.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla1280: interupt posting for irq disabling/enabling
Christoph Hellwig [Mon, 4 Jul 2005 15:48:19 +0000 (17:48 +0200)]
[SCSI] qla1280: interupt posting for irq disabling/enabling

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Thiemo Seufer <ths@linux-mips.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] qla1280: remove dead per-host flag variables
Christoph Hellwig [Mon, 4 Jul 2005 15:48:13 +0000 (17:48 +0200)]
[SCSI] qla1280: remove dead per-host flag variables

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Thiemo Seufer <ths@linux-mips.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] add template for scsi_host_set_state()
James Bottomley [Sat, 30 Jul 2005 16:39:53 +0000 (11:39 -0500)]
[SCSI] add template for scsi_host_set_state()

Fixes up some warnings in the tree.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] host state model update: mediate host add/remove race
Mike Anderson [Thu, 16 Jun 2005 18:14:33 +0000 (11:14 -0700)]
[SCSI] host state model update: mediate host add/remove race

Add support to not allow additions to a host when it is being removed.

Signed-off-by: Mike Anderson <andmike@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] host state model update: reimplement scsi_host_cancel
Mike Anderson [Thu, 16 Jun 2005 18:13:42 +0000 (11:13 -0700)]
[SCSI] host state model update: reimplement scsi_host_cancel

Remove the old scsi_host_cancel function as it has not been working for
sometime do to the device list possibly being empty when it is called and
possible race issues. Add setting of SHOST_CANCEL at the state of beginning
of scsi_remove_host.

Signed-off-by: Mike Anderson <andmike@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] host state model update: replace old host bitmap state
Mike Anderson [Thu, 16 Jun 2005 18:12:38 +0000 (11:12 -0700)]
[SCSI] host state model update: replace old host bitmap state

Migrate the current SCSI host state model to a model like SCSI
device is using.

Signed-off-by: Mike Anderson <andmike@us.ibm.com>
Rejections fixed up and

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] git-scsi-misc: drivers/scsi/ch.c: remove devfs stuff
Adrian Bunk [Wed, 27 Jul 2005 08:07:42 +0000 (01:07 -0700)]
[SCSI] git-scsi-misc: drivers/scsi/ch.c: remove devfs stuff

It seems very unlikely that this driver will go into any stable kernel
before devfs will be removed.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: James Bottomley <James.Bottomley@steeleye.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[SCSI] aic byteorder fixes after recent cleanup
Olaf Hering [Tue, 19 Jul 2005 20:04:24 +0000 (22:04 +0200)]
[SCSI] aic byteorder fixes after recent cleanup

 aic doesnt work anymore after this change which appeared int 2.6.13-rc1:
 [SCSI] aic7xxx/aic79xx: remove useless byte order macro cruft

 2 files did not include byteorder.h, aic died with panic
 "Unknown opcode encountered in seq program"
 This patch fixes it for me.

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
19 years ago[PATCH] agp: restore APBASE after setting APSIZE
Matthew Garrett [Fri, 29 Jul 2005 21:03:39 +0000 (14:03 -0700)]
[PATCH] agp: restore APBASE after setting APSIZE

When leaving S3 state, the AGP bridge may not have all PCI configuration
registers set in the same way as they were at boot.  This should be fixed
by pci_restore_state - however, the APBASE register cannot be set to
conflict with the APSIZE register.  If APSIZE is larger than it was before
suspend, pci_restore_state will not restore APBASE correctly.  The attached
patch adds an extra item to the agp_bridge_data structure and uses it to
store the value of APBASE.  On resume, this is then written after APSIZE
has been set.  This patch only touches the path used for Intel chipsets
without integrated graphics, and may need to be extended to work with the
others.

Without this patch, I get the symptoms described in bug 4921 - APBASE ends
up overlapping various PCI devices, and as a result they fail to work after
resume.

Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Acked-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: fix inline assembly in appldata
Gerald Schaefer [Fri, 29 Jul 2005 21:03:38 +0000 (14:03 -0700)]
[PATCH] s390: fix inline assembly in appldata

Fix inline assembly that gets miscompiled by gcc 4.

Signed-off-by: Gerald Schaefer <geraldsc@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: device recognition
Cornelia Huck [Fri, 29 Jul 2005 21:03:37 +0000 (14:03 -0700)]
[PATCH] s390: device recognition

Close a small window where a device may be not operational again after senseid
finished and the "same device" check fails due to dev=0000 by checking for dnv
after stsch() by then setting the device to not operational.  (No need to
check for dnv in ccw_device_handle_oper() again since we don't do stsch() into
the subchannel's schib in the meantime and will get a crw anyway if the device
becomes not oper again).

Signed-off-by: Cornelia Huck <cohuck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: check for interrupt before waiting
Heiko Carstens [Fri, 29 Jul 2005 21:03:36 +0000 (14:03 -0700)]
[PATCH] s390: check for interrupt before waiting

The patch that introduced waiting for interrupts after resetting the reader
can cause the boot to fail because the system is waiting for an interrupt that
will never arrive.  Add code to check if an interrupt is supposed to arrive
before waiting endlessly.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: default configuration
Martin Schwidefsky [Fri, 29 Jul 2005 21:03:35 +0000 (14:03 -0700)]
[PATCH] s390: default configuration

Update default configuration of s390.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: fix vsyscall brokenness
Jeff Dike [Fri, 29 Jul 2005 21:03:33 +0000 (14:03 -0700)]
[PATCH] uml: fix vsyscall brokenness

The #if/#ifdef cleanup exposed a bug in UML's ELF header processing.  With
this bug fixed, UML recognizes the vsyscall info coming from the host.  On
FC4, there is a vsyscall page low in the address space, which UML doesn't
provide.  This causes an infinite page fault loop and a hang on boot.

This patch works around that by making this look like a no-vsyscall system.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fbdev: Replace memcpy with for-loop when preparing bitmap
Antonino A. Daplas [Fri, 29 Jul 2005 21:03:33 +0000 (14:03 -0700)]
[PATCH] fbdev: Replace memcpy with for-loop when preparing bitmap

Do not use memcpy in fb_pad_aligned_buffer.  It is suboptimal because only
a few bytes are moved at a time.  Replace with a for-loop.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86: avoid wasting IRQs patch update
Natalie.Protasevich@unisys.com [Fri, 29 Jul 2005 21:03:32 +0000 (14:03 -0700)]
[PATCH] x86: avoid wasting IRQs patch update

The patch addresses a problem with ACPI SCI interrupt entry, which gets
re-used, and the IRQ is assigned to another unrelated device.  The patch
corrects the code such that SCI IRQ is skipped and duplicate entry is
avoided.  Second issue came up with VIA chipset, the problem was caused by
original patch assigning IRQs starting 16 and up.  The VIA chipset uses
4-bit IRQ register for internal interrupt routing, and therefore cannot
handle IRQ numbers assigned to its devices.  The patch corrects this
problem by allowing PCI IRQs below 16.

Signed-off by: Natalie Protasevich <Natalie.Protasevich@unisys.com>

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] vesafb: Fix mtrr bugs
Antonino A. Daplas [Fri, 29 Jul 2005 21:03:31 +0000 (14:03 -0700)]
[PATCH] vesafb: Fix mtrr bugs

>> vesafb: mode is 800x600x16, linelength=1600, pages=16
>> vesafb: scrolling: redraw
>> vesafb: Truecolor: size=0:5:6:5, shift=0:11:5:0
>> mtrr: type mismatch for fc000000,1000000 old: write-back new: write-
>> combining

Range is already set to write-back, vesafb attempts to add a write-combining
mtrr (default for vesafb).

>> mtrr: size and base must be multiples of 4 kiB

This is a bug, vesafb attempts to add a size < PAGE_SIZE triggering
the messages below.

To eliminate the warning messages, you can add the option mtrr:2 to add a
write-back mtrr for vesafb.  Or just use nomtrr option.

1. Fix algorithm for finding the best power of 2 size with mtrr_add().

2. Add option to choose the mtrr type by extending the mtrr boot option:

   mtrr:n where n

        0 = no mtrr (equivalent to using the nomtrr option)
        1 = uncachable
        2 = write back
        3 = write combining (default)
        4 = write through

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] serial: add MMIO support to 8250_pnp
Bjorn Helgaas [Fri, 29 Jul 2005 21:03:30 +0000 (14:03 -0700)]
[PATCH] serial: add MMIO support to 8250_pnp

Add support for UARTs in MMIO space and clean up a little whitespace.

HP legacy-free ia64 machines need this.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>