9 years ago[SCSI] zfcp: Fix warnings from smatch
Christof Schmitt [Wed, 17 Feb 2010 10:18:53 +0000]
[SCSI] zfcp: Fix warnings from smatch

The smatch tool from http://repo.or.cz/w/smatch.git warns about this:

drivers/s390/scsi/zfcp_scsi.c +64 zfcp_scsi_command_fail(5) warn: variable dereferenced before check 'scpnt->device'
drivers/s390/scsi/zfcp_scsi.c +64 zfcp_scsi_command_fail(5) warn: variable dereferenced before check 'scpnt->device->host'
drivers/s390/scsi/zfcp_scsi.c +93 zfcp_scsi_queuecommand(23) warn: variable dereferenced before check 'unit'

Fix the first two warnings by removing the checks for scpnt->device
and -> host: As long as the SCSI command exists, there is also a
scsi_device and a Scsi_Host.

Fix the last warning by removing the BUG_ON checks in
zfcp_scsi_queuecommand, they are leftovers from previous paranoia
about wrong pointers between data structures.

Reviewed-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] zfcp: Remove unused payload field from zfcp_dbf_san_record
Christof Schmitt [Wed, 17 Feb 2010 10:18:52 +0000]
[SCSI] zfcp: Remove unused payload field from zfcp_dbf_san_record

Remove the unused payload field from the struct zfcp_dbf_san_record,
saving some space in the SAN trace.

Reviewed-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] zfcp: Remove two FIXME comments
Christof Schmitt [Wed, 17 Feb 2010 10:18:51 +0000]
[SCSI] zfcp: Remove two FIXME comments

On a link down, the adapter reopen is not strictly necessary, but it
helps flushing pending requests as quickly as possible. Add a comment
mentioning this.

qdio returning a problem on the response queue is an unlikely event.
The recovery mentioned in the comment might resolve it, so implement
it. This also has the advantage that it creates an entry in the
recovery trace to see if and when this is occurring.

Reviewed-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] zfcp: Move FSF request tracking code to new file
Christof Schmitt [Wed, 17 Feb 2010 10:18:50 +0000]
[SCSI] zfcp: Move FSF request tracking code to new file

Move the code for tracking FSF requests to new file to have this code
in one place. The functions for adding and removing requests on the
I/O path are already inline. The alloc and free functions are only
called once, so it does not hurt to inline them and add them to the
same file.

Reviewed-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] zfcp: Remove function zfcp_reqlist_find_safe
Christof Schmitt [Wed, 17 Feb 2010 10:18:49 +0000]
[SCSI] zfcp: Remove function zfcp_reqlist_find_safe

Always use the FSF request id as a reference to the FSF request. With
this change the function zfcp_reqlist_find_safe is no longer needed
and can be removed.

Reviewed-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] MAINTAINERS: Adding FCoE information to the MAINTAINERS file.
Robert Love [Tue, 16 Feb 2010 20:16:00 +0000]
[SCSI] MAINTAINERS: Adding FCoE information to the MAINTAINERS file.

Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] fnic: Set fnic driver version
Venkata Siva Vijayendra Bhamidipati [Tue, 16 Feb 2010 20:15:55 +0000]
[SCSI] fnic: Set fnic driver version

Update fnic driver version.

Signed-off-by: Venkata Siva Vijayendra Bhamidipati <vbhamidi@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] fnic: lport stats need to be initialized in fnic_probe()
Venkata Siva Vijayendra Bhamidipati [Tue, 16 Feb 2010 20:15:50 +0000]
[SCSI] fnic: lport stats need to be initialized in fnic_probe()

Incorrect initialization of lport stats in fnic_probe() causes fnic to
crash at bootup and a node hang if fip is enabled and all links are brought
up after fnic is loaded.

Signed-off-by: Joe Eykholt <jeykholt@cisco.com>
Signed-off-by: Venkata Siva Vijayendra Bhamidipati <vbhamidi@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] fnic: Allow multicast and unicast address registrations for fnic
Venkata Siva Vijayendra Bhamidipati [Tue, 16 Feb 2010 20:15:44 +0000]
[SCSI] fnic: Allow multicast and unicast address registrations for fnic

To enable FIP support in fnic, we have to register with hardware to receive
FIP solication frames on a well-known multicast address.
Before FIP support, the firmware interface allowed multicast address
registrations only for enic devices. This is a minor change in fnic to
allow the firmware interface to now register mcast addresses for fnic too.

Signed-off-by: Brian Uchino <buchino@cisco.com>
Signed-off-by: Herman Lee <hermlee@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] fcoe: Only rmmod fcoe.ko if there are no active connections
Robert Love [Tue, 16 Feb 2010 20:15:39 +0000]
[SCSI] fcoe: Only rmmod fcoe.ko if there are no active connections

Currently we're gracefully tearing down each active connection
when fcoe.ko is removed. We shouldn't allow the user to destroy
connections by removing the module. We should force the user to
destroy each connection and then the module can be removed.

This patch makes it so a refrerence count on the module is taken
each time a fcoe_interface is created. The reference count
is dropped when the fcoe_interface is destroyed. This makes it
so that module_exit() doesn't get called unless all fcoe_interfaces
have been destroyed.

This patch leaves the removal of interfaces in the module_exit
routine so that if the user does a 'rmmod -f' we'll clean everything
up before removing the module.

The module_put line was put before the out_putdev goto line because
we should only be decrementing the reference count if a
fcoe_interface is actually destroyed. If we can't find the netdev
or the fcoe_interface then it's assumed that something else has
destroyed the fcoe_interface and it would have decremented the
reference count at that time.

Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] libfcoe: Send port LKA every FIP_VN_KA_PERIOD secs.
Bhanu Prakash Gollapudi [Tue, 16 Feb 2010 20:15:34 +0000]
[SCSI] libfcoe: Send port LKA every FIP_VN_KA_PERIOD secs.

libfcoe module doesnt send port keep alive every
FIP_VN_KA_PERIOD due to improper assignment of timeout value.
Update the port_ka_time appropriately by incrementing it by
FIP_VN_KA_PERIOD in fcoe_ctlr_timeout(), so that the link_work
is scheduled to send the port LKA.

Signed-off-by: Bhanu Gollapudi <bprakash@broadcom.com>
Acked-by: Joe Eykholt <jeykholt@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] libfc: Don't assume response request present.
Hugh Daschbach [Tue, 16 Feb 2010 20:15:28 +0000]
[SCSI] libfc: Don't assume response request present.

Fix NULL pointer dereference crash occurs in fc_lport_bsg_request()
for bsg requests that do not contain a response request.
Specifically, FC_BSG_HST_ADD_RPORT and FC_BSG_HST_DEL_RPORT bsg
requests are not guaranteed to include a response request.

Signed-off-by: Hugh Daschbach <hdasch@broadcom.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] libfc: Fix e_d_tov ns -> ms scaling factor in PLOGI response.
Hugh Daschbach [Tue, 16 Feb 2010 20:15:23 +0000]
[SCSI] libfc: Fix e_d_tov ns -> ms scaling factor in PLOGI response.

Both PLOGI and RTV response processing conditionally scale e_d_tov,
but use different scaling factors.  The scaling factor is correct in
RTV response processing.  Bring PLOGI e_d_tov scaling in line with RTV
common service parameter inspection.

Signed-off-by: Hugh Daschbach <hdasch@broadcom.com>
Acked-by: Joe Eykholt <jeykholt@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] libfc: call ddp setup for only FCP reads to avoid accessing junk fsp pointer
Vasu Dev [Tue, 16 Feb 2010 20:15:18 +0000]
[SCSI] libfc: call ddp setup for only FCP reads to avoid accessing junk fsp pointer

Adds check to call fc_fcp_ddp_setup for only FCP read cmds to avoid
accessing junk fsp pointer at least in ESX since non FCP frame had
junk fsp value, though fsp is implicitly initialized to null
by __alloc_skb but with this patch no more relying on fsp
initialized to null value and hitting junk fsp ptr access.

Removes fsp pointer checking in fc_fcp_ddp_setup as this is not
needed any more since its only caller for FCP read will always
have a valid fsp.

Reported by: Frank Zhang <frank_1.zhang@intel.com>
Reported by: Rob Love <robert.w.love@intel.com>
Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] lpfc 8.3.9: Update Driver version to 8.3.9
James Smart [Fri, 12 Feb 2010 19:43:34 +0000]
[SCSI] lpfc 8.3.9: Update Driver version to 8.3.9

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

9 years ago[SCSI] lpfc 8.3.9: Fix locking and memory issues
James Smart [Fri, 12 Feb 2010 19:43:01 +0000]
[SCSI] lpfc 8.3.9: Fix locking and memory issues

- Use the hbalock when changing the fc_flag.
- Use the host_lock when changeing the sli_flag.
- Prevent NULL pointer dereference after dma_alloc_coherent failure.

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

9 years ago[SCSI] lpfc 8.3.9: Changes to sysfs interface for the lpfc driver.
James Smart [Fri, 12 Feb 2010 19:42:33 +0000]
[SCSI] lpfc 8.3.9: Changes to sysfs interface for the lpfc driver.

- Convert all sysfs parameters to uint instead of int.
- Add lpfc_supress_link_up parameter.
- Change link_state to writable sysfs parameter.
- Add support to be able to "up" or "down" link from link_state parameter.

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

9 years ago[SCSI] lpfc 8.3.9: SLI enhancments to support new hardware.
James Smart [Fri, 12 Feb 2010 19:42:03 +0000]
[SCSI] lpfc 8.3.9: SLI enhancments to support new hardware.

- Add support for the INTF (Interface) PCI register.
- Add support for greater than 2 page SGLs.
- Add support for up to 32 bit BDE lengths.
- Implement the Port Capabilities Mailbox command.
- Stop checking the Minor Code in the EQE structure.

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

9 years ago[SCSI] lpfc 8.3.9: Discovery changes to the lpfc driver.
James Smart [Fri, 12 Feb 2010 19:41:27 +0000]
[SCSI] lpfc 8.3.9: Discovery changes to the lpfc driver.

- Add init_vpi mailbox command before re-registering VPI.
- Add Fast FCF failover support.

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

9 years ago[SCSI] lpfc 8.3.9: PCI Changes to lpfc driver
James Smart [Fri, 12 Feb 2010 19:40:50 +0000]
[SCSI] lpfc 8.3.9: PCI Changes to lpfc driver

- Call pci_save_state() after pci_restore_state() call to cope
  with kernel change.
- Add support for PCI BAR region 0 if BAR0 is a 64 bit register.

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

9 years ago[SCSI] be2iscsi: Adding support for BE3
Jayamohan Kallickal [Wed, 10 Feb 2010 23:41:15 +0000]
[SCSI] be2iscsi: Adding support for BE3

This patch contains changes to support the BE3 chip

Signed-off-by: Jayamohan Kallickal <jayamohank@serverengines.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] qla4xxx: fix compile warning due to invalid extHwConfig
Mike Christie [Wed, 10 Feb 2010 22:51:48 +0000]
[SCSI] qla4xxx: fix compile warning due to invalid extHwConfig

If the nvram is invalid qla4xxx tries to set Asuint32_t
based on the card type. If the card type is not listed
then Asuint32_t is going to be gargabe. This just fixes
that if/elseif by adding a else to catch the case for
new hardware that might not be listed yet.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] iscsi_tcp: wake xmit thread when killing session
Mike Christie [Wed, 10 Feb 2010 22:51:47 +0000]
[SCSI] iscsi_tcp: wake xmit thread when killing session

If the connection is bad, then the xmit thread could
end up waiting a long time (up to sendtmeo seconds) in
tcp_sendpage. This patch has us set the sk_error and
wake up the xmit thread so we can quickly fail.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] bnx2i: set change_queue_depth function
Mike Christie [Wed, 10 Feb 2010 22:51:46 +0000]
[SCSI] bnx2i: set change_queue_depth function

No reason that we cannot set the change_queue_depth
function for bnx2i. We just forgot to when the
driver was created.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] libiscsi: reset cmd timer if cmds are making progress
Mike Christie [Wed, 10 Feb 2010 22:51:45 +0000]
[SCSI] libiscsi: reset cmd timer if cmds are making progress

This patch resets the cmd timer if cmds started before
the timedout command are making progress. The idea is
that the cmd probably timed out because we are trying
to exeucte too many commands. If it turns out that the
device the IO timedout on was bad or the cmd just got
screwed up but other IO/devs were ok then we will
will figure this out when the cmds ahead of the timed
out one complete ok.

This also fixes a bug where we were sort of detecting
this by setting the last_timeout and last_xfer to the
same value when the task was allocated. That caught
the case where we never got to send any IO for it. However,
if the problem had started right before we started the
new task, then we were forced to wait an extra cmd
timeout seconds to start the scsi eh.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] cxgb3i: check for setup netdev
Mike Christie [Wed, 10 Feb 2010 22:51:44 +0000]
[SCSI] cxgb3i: check for setup netdev

If the netdev has not been setup when the host is, we will oops when
the iscsi layer calls into the driver and a it tries to reference the
netdev in hba->ndev.

This can happen if the iscsi driver is loaded before ifup is
done. This patch just adds a check, so we can gracefully fail the
operation.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

9 years ago[SCSI] cxgb3i, bnx2i: remove uses of nipquad use %pi4
Joe Perches [Wed, 10 Feb 2010 22:51:43 +0000]
[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>

9 years ago[SCSI] fusion: hold off error recovery while alternate ioc is initializing
Michael Reed [Wed, 10 Feb 2010 20:32:00 +0000]
[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>

9 years ago[SCSI] hpsa: update driver version to 2.0.1-3
Stephen M. Cameron [Thu, 4 Feb 2010 14:43:57 +0000]
[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>

9 years ago[SCSI] hpsa: Reorder compat ioctl functions to eliminate some forward declarations.
Stephen M. Cameron [Thu, 4 Feb 2010 14:43:51 +0000]
[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>

9 years ago[SCSI] hpsa: eliminate lock_kernel in compat_ioctl
Stephen M. Cameron [Thu, 4 Feb 2010 14:43:46 +0000]
[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>

9 years ago[SCSI] hpsa: fix bug in adjust_hpsa_scsi_table
Stephen M. Cameron [Thu, 4 Feb 2010 14:43:41 +0000]
[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>

9 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]
[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>

9 years ago[SCSI] hpsa: clarify obscure comment in adjust_hpsa_scsi_table
Stephen M. Cameron [Thu, 4 Feb 2010 14:43:31 +0000]
[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>

9 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]
[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>

9 years ago[SCSI] hpsa: when resetting devices, print out which device
Stephen M. Cameron [Thu, 4 Feb 2010 14:43:21 +0000]
[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>

9 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]
[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>

9 years ago[SCSI] hpsa: Add an shost_to_hba helper function.
Stephen M. Cameron [Thu, 4 Feb 2010 14:43:11 +0000]
[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>

9 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]
[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>

9 years ago[SCSI] hpsa: Retry commands completing with a sense key of ABORTED_COMMAND
Matt Gates [Thu, 4 Feb 2010 14:43:00 +0000]
[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>

9 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]
[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>

9 years ago[SCSI] hpsa: Fix p1210m LUN assignment.
Stephen M. Cameron [Thu, 4 Feb 2010 14:42:50 +0000]
[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>

9 years ago[SCSI] hpsa: add pci ids for storageworks 1210m, remove p400, p800, p700m
Mike Miller [Thu, 4 Feb 2010 14:42:45 +0000]
[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>

9 years ago[SCSI] hpsa: Allow multiple command completions per interrupt.
Don Brace [Thu, 4 Feb 2010 14:42:40 +0000]
[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>

9 years ago[SCSI] hpsa: interrupt pending function should return bool not unsigned long
Stephen M. Cameron [Thu, 4 Feb 2010 14:42:35 +0000]
[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>

9 years ago[SCSI] hpsa: fix some debug printks to use dev_dbg instead
Stephen M. Cameron [Thu, 4 Feb 2010 14:42:30 +0000]
[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>

9 years ago[SCSI] hpsa: make tag macros into functions
Stephen M. Cameron [Thu, 4 Feb 2010 14:42:24 +0000]
[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>

9 years ago[SCSI] hpsa: eliminate unnecessary memcpys
Stephen M. Cameron [Thu, 4 Feb 2010 14:42:19 +0000]
[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>

9 years ago[SCSI] hpsa: remove unwanted debug code
Stephen M. Cameron [Thu, 4 Feb 2010 14:42:14 +0000]
[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>

9 years ago[SCSI] hpsa: use kzalloc not kmalloc plus memset
Stephen M. Cameron [Thu, 4 Feb 2010 14:42:09 +0000]
[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>

9 years ago[SCSI] hpsa: use sizeof() not an inline constant in memset.
Stephen M. Cameron [Thu, 4 Feb 2010 14:42:04 +0000]
[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>

9 years ago[SCSI] hpsa: return proper error codes not minus one.
Stephen M. Cameron [Thu, 4 Feb 2010 14:41:59 +0000]
[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>

9 years ago[SCSI] hpsa: remove superfluous returns from void functions.
Stephen M. Cameron [Thu, 4 Feb 2010 14:41:54 +0000]
[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>

9 years ago[SCSI] hpsa: make adjust_hpsa_scsi_table return void.
Stephen M. Cameron [Thu, 4 Feb 2010 14:41:49 +0000]
[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>

9 years ago[SCSI] hpsa: Use BUG_ON instead of an if statement.
Stephen M. Cameron [Thu, 4 Feb 2010 14:41:44 +0000]
[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>

9 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]
[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>

9 years ago[SCSI] hpsa: Use kernel integer types, not userland ones
Stephen M. Cameron [Thu, 4 Feb 2010 14:41:33 +0000]
[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>

9 years ago[SCSI] hpsa: fix typo in comments
Stephen M. Cameron [Thu, 4 Feb 2010 14:41:28 +0000]
[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>

9 years ago[SCSI] qla2xxx: negative error return in qla2x00_change_queue_depth()
Roel Kluin [Fri, 29 Jan 2010 10:25:19 +0000]
[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>

9 years ago[SCSI] megaraid_sas: version and documentation update
Yang, Bo [Sun, 6 Dec 2009 15:42:28 +0000]
[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>

9 years ago[SCSI] megaraid_sas: driver fixed the device update issue
Yang, Bo [Sun, 6 Dec 2009 15:39:25 +0000]
[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>

9 years ago[SCSI] megaraid_sas: add the logical drive list to driver
Yang, Bo [Sun, 6 Dec 2009 15:30:19 +0000]
[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>

9 years ago[SCSI] megaraid_sas: Zero pad_0 in mfi structure
Yang, Bo [Sun, 6 Dec 2009 15:24:21 +0000]
[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>

9 years ago[SCSI] lpfc 8.3.8: Update Driver version to 8.3.8
James Smart [Wed, 27 Jan 2010 04:10:40 +0000]
[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>

9 years ago[SCSI] lpfc 8.3.8: (BSG4) Add new vendor specific BSG Commands
James Smart [Wed, 27 Jan 2010 04:10:15 +0000]
[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>

9 years ago[SCSI] lpfc 8.3.8: (BSG3) Modify BSG commands to operate asynchronously
James Smart [Wed, 27 Jan 2010 04:09:48 +0000]
[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>

9 years ago[SCSI] lpfc 8.3.8: (BSG2) Create lpfc_bsg.h
James Smart [Wed, 27 Jan 2010 04:09:22 +0000]
[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>

9 years ago[SCSI] lpfc 8.3.8: (BSG1) Update BSG infrastructure
James Smart [Wed, 27 Jan 2010 04:08:55 +0000]
[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>

9 years ago[SCSI] lpfc 8.3.8: Add code to display logical link speed
James Smart [Wed, 27 Jan 2010 04:08:29 +0000]
[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>

9 years ago[SCSI] lpfc 8.3.8: BugFixes: Discovery relates changes
James Smart [Wed, 27 Jan 2010 04:08:03 +0000]
[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>

9 years ago[SCSI] lpfc 8.3.8: BugFixes: SLI relates changes
James Smart [Wed, 27 Jan 2010 04:07:37 +0000]
[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>

9 years ago[SCSI] qla1280: Drop host_lock while requesting firmware
Ben Hutchings [Sat, 23 Jan 2010 18:40:29 +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>

9 years ago[SCSI] be2iscsi: correction in the claculation for num_cxn_wrb
Jayamohan Kallickal [Sat, 23 Jan 2010 00:09:37 +0000]
[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>

9 years ago[SCSI] be2iscsi: changing the chip opcode for TEXT
Jayamohan Kallickal [Sat, 23 Jan 2010 00:08:56 +0000]
[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>

9 years ago[SCSI] be2iscsi: Ensure clean reuse of wrb
Jayamohan Kallickal [Sat, 23 Jan 2010 00:08:18 +0000]
[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>

9 years ago[SCSI] be2iscsi: correcting the return
Jayamohan Kallickal [Sat, 23 Jan 2010 00:07:40 +0000]
[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>

9 years ago[SCSI] be2iscsi: Proper checking of state
Jayamohan Kallickal [Sat, 23 Jan 2010 00:06:52 +0000]
[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>

9 years ago[SCSI] be2iscsi: Fix for first_burst
Jayamohan Kallickal [Sat, 23 Jan 2010 00:06:10 +0000]
[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>

9 years ago[SCSI] be2iscsi: changing copyright to 2010
Jayamohan Kallickal [Sat, 23 Jan 2010 00:05:15 +0000]
[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>

9 years ago[SCSI] be2iscsi: Remove Ring mode from driver
Jayamohan Kallickal [Sat, 23 Jan 2010 00:04:24 +0000]
[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>

9 years ago[SCSI] vmw_pvscsi: fix signedness warning with newer compilers
Dmitry Torokhov [Tue, 19 Jan 2010 18:24:40 +0000]
[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>

9 years ago[SCSI] sd: Combine DIF/DIX error handling
Martin K. Petersen [Mon, 18 Jan 2010 23:43:18 +0000]
[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>

9 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]
[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>

9 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]
[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>

9 years ago[SCSI] be2iscsi: Fixing the number of SGE's
Jayamohan Kallickal [Wed, 6 Jan 2010 20:21:04 +0000]
[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>

9 years ago[SCSI] be2iscsi: Fixing Bug for multiple SGEs
Jayamohan Kallickal [Wed, 6 Jan 2010 20:20:19 +0000]
[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>

9 years ago[SCSI] mpt2sas: Bump version 04.100.01.00
Kashyap, Desai [Wed, 16 Dec 2009 13:27:02 +0000]
[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>

9 years ago[SCSI] mpt2sas: Enable TLR for SSP TAPE drives (Added SAS Transport APIs)
Kashyap, Desai [Wed, 16 Dec 2009 13:26:28 +0000]
[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>

9 years ago[SCSI] mpt2sas: Update driver header to latest MPI Spec.
Kashyap, Desai [Wed, 16 Dec 2009 13:25:54 +0000]
[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>

9 years ago[SCSI] mpt2sas: Added phy_enable and set_phy_speed sysfs callback support.
Kashyap, Desai [Wed, 16 Dec 2009 13:25:26 +0000]
[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>

9 years ago[SCSI] mpt2sas: Added raid transport support
Kashyap, Desai [Wed, 16 Dec 2009 13:24:42 +0000]
[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>

9 years ago[SCSI] mpt2sas: Use compat_ptr to setup the pointer compatibility.
Kashyap, Desai [Wed, 16 Dec 2009 13:23:04 +0000]
[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>

9 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]
[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>

9 years ago[SCSI] mpt2sas: User resource_size_t instead of unsigned long
Kashyap, Desai [Wed, 16 Dec 2009 13:21:45 +0000]
[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>

9 years ago[SCSI] mpt2sas: Return -ENODATA on IOCTL timeout
Kashyap, Desai [Wed, 16 Dec 2009 13:21:05 +0000]
[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>

9 years ago[SCSI] mpt2sas: Delete volume before HBA detach.
Kashyap, Desai [Wed, 16 Dec 2009 13:20:06 +0000]
[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>

9 years ago[SCSI] scsi_transport_sas: add support for transport layer retries (TLR)
James Bottomley [Mon, 18 Jan 2010 16:14:51 +0000]
[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>

10 years ago[SCSI] lpfc: restore MSI-X/MSI support
George Kadianakis [Sun, 17 Jan 2010 19:19:31 +0000]
[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>

10 years ago[SCSI] qla2xxx: Update version number to 8.03.02-k0.
Giridhar Malavali [Tue, 12 Jan 2010 21:02:49 +0000]
[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>

10 years ago[SCSI] qla2xxx: Remove firmware hint for 81xx parts.
Giridhar Malavali [Tue, 12 Jan 2010 21:02:48 +0000]
[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>