safe/jmp/linux-2.6
14 years ago[SCSI] cxgb3i, bnx2i: remove uses of nipquad use %pi4
Joe Perches [Wed, 10 Feb 2010 22:51:43 +0000 (16:51 -0600)]
[SCSI] cxgb3i, bnx2i: remove uses of nipquad use %pi4

Remove uses of NIPQUAD, use %pI4

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] fusion: hold off error recovery while alternate ioc is initializing
Michael Reed [Wed, 10 Feb 2010 20:32:00 +0000 (14:32 -0600)]
[SCSI] fusion: hold off error recovery while alternate ioc is initializing

After discussing this patch with LSI, I resubmitting with a recommended
40 second wait for the alternate ioc's initialization to complete.
--
Fusion FC chips are two function with some shared resources.  During
initialization of one function its driver inhibits the ability of the
other function's driver to allocate message frames by clearing its
"active" flag.  Should mid-layer error recovery be initiated for a
scsi command during this initialization (which can take up to 40 seconds)
error recovery will escalate to the level of host reset.  This host
reset might fail (as the other function is resetting) resulting in
all connected targets being taken offline.

This patch holds off mid-layer error recovery for up to 40 seconds
to permit initialization of the other function to complete.

Signed-off-by: Michael Reed <mdr@sgi.com>
Acked-by: "Desai, Kashyap" <Kashyap.Desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: update driver version to 2.0.1-3
Stephen M. Cameron [Thu, 4 Feb 2010 14:43:57 +0000 (08:43 -0600)]
[SCSI] hpsa: update driver version to 2.0.1-3

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: Reorder compat ioctl functions to eliminate some forward declarations.
Stephen M. Cameron [Thu, 4 Feb 2010 14:43:51 +0000 (08:43 -0600)]
[SCSI] hpsa: Reorder compat ioctl functions to eliminate some forward declarations.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: eliminate lock_kernel in compat_ioctl
Stephen M. Cameron [Thu, 4 Feb 2010 14:43:46 +0000 (08:43 -0600)]
[SCSI] hpsa: eliminate lock_kernel in compat_ioctl

The use of the big kernel lock here  appears
to be ancient cruft that is no longer needed.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: fix bug in adjust_hpsa_scsi_table
Stephen M. Cameron [Thu, 4 Feb 2010 14:43:41 +0000 (08:43 -0600)]
[SCSI] hpsa: fix bug in adjust_hpsa_scsi_table

fix bug in adjust_hpsa_scsi_table which caused devices which have
changed size, etc. to do the wrong thing.

The problem was as follows:

The driver maintains its current idea of what devices are present
in the h->dev[] array.  When it updates this array, it scans the
hardware, and produces a new list of devices, call it sd[], for
scsi devices.

Then, it compares each item in h->dev[] vs. sd[], and any items which
are not present sd it removes from h->dev[], and any items present
in sd[], but different, it modifies in h->dev[].

Then, it looks for items in sd[] which are not present in h->dev[],
and adds those items into h->dev[].  All the while, it keeps track
of what items were added and removed to/from h->dev[].

Finally, it updates the SCSI mid-layer by removing and adding
the same devices it removed and added to/from h->dev[]. (modified
devices count as a remove then add.)

originally, when a "changed" device was discovered, it was
removed then added to h->dev[].  The item was added to the *end*
of h->dev[].  And, the item was removed from sd[] as well
(nulled out).  As it processed h->dev[], these newly added items
at the end of the list were encountered, and sd[] was searched,
but those items were nulled out.  So they ended up getting removed
immediately after they were added.

The solution is to have a way to replace items in the h->dev[]
array instead of doing a remove + add.  Then the "changed" items.
are not encountered a second time, and removed.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: Fix hpsa_find_scsi_entry so that it doesn't try to dereference NULL...
Stephen M. Cameron [Thu, 4 Feb 2010 14:43:36 +0000 (08:43 -0600)]
[SCSI] hpsa: Fix hpsa_find_scsi_entry so that it doesn't try to dereference NULL pointers

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: clarify obscure comment in adjust_hpsa_scsi_table
Stephen M. Cameron [Thu, 4 Feb 2010 14:43:31 +0000 (08:43 -0600)]
[SCSI] hpsa: clarify obscure comment in adjust_hpsa_scsi_table

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: print all the bytes of the CDB, not just the first one.
Mike Miller [Thu, 4 Feb 2010 14:43:26 +0000 (08:43 -0600)]
[SCSI] hpsa: print all the bytes of the CDB, not just the first one.

Signed-off-by: Mike Miller <mikem@beardog.cce.hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: when resetting devices, print out which device
Stephen M. Cameron [Thu, 4 Feb 2010 14:43:21 +0000 (08:43 -0600)]
[SCSI] hpsa: when resetting devices, print out which device

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: use scan_start and scan_finished entry points for scanning
Stephen M. Cameron [Thu, 4 Feb 2010 14:43:16 +0000 (08:43 -0600)]
[SCSI] hpsa: use scan_start and scan_finished entry points for scanning

use scan_start and scan_finished entry points for scanning and route
the CCISS_REGNEWD ioctl and sysfs triggering of same functionality
through hpsa_scan_start.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: Add an shost_to_hba helper function.
Stephen M. Cameron [Thu, 4 Feb 2010 14:43:11 +0000 (08:43 -0600)]
[SCSI] hpsa: Add an shost_to_hba helper function.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: Don't return DID_NO_CONNECT when a device is merely not ready
Matt Gates [Thu, 4 Feb 2010 14:43:05 +0000 (08:43 -0600)]
[SCSI] hpsa: Don't return DID_NO_CONNECT when a device is merely not ready

Signed-off-by: Matt Gates <matthew.gates@hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: Retry commands completing with a sense key of ABORTED_COMMAND
Matt Gates [Thu, 4 Feb 2010 14:43:00 +0000 (08:43 -0600)]
[SCSI] hpsa: Retry commands completing with a sense key of ABORTED_COMMAND

Signed-off-by: Matt Gates <matthew.gates@hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: Return DID_RESET for commands which complete with status of UNSOLICITED...
Matt Gates [Thu, 4 Feb 2010 14:42:55 +0000 (08:42 -0600)]
[SCSI] hpsa: Return DID_RESET for commands which complete with status of UNSOLICITED ABORT

The commands should be retried, and this will make that happen,
instead of resulting in an i/o error.

Signed-off-by: Matt Gates <matthew.gates@hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: Fix p1210m LUN assignment.
Stephen M. Cameron [Thu, 4 Feb 2010 14:42:50 +0000 (08:42 -0600)]
[SCSI] hpsa: Fix p1210m LUN assignment.

The p1210m responsds to SCSI report LUNs, unlike traditional Smart
Array controllers.  This means that the bus, target, and lun
assignments done by the driver cannot be arbitrary, but must match
what SCSI REPORT LUNS returns.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: add pci ids for storageworks 1210m, remove p400, p800, p700m
Mike Miller [Thu, 4 Feb 2010 14:42:45 +0000 (08:42 -0600)]
[SCSI] hpsa: add pci ids for storageworks 1210m, remove p400, p800, p700m

and update pci_ids.h to include new PCI ID for StorageWorks 1210m variant.

Signed-off-by: Mike Miller <mikem@beardog.cce.hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: Allow multiple command completions per interrupt.
Don Brace [Thu, 4 Feb 2010 14:42:40 +0000 (08:42 -0600)]
[SCSI] hpsa: Allow multiple command completions per interrupt.

This is done by adding support for the so-called "performant mode"
(that's really what they called it).  Smart Array controllers
have a mode which enables multiple command completions to be
delivered with a single interrupt, "performant" mode.  We want to use
that mode, as some newer controllers will be requiring this mode.

Signed-off-by: Don Brace <brace@beardog.cce.hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: Mike Miller <mikem@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: interrupt pending function should return bool not unsigned long
Stephen M. Cameron [Thu, 4 Feb 2010 14:42:35 +0000 (08:42 -0600)]
[SCSI] hpsa: interrupt pending function should return bool not unsigned long

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: fix some debug printks to use dev_dbg instead
Stephen M. Cameron [Thu, 4 Feb 2010 14:42:30 +0000 (08:42 -0600)]
[SCSI] hpsa: fix some debug printks to use dev_dbg instead

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: make tag macros into functions
Stephen M. Cameron [Thu, 4 Feb 2010 14:42:24 +0000 (08:42 -0600)]
[SCSI] hpsa: make tag macros into functions

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: eliminate unnecessary memcpys
Stephen M. Cameron [Thu, 4 Feb 2010 14:42:19 +0000 (08:42 -0600)]
[SCSI] hpsa: eliminate unnecessary memcpys

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: remove unwanted debug code
Stephen M. Cameron [Thu, 4 Feb 2010 14:42:14 +0000 (08:42 -0600)]
[SCSI] hpsa: remove unwanted debug code

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: use kzalloc not kmalloc plus memset
Stephen M. Cameron [Thu, 4 Feb 2010 14:42:09 +0000 (08:42 -0600)]
[SCSI] hpsa: use kzalloc not kmalloc plus memset

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: use sizeof() not an inline constant in memset.
Stephen M. Cameron [Thu, 4 Feb 2010 14:42:04 +0000 (08:42 -0600)]
[SCSI] hpsa: use sizeof() not an inline constant in memset.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: return proper error codes not minus one.
Stephen M. Cameron [Thu, 4 Feb 2010 14:41:59 +0000 (08:41 -0600)]
[SCSI] hpsa: return proper error codes not minus one.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: remove superfluous returns from void functions.
Stephen M. Cameron [Thu, 4 Feb 2010 14:41:54 +0000 (08:41 -0600)]
[SCSI] hpsa: remove superfluous returns from void functions.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: make adjust_hpsa_scsi_table return void.
Stephen M. Cameron [Thu, 4 Feb 2010 14:41:49 +0000 (08:41 -0600)]
[SCSI] hpsa: make adjust_hpsa_scsi_table return void.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: Use BUG_ON instead of an if statement.
Stephen M. Cameron [Thu, 4 Feb 2010 14:41:44 +0000 (08:41 -0600)]
[SCSI] hpsa: Use BUG_ON instead of an if statement.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: avoid unwanted promotion from unsigned to signed for raid level index
Stephen M. Cameron [Thu, 4 Feb 2010 14:41:38 +0000 (08:41 -0600)]
[SCSI] hpsa: avoid unwanted promotion from unsigned to signed for raid level index

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: Use kernel integer types, not userland ones
Stephen M. Cameron [Thu, 4 Feb 2010 14:41:33 +0000 (08:41 -0600)]
[SCSI] hpsa: Use kernel integer types, not userland ones

That is, use u64, u32, u16 and u8 rather than __u64, __u32, __u16 and __u8.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] hpsa: fix typo in comments
Stephen M. Cameron [Thu, 4 Feb 2010 14:41:28 +0000 (08:41 -0600)]
[SCSI] hpsa: fix typo in comments

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] qla2xxx: negative error return in qla2x00_change_queue_depth()
Roel Kluin [Fri, 29 Jan 2010 10:25:19 +0000 (11:25 +0100)]
[SCSI] qla2xxx: negative error return in qla2x00_change_queue_depth()

The *change_queue_depth functions usually return a negative error return.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] megaraid_sas: version and documentation update
Yang, Bo [Sun, 6 Dec 2009 15:42:28 +0000 (08:42 -0700)]
[SCSI] megaraid_sas: version and documentation update

Signed-off-by Bo Yang<bo.yang@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] megaraid_sas: driver fixed the device update issue
Yang, Bo [Sun, 6 Dec 2009 15:39:25 +0000 (08:39 -0700)]
[SCSI] megaraid_sas: driver fixed the device update issue

driver fixed the device update issue after get the AEN PD delete/ADD
and LD add/delete from FW.

Signed-off-by Bo Yang<bo.yang@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] megaraid_sas: add the logical drive list to driver
Yang, Bo [Sun, 6 Dec 2009 15:30:19 +0000 (08:30 -0700)]
[SCSI] megaraid_sas: add the logical drive list to driver

Driver issue the get ld list to fw to get the logic drive list.
Driver will keep the logic drive list for the internal use after
driver load.

Signed-off-by Bo Yang<bo.yang@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] megaraid_sas: Zero pad_0 in mfi structure
Yang, Bo [Sun, 6 Dec 2009 15:24:21 +0000 (08:24 -0700)]
[SCSI] megaraid_sas: Zero pad_0 in mfi structure

Add the pad_0 in mfi frame structure to 0 to fix the context value
larger than 32bit value issue.

Signed-off-by Bo Yang<bo.yang@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] lpfc 8.3.8: Update Driver version to 8.3.8
James Smart [Wed, 27 Jan 2010 04:10:40 +0000 (23:10 -0500)]
[SCSI] lpfc 8.3.8: Update Driver version to 8.3.8

Update Driver version to 8.3.8

Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] lpfc 8.3.8: (BSG4) Add new vendor specific BSG Commands
James Smart [Wed, 27 Jan 2010 04:10:15 +0000 (23:10 -0500)]
[SCSI] lpfc 8.3.8: (BSG4) Add new vendor specific BSG Commands

Add the following new vendor specific BSG commands.
- Add LPFC_BSG_VENDOR_GET_MGMT_REV command
- Add LPFC_BSG_VENDOR_MBOX command
- Add LPFC_BSG_VENDOR_DIAG_MODE command
- Add LPFC_BSG_VENDOR_DIAG_TEST command

Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] lpfc 8.3.8: (BSG3) Modify BSG commands to operate asynchronously
James Smart [Wed, 27 Jan 2010 04:09:48 +0000 (23:09 -0500)]
[SCSI] lpfc 8.3.8: (BSG3) Modify BSG commands to operate asynchronously

Modify the following BSG commands to operate asynchronously.
- FC_BSG_RPT_ELS
- FC_BSG_RPT_CT
- LPFC_BSG_VENDOR_GET_CT_EVENT
- LPFC_BSG_VENDOR_SET_CT_EVENT

Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] lpfc 8.3.8: (BSG2) Create lpfc_bsg.h
James Smart [Wed, 27 Jan 2010 04:09:22 +0000 (23:09 -0500)]
[SCSI] lpfc 8.3.8: (BSG2) Create lpfc_bsg.h

Create lpfc_bsg.h
  - structures, etc used by bsg-related routines.

Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] lpfc 8.3.8: (BSG1) Update BSG infrastructure
James Smart [Wed, 27 Jan 2010 04:08:55 +0000 (23:08 -0500)]
[SCSI] lpfc 8.3.8: (BSG1) Update BSG infrastructure

Update BSG infrastructure to handle new vendor specific BSG commands.

Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] lpfc 8.3.8: Add code to display logical link speed
James Smart [Wed, 27 Jan 2010 04:08:29 +0000 (23:08 -0500)]
[SCSI] lpfc 8.3.8: Add code to display logical link speed

Display Logical Link Speed when supported and is non-zero.

Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] lpfc 8.3.8: BugFixes: Discovery relates changes
James Smart [Wed, 27 Jan 2010 04:08:03 +0000 (23:08 -0500)]
[SCSI] lpfc 8.3.8: BugFixes: Discovery relates changes

Discovery relates changes:
- Separated VPI_REGISTERED state of physical port into VFI_REGISTERED and
  VPI_REGISTERED state so that driver can unregister physical port VPI
  independent of VFI.
- Add code to unregister, re-init and re-register physical port VPI
  when physical port NportID change.
- Add code to unregister and re-register VPI of a vport when its Nport
  ID change.
- Add code in FDISC completion path to re-start FLOGI discovery when
  a FDISC complete with LOGIN_REQUIRED reason code.
- Fix a memory leak in lpfc_init_vpi_cmpl
- Add code to start a timer for vport to retry FDISC when CVL is received
  by a vport or physical port. If all Nports receive CVLs, then all timers
  are cancelled and a logical link level discovery will be started after
  one second.
- Flush ELS commands after killing all delayed ELS commands.

Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] lpfc 8.3.8: BugFixes: SLI relates changes
James Smart [Wed, 27 Jan 2010 04:07:37 +0000 (23:07 -0500)]
[SCSI] lpfc 8.3.8: BugFixes: SLI relates changes

Fix hardware/SLI relates issues:
- Handle XB bit so that ELS XRIs are not prematurely released.
- Handle XB bit so that FCP XRIs are not prematurely released.
- Define new security SLI Commands.
- Remove unused security SLI commands
- Skip receive data size parameter check on received FLOGI.
- Added LPFC_USE_FCPWQIDX flag to iocb to force SLI layer
  to submit abort WQE on same WQ as the command WQE.

Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] qla1280: Drop host_lock while requesting firmware
Ben Hutchings [Sat, 23 Jan 2010 18:40:29 +0000 (18:40 +0000)]
[SCSI] qla1280: Drop host_lock while requesting firmware

request_firmware() may sleep and it appears to be safe to release the
spinlock here.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: stable@kernel.org
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: correction in the claculation for num_cxn_wrb
Jayamohan Kallickal [Sat, 23 Jan 2010 00:09:37 +0000 (05:39 +0530)]
[SCSI] be2iscsi: correction in the claculation for num_cxn_wrb

This patch correct the math done for num_cxn_wrb

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: changing the chip opcode for TEXT
Jayamohan Kallickal [Sat, 23 Jan 2010 00:08:56 +0000 (05:38 +0530)]
[SCSI] be2iscsi: changing the chip opcode for TEXT

This patch corrects the chipopcode for text and chooses
correct paramters for that command

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: Ensure clean reuse of wrb
Jayamohan Kallickal [Sat, 23 Jan 2010 00:08:18 +0000 (05:38 +0530)]
[SCSI] be2iscsi: Ensure clean reuse of wrb

This patch ensures that wrb is cleanly resued for io path
and is memset to zero for non io path

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: correcting the return
Jayamohan Kallickal [Sat, 23 Jan 2010 00:07:40 +0000 (05:37 +0530)]
[SCSI] be2iscsi: correcting the return

This patch fixes an issue where return was not called properly.
Thanks to Mike Christie for spotting this

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: Proper checking of state
Jayamohan Kallickal [Sat, 23 Jan 2010 00:06:52 +0000 (05:36 +0530)]
[SCSI] be2iscsi: Proper checking of state

This patch adds proper checking of value in for hba state.
We would be adding more states later on

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: Fix for first_burst
Jayamohan Kallickal [Sat, 23 Jan 2010 00:06:10 +0000 (05:36 +0530)]
[SCSI] be2iscsi: Fix for first_burst

This patch fixes the first_burst being modified
instead of max_burst

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: changing copyright to 2010
Jayamohan Kallickal [Sat, 23 Jan 2010 00:05:15 +0000 (05:35 +0530)]
[SCSI] be2iscsi: changing copyright to 2010

This patch replaces 2009 with 2010 in copyright statement

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: Remove Ring mode from driver
Jayamohan Kallickal [Sat, 23 Jan 2010 00:04:24 +0000 (05:34 +0530)]
[SCSI] be2iscsi: Remove Ring mode from driver

Ring mode is not used. This patch removes the code.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] vmw_pvscsi: fix signedness warning with newer compilers
Dmitry Torokhov [Tue, 19 Jan 2010 18:24:40 +0000 (10:24 -0800)]
[SCSI] vmw_pvscsi: fix signedness warning with newer compilers

pvscsi_setup_msix() expects 'irq' argument to be an int but is being
passed unsigned int. Unsigned int is more proper type for IRQ number
so let's use it. This shuts off a compile warning with recent
compilers.

Signed-off-by: Dmitry Torokhov <dtor@vmware.com>
Acked-by: Alok Kataria <akataria@vmware.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] sd: Combine DIF/DIX error handling
Martin K. Petersen [Mon, 18 Jan 2010 23:43:18 +0000 (18:43 -0500)]
[SCSI] sd: Combine DIF/DIX error handling

DIF and DIX errors are handled identically at this point.  Collapse the
switch cases into one and let scsi_io_completion print result and sense
data.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] lpfc: unify two if branches with the same code in lpfc_decode_firmware_rev()
Roel Kluin [Sun, 17 Jan 2010 15:15:57 +0000 (16:15 +0100)]
[SCSI] lpfc: unify two if branches with the same code in lpfc_decode_firmware_rev()

Regardless of the flag state, the branches execute the same code

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Acked-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: Fix to allow driver to load when the FW allows more cids
Jayamohan Kallickal [Wed, 6 Jan 2010 20:21:44 +0000 (01:51 +0530)]
[SCSI] be2iscsi: Fix to allow driver to load when the FW allows more cids

This fix allows the driver to load when the FW allows more cids
than than the driver supports. The driver will limit the number of cid
to what it can support. There was no reason to fail the driver load,so,
correcting that

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: Fixing the number of SGE's
Jayamohan Kallickal [Wed, 6 Jan 2010 20:21:04 +0000 (01:51 +0530)]
[SCSI] be2iscsi: Fixing the number of SGE's

The number of SGE's supported is fixed to what the
chip expects. Also, the max sectors set to tested values

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: Fixing Bug for multiple SGEs
Jayamohan Kallickal [Wed, 6 Jan 2010 20:20:19 +0000 (01:50 +0530)]
[SCSI] be2iscsi: Fixing Bug for multiple SGEs

The patch fixes a but where the sg_next is not assigned and hence
the first sge was being resused wrongly

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] mpt2sas: Bump version 04.100.01.00
Kashyap, Desai [Wed, 16 Dec 2009 13:27:02 +0000 (18:57 +0530)]
[SCSI] mpt2sas: Bump version 04.100.01.00

Version upgraded to 04.100.01.00.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Reviewed-by: Eric Moore <eric.moore@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] mpt2sas: Enable TLR for SSP TAPE drives (Added SAS Transport APIs)
Kashyap, Desai [Wed, 16 Dec 2009 13:26:28 +0000 (18:56 +0530)]
[SCSI] mpt2sas: Enable TLR for SSP TAPE drives (Added SAS Transport APIs)

If TLR is supported for end device, MPT2SAS driver will enable the TLR
bit in the SCSI_IO for every request. If there is a response with
MPI2_SCSITASKMGMT_RSP_INVALID_FRAME, the driver will turn off the TLR
logic.

[jejb: updated to new transport class TLR API]
Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Reviewed-by: Eric Moore <Eric.moore@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] mpt2sas: Update driver header to latest MPI Spec.
Kashyap, Desai [Wed, 16 Dec 2009 13:25:54 +0000 (18:55 +0530)]
[SCSI] mpt2sas: Update driver header to latest MPI Spec.

Update header to latest MPI SPEC revision.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Reviewed-by: Eric Moore <eric.moore@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] mpt2sas: Added phy_enable and set_phy_speed sysfs callback support.
Kashyap, Desai [Wed, 16 Dec 2009 13:25:26 +0000 (18:55 +0530)]
[SCSI] mpt2sas: Added phy_enable and set_phy_speed sysfs callback support.

Added new callbacks phy_enable and set_phy_speed in the
mpt2sas_transport_functions template. This will allow end user to
enable/disable phys and change links rates using the SysFS interface.
Current implementation only supports direct attached phys, but we
could in the future add support for expander based phys.
A new subroutine mpt2sas_config_set_sas_iounit_pg1 was added;
this wrapper function used to send request to controller firmware to modify
the phys and link rates. A new subroutine _transport_find_local_phy was added;
a function for easly obtaining the local phy object for direct attached.

Example to disable a phy
echo 0 > /sys/class/phy3:0/enable

Example to enable the same phy
echo 1 > /sys/class/phy3:0/enable

Example to change the link rate to 1.5
#echo "1.5 Gbit" > /sys/class/phy3:0/maximum_linkrate
#cat /sys/class/phy3:0/negotiated_linkrate
1.5 Gbit

Example to change the link rate to 3.0
#echo "3.0 Gbit" > /sys/class/phy3:0/maximum_linkrate
#cat /sys/class/phy3:0/negotiated_linkrate
3.0 Gbit

Example to change the link rate to 6.0
#echo "6.0 Gbit" > /sys/class/phy3:0/maximum_linkrate
#cat /sys/class/phy3:0/negotiated_linkrate
6.0 Gbit

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Reviewed-by: Eric Moore <eric.moore@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] mpt2sas: Added raid transport support
Kashyap, Desai [Wed, 16 Dec 2009 13:24:42 +0000 (18:54 +0530)]
[SCSI] mpt2sas: Added raid transport support

Adding support for raid transport layer.  This will provide sysfs attributes
containing raid level, state, and resync rate.

MPT2SAS module will select RAID_ATTRS.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Reviewed-by: Eric Moore <eric.moore@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] mpt2sas: Use compat_ptr to setup the pointer compatibility.
Kashyap, Desai [Wed, 16 Dec 2009 13:23:04 +0000 (18:53 +0530)]
[SCSI] mpt2sas: Use compat_ptr to setup the pointer compatibility.

On ppc64, an 32bit application was failing due to data buffers not being
copied properly from user to kernel memory.  The problem due to improper
conversion of 32 to 64 bit pointers.  The fix is to use compat_ptr to
setup the pointer compatibility in the routine _ctl_compat_mpt_command.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Reviewed-by: Eric Moore <eric.moore@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] mpt2sas: Set ioc->fwfault_debug to the cmd line option mpt2sas_fwfault_debug.
Kashyap, Desai [Wed, 16 Dec 2009 13:22:39 +0000 (18:52 +0530)]
[SCSI] mpt2sas: Set ioc->fwfault_debug to the cmd line option mpt2sas_fwfault_debug.

(1) change the formentioned string from logging_level to fwfault_debug
(2) set ioc->fwfault_debug to the command line option mpt2sas_fwfault_debug
setting at driver load time.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Reviewed-by: Eric Moore <eric.moore@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] mpt2sas: User resource_size_t instead of unsigned long
Kashyap, Desai [Wed, 16 Dec 2009 13:21:45 +0000 (18:51 +0530)]
[SCSI] mpt2sas: User resource_size_t instead of unsigned long

Use resource_size_t to define the type resource for the system interface
register set.
The existing implementation was using "unsigned long" which would be 32 bit
in 32 bit OS.  If 32 bit OS is using 64 bit physical
address space for the system interface register set, we need to shift to
using resource_size_t which takes care of physical address space.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Reviewed-by: Eric Moore <eric.moore@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] mpt2sas: Return -ENODATA on IOCTL timeout
Kashyap, Desai [Wed, 16 Dec 2009 13:21:05 +0000 (18:51 +0530)]
[SCSI] mpt2sas: Return -ENODATA on IOCTL timeout

The driver was modified to return -ENODATA when there is a timeout
via ioctl path.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Reviewed-by: Eric Moore <eric.moore@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] mpt2sas: Delete volume before HBA detach.
Kashyap, Desai [Wed, 16 Dec 2009 13:20:06 +0000 (18:50 +0530)]
[SCSI] mpt2sas: Delete volume before HBA detach.

The driver hangs when doing `rmmod mpt2sas` if there are any
IR volumes present.The hang is due the scsi midlayer trying to access the
IR volumes after the driver releases controller resources.  Perhaps when
scsi_remove_host is called,the scsi mid layer is sending some request.
This doesn't occur for bare drives becuase the driver is already reporting
those drives deleted prior to calling mpt2sas_base_detach.
To solve this issue, we need to delete the volumes as well.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Reviewed-by: Eric Moore <eric.moore@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] scsi_transport_sas: add support for transport layer retries (TLR)
James Bottomley [Mon, 18 Jan 2010 16:14:51 +0000 (10:14 -0600)]
[SCSI] scsi_transport_sas: add support for transport layer retries (TLR)

The mpt2sas driver wants to use transport layer retries (TLR) so the
simplest thing to do seems to be to add the enabling flags and checks
to the SAS transport class, since they're a SAS specific protocol
feature.

Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] lpfc: restore MSI-X/MSI support
George Kadianakis [Sun, 17 Jan 2010 19:19:31 +0000 (21:19 +0200)]
[SCSI] lpfc: restore MSI-X/MSI support

A Gentoo bug report [1] showed that as of 2.6.31 lpfc only uses INTx interrupts.
This patch restores lpfc's ability to support MSI-X/MSI interrupts that the
"Addition of SLI4 Interface - Base Support" patch [2] broke.
It reestablishes MSI-X as the default interrupt method and in case MSI-X is not
supported lpfc_sli{4,}_enable_intr fallbacks to MSI and then to INTx.

[1]: http://bugs.gentoo.org/show_bug.cgi?id=296319
[2]: commit da0436e915a5c17ee79e72c1bf978a4ebb1cbf4d

[James Smart:
Background:
Nothing Broke. This was intended.

We had originally enabled MSI-X by default, but in qualification within the
last 12 months, we encountered a major catch-22:

There were at least 4 platforms, from 2 major OEMs, that :
- Say they support MSI-X - platform routines work and act as if they do.
- We enable it, generate a test interrupt to check they really do deliver it,
and it works.
- But shortly after attachment, the system hangs or loses interrupts,
resulting in a bad system behavior.

Given the distro's picking up the 2.6.32 kernel, we had to stick with a
default of MSI-X off, with user-enabled MSI-X as these platforms couldn't get
fixed.

However, we're also now encountering platforms that require MSI-X and never
INTx, so we must change. It's desired also for also for performance reasons.

So - now (2.6.33) is the right time to re-enable MSI-X by default.
]
[jejb: fix up comment on default values]

Signed-off-by: George Kadianakis <desnacked@gmail.com>
Acked-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] qla2xxx: Update version number to 8.03.02-k0.
Giridhar Malavali [Tue, 12 Jan 2010 21:02:49 +0000 (13:02 -0800)]
[SCSI] qla2xxx: Update version number to 8.03.02-k0.

Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] qla2xxx: Remove firmware hint for 81xx parts.
Giridhar Malavali [Tue, 12 Jan 2010 21:02:48 +0000 (13:02 -0800)]
[SCSI] qla2xxx: Remove firmware hint for 81xx parts.

Firmware is loaded from flash for these ISP types.

Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] qla2xxx: Add BSG support for FC ELS/CT passthrough and vendor commands.
Giridhar Malavali [Tue, 12 Jan 2010 21:02:47 +0000 (13:02 -0800)]
[SCSI] qla2xxx: Add BSG support for FC ELS/CT passthrough and vendor commands.

[jejb: fixed printk casting issues]
Signed-off-by: Sarang Radke <sarang.radke@qlogic.com>
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] qla2xxx: Enhance EEH support and enable AER support.
Joe Carnuccio [Tue, 12 Jan 2010 21:02:46 +0000 (13:02 -0800)]
[SCSI] qla2xxx: Enhance EEH support and enable AER support.

qla2xxx: EEH added call to pci_restore_state.
qla2xxx: EEH added delay in slot reset routine.
qla2xxx: EEH moved call to pci_save_state(), see (1).
qla2xxx: EEH additional changes for RHEL5.5.
qla2xxx: EEH added function call, removed function call, see (2).

(1) In qla2xxx_probe_one the call to pci_save_state() has been
    moved to after the call to qla2xxx_request_irqs().

(2) Add call to pci_disable_pcie_error_reporting() in remove_one.
    Delete call to pci_cleanup_aer_uncorrect_error_status() in pci_resume.

Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: Enable TEXT req resp
Jayamohan Kallickal [Mon, 4 Jan 2010 23:42:43 +0000 (05:12 +0530)]
[SCSI] be2iscsi: Enable TEXT req resp

This patch enables TEXT Request / Response for the driver

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: Fixing initialization of can_queue
Jayamohan Kallickal [Mon, 4 Jan 2010 23:42:03 +0000 (05:12 +0530)]
[SCSI] be2iscsi: Fixing initialization of can_queue

This patch fixes can_queue being uninitiallized since it
was done before beiscsi_get_params was called.

Thanks to Mike Christie for identifying this

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: The session failure only when Link Goes down
Jayamohan Kallickal [Mon, 4 Jan 2010 23:41:23 +0000 (05:11 +0530)]
[SCSI] be2iscsi: The session failure only when Link Goes down

This fixes a situation where the sessions were being killed whenever
LinkUP is notified rather than LinkDown

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: Enable async mode for mcc rings
Jayamohan Kallickal [Mon, 4 Jan 2010 23:40:46 +0000 (05:10 +0530)]
[SCSI] be2iscsi: Enable async mode for mcc rings

This patches enables async mode for mcc rings so that
multiple requests can be queued.

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: No requirement for endianess change for data_count
Jayamohan Kallickal [Mon, 4 Jan 2010 23:40:01 +0000 (05:10 +0530)]
[SCSI] be2iscsi: No requirement for endianess change for data_count

This patch removes the endianess change that was wrongly
added for data_count

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: decide which requests need completion
Jayamohan Kallickal [Mon, 4 Jan 2010 23:39:19 +0000 (05:09 +0530)]
[SCSI] be2iscsi: decide which requests need completion

This patch decides whether ack based completion is required or not

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: Use of opcode in beiscsi_alloc_pdu
Jayamohan Kallickal [Mon, 4 Jan 2010 23:38:39 +0000 (05:08 +0530)]
[SCSI] be2iscsi: Use of opcode in beiscsi_alloc_pdu

This patch enables use of opcode that is passed in

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi:moved pci_set_drvdata to inside beiscsi_hba_alloc
Jayamohan Kallickal [Mon, 4 Jan 2010 23:37:49 +0000 (05:07 +0530)]
[SCSI] be2iscsi:moved pci_set_drvdata to inside beiscsi_hba_alloc

This patch moves pci_set_drvdata to inside beiscsi_hba_alloc

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: Added opcode for LOGOUT_RSP, TEXT_RESP, TMFUNC_RSP
Jayamohan Kallickal [Mon, 4 Jan 2010 23:37:02 +0000 (05:07 +0530)]
[SCSI] be2iscsi: Added opcode for LOGOUT_RSP, TEXT_RESP, TMFUNC_RSP

This patch adds opcodes in thecompletion path that were
missed out earlier

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: Link Wrb with next Wrb
Jayamohan Kallickal [Mon, 4 Jan 2010 23:36:21 +0000 (05:06 +0530)]
[SCSI] be2iscsi: Link Wrb with next Wrb

This patch will link the current allocated wrb with the next
 wrb that will be allocated. This is a requirement from the chip.

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: Move freeing of resources to stop_conn
Jayamohan Kallickal [Mon, 4 Jan 2010 23:35:34 +0000 (05:05 +0530)]
[SCSI] be2iscsi: Move freeing of resources to stop_conn

We need to hold on to ep resources untill invalidate and
  close connection are completed

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] be2iscsi: Use start cid and number of cid and icd from FW
Jayamohan Kallickal [Mon, 4 Jan 2010 23:34:12 +0000 (05:04 +0530)]
[SCSI] be2iscsi: Use start cid and number of cid and icd from FW

This patch enablesi be2iscsi to use the start number and number
 of cids/icd provided by FW rather than hard coded values.

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] gdth: Convert to use regular kernel types.
Dave Jones [Mon, 4 Jan 2010 15:19:34 +0000 (10:19 -0500)]
[SCSI] gdth: Convert to use regular kernel types.

converted using this script..

 perl -p -i -e 's|ulong32|u32|g' drivers/scsi/gdth*
 perl -p -i -e 's|ulong64|u64|g' drivers/scsi/gdth*
 perl -p -i -e 's|ushort|u16|g' drivers/scsi/gdth*
 perl -p -i -e 's|unchar|u8|g' drivers/scsi/gdth*
 perl -p -i -e 's|ulong|unsigned long|g' drivers/scsi/gdth*
 perl -p -i -e 's|PACKED|__attribute__((packed))|g' drivers/scsi/gdth*

sha1sum of the generated code was identical before and after.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] skip sense logging for some ATA PASS-THROUGH cdbs
Douglas Gilbert [Sun, 3 Jan 2010 18:51:15 +0000 (13:51 -0500)]
[SCSI] skip sense logging for some ATA PASS-THROUGH cdbs

Further to the lsml thread titled:
"does scsi_io_completion need to dump sense data for ata pass through (ck_cond =
1) ?"

This is a patch to skip logging when the sense data is
associated with a SENSE_KEY of "RECOVERED_ERROR" and the
additional sense code is "ATA PASS-THROUGH INFORMATION
AVAILABLE". This only occurs with the SAT ATA PASS-THROUGH
commands when CK_COND=1 (in the cdb). It indicates that
the sense data contains ATA registers.

Smartmontools uses such commands on ATA disks connected via
SAT. Periodic checks such as those done by smartd cause
nuisance entries into logs that are:
    - neither errors nor warnings
    - pointless unless the cdb that caused them are also logged

Signed-off-by: Douglas Gilbert <dgilbert@interlog.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] FlashPoint: fix off by one tests
Dan Carpenter [Mon, 28 Dec 2009 18:08:39 +0000 (20:08 +0200)]
[SCSI] FlashPoint: fix off by one tests

The check on MAX_SCSI_TAR should be >= instead of > or we could go past the
end of the array.

Joe Eykholt aslo correctly points out that the check on MAX_LUN should be
>= as well.  That matches with how it is used in the rest of the file.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] cxgbi3: remove unnecessary NULL test
Jiri Slaby [Tue, 22 Dec 2009 00:27:55 +0000 (16:27 -0800)]
[SCSI] cxgbi3: remove unnecessary NULL test

Stanse found that c3cn is poked many times around in
cxgb3i_conn_pdu_ready, there is no need to check if it is NULL.

Remove the test.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Acked-by: Karen Xie <kxie@chelsio.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] pm8001: Use kzalloc for allocating only one thing
Julia Lawall [Sat, 19 Dec 2009 07:17:27 +0000 (08:17 +0100)]
[SCSI] pm8001: Use kzalloc for allocating only one thing

Use kzalloc rather than kcalloc(1,...)

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
@@

- kcalloc(1,
+ kzalloc(
          ...)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by:Jack Wang <jack_wang@usish.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] mptfusion: Bump version 03.04.14
Kashyap, Desai [Wed, 16 Dec 2009 13:34:49 +0000 (19:04 +0530)]
[SCSI] mptfusion: Bump version 03.04.14

Version upgrade to 3.04.14.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] mptfusion: corrected if condition check for SCSIIO and PASSTHROUGH commands
Kashyap, Desai [Wed, 16 Dec 2009 13:32:59 +0000 (19:02 +0530)]
[SCSI] mptfusion: corrected if condition check for SCSIIO and PASSTHROUGH commands

Modified the function type check to verify it is not
MPI_FUNCTION_RAID_SCSI_IO_PASSTHROUGH or MPI_FUNCTION_SCSI_IO_REQUEST.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] mptfusion: block device when target is being removed by FW
Kashyap, Desai [Wed, 16 Dec 2009 13:32:29 +0000 (19:02 +0530)]
[SCSI] mptfusion: block device when target is being removed by FW

Add support to set the sdev state to SDEV_BLOCK during device removal
to stop IOs comming to the deleting driver immediately.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] mptfusion: Added sysfs expander manufacture information at the time of expande...
Kashyap, Desai [Wed, 16 Dec 2009 13:31:58 +0000 (19:01 +0530)]
[SCSI] mptfusion: Added sysfs expander manufacture information at the time of expander add.

Added new function mptsas_exp_manufacture_info, which will
obtain the REPORT_MANUFACTURING, and fill the details into the
sas_expander_device object when the expander port is created.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] mptfusion: Added MPI_SCSIIO_CONTROL_HEADOFQ priority
Kashyap, Desai [Wed, 16 Dec 2009 13:31:13 +0000 (19:01 +0530)]
[SCSI] mptfusion: Added MPI_SCSIIO_CONTROL_HEADOFQ priority

There is a 'ioprio' field in the BIO and the Request structure.
check this priority field and set MPI_SCSIIO_CONTROL_HEADOFQ
to pass down I/O priority.
An enhancement to the LSI Disk Array Controller firmware is being
developed to look at the Head Of Queue bit to allow I/Os with the HOQ bit
set to be processed before I/Os which do not have the HOQ bit set.
In order to set the HOQ bit, the mpt fusion driver  needs to look at the
'ioprio' field in the request structure associated with the scsi command.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] mac_esp: fix PIO mode, take 2
Finn Thain [Sat, 5 Dec 2009 01:30:42 +0000 (12:30 +1100)]
[SCSI] mac_esp: fix PIO mode, take 2

The mac_esp PIO algorithm no longer works in 2.6.31 and crashes my Centris
660av. So here's a better one.

Also, force async with esp_set_offset() rather than esp_slave_configure().

One of the SCSI drives I tested still doesn't like the PIO mode and fails
with "esp: esp0: Reconnect IRQ2 timeout" (the same drive works fine in
PDMA mode).

This failure happens when esp_reconnect_with_tag() tries to read in two
tag bytes but the chip only provides one (0x20). I don't know what causes
this. I decided not to waste any more time trying to fix it because the
best solution is to rip out the PIO mode altogether and use the DMA
engine.

Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
14 years ago[SCSI] scsi_transport_fc: Remove capping from dev_loss_tmo
Hannes Reinecke [Tue, 15 Dec 2009 08:26:06 +0000 (09:26 +0100)]
[SCSI] scsi_transport_fc: Remove capping from dev_loss_tmo

Currently dev_loss_tmo is capped by SCSI_DEVICE_BLOCK_MAX_TIMEOUT.
This causes problem with multipathing when the 'no_path_retry' setting
exceeds the dev_loss_tmo setting, as then the system might run into
a deadlock when all paths have been removed temporarily for longer
than dev_loss_tmo.
The principal reasons for the capping has been that we should
not allow a remote port to remain in status 'blocked' indefinitely,
so the capping is there to ensure that the port status is being reset
eventually.
However, the fast_io_fail_tmo will also move the remote port out of
the 'blocked' state, so for any HBA driver implementing both the
capping should really be on the fast_io_fail_tmo, and not on the
dev_loss_tmo.
This patch implements just that, ie the fast_io_fail_tmo is capped
to SCSI_DEVICE_BLOCK_TIMEOUT and the capping is removed from
dev_loss_tmo when fast_io_fail_tmo is set.
This allows us to synchronize the dev_loss_tmo setting to the
'no_path_retry' setting from multipathing thus avoiding the deadlock.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Acked-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>