aboutsummaryrefslogtreecommitdiff
path: root/drivers/scsi
AgeCommit message (Collapse)AuthorFilesLines
2010-12-21[SCSI] megaraid_sas: Update GPL headers.adam radford2-23/+45
This patch updates the GPL headers in megaraid_sas_base.c and megaraid_sas.h. Signed-off-by: Adam Radford <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] megaraid_sas: Rename megaraid_sas.c to megaraid_sas_base.cadam radford2-23/+24
This patch renames megaraid_sas.c to megaraid_sas_base.c to facilitate other files in the compile. Signed-off-by: Adam Radford <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] fix the return value of scsi_target_queue_read()Hillf Danton1-3/+2
It seems that zero should be returned if scsi_target_is_busy(starget) is true, no matter if sdev is on the starved list. Signed-off-by: Hillf Danton <[email protected]> Reviewed-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] scsi_dh: propagate SCSI device deletionMenny Hamburger1-2/+9
Currently, when scsi_dh_activate() returns with an error (e.g. SCSI_DH_NOSYS) the activate_complete callback is not called and the error is not propagated to DM mpath. When a SCSI device attached to a device handler is deleted, userland processes currently performing I/O on the device will have their I/O hang forever. - Set SCSI_DH_NOSYS error when the handler is in the process of being deleted (e.g. the SCSI device is in a SDEV_CANCEL or SDEV_DEL state). - Set SCSI_DH_DEV_OFFLINED error when device is in SDEV_OFFLINE state. - Call the activate_complete callback function directly from scsi_dh_activate if an error has been set (when either the scsi_dh internal data has already been deleted or is in the process of being deleted). The patch was tested in an iSCSI environment, RDAC H/W handler and multipath. In the following reproduction process, dd will I/O hang forever and the only way to release it will be to reboot the machine: 1) Perform I/O on a multipath device: dd if=/dev/dm-0 of=/dev/zero bs=8k count=1000000 & 2) Delete all slave SCSI devices contained in the mpath device: I) In an iSCSI environment, the easiest way to do this is by stopping iSCSI: /etc/init.d/iscsi stop II) Another way to delete the devices is by applying the following bash scriptlet: dm_devs=$(ls /sys/block/ | grep dm- | xargs) for dm_dev in $dm_devs; do devices=$(ls /sys/block/$dm_dev/slaves) for device in $devices; do echo 1 > /sys/block/$device/device/delete done done NOTE: when DM mpath's fail_path uses blk_abort_queue this scsi_dh change isn't strictly required. However, DM mpath's call to blk_abort_queue will soon be reverted because it has proven to be unsafe due to a race (between blk_abort_queue and scsi_request_fn) that can lead to list corruption. Therefore we cannot rely on blk_abort_queue via fail_path, but even if we could this scsi_dh change is still preferrable. Signed-off-by: Menny Hamburger <[email protected]> Signed-off-by: Mike Snitzer <[email protected]> Reviewed-by: Babu Moger <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] hpsa: do not consider RAID level to be part of device identityStephen M. Cameron1-2/+0
Otherwise, after doing a RAID level migration, the disk will be disruptively removed and re-added as a different disk on rescan. Signed-off-by: Stephen M. Cameron <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] hpsa: do not consider firmware revision when looking for device changes.Stephen M. Cameron2-10/+0
The firmware may have been updated, in which case, it's the same device, and in that case, we do not want to remove and add the device, we want to let it continue as is. Signed-off-by: Stephen M. Cameron <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] lpfc 8.3.20: Update lpfc driver version to 8.3.20James Smart1-1/+1
Signed-off-by: Alex Iannicelli <[email protected]> Signed-off-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] lpfc 8.3.20: Updates to FC discovery commandsJames Smart9-72/+49
Updated commands used for ELS to utilize VPI Allocate RPI at node creation time and pass in ELS commnads. Signed-off-by: Alex Iannicelli <[email protected]> Signed-off-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] lpfc 8.3.20: Implement new SLI4 init procedures based on if_typeJames Smart4-326/+569
Implement new SLI4 init procedures based on if_type: - Add structure changes for new SLIPORT registers and BAR changes. - Update register names to be consistent with inteface spec terms. - Added union to encapsulate Hardward error registers. - Rework lpfc_sli4_post_status_check() around SLI-4's SLI_INTF type - Removed the lpfc_sli4_fw_cfg_check routine - Segmented driver logic to include evaluation of the if_type to engage different behaviors. Signed-off-by: Alex Iannicelli <[email protected]> Signed-off-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] lpfc 8.3.20: Implement the FC and SLI async event handlersJames Smart5-71/+283
Implement the FC and SLI async event handlers: - Updated MQ_CREATE_EXT mailbox structure to include fc and SLI async events. - Added the SLI trailer code. - Split physical field into type and number to reflect latest SLI spec. - Changed lpfc_acqe_fcoe to lpfc_acqe_fip to reflect latest Spec changes. - Added lpfc_acqe_fc_la structure for FC link attention async events. - Added lpfc_acqe_sli structure for sli async events. - Added lpfc_sli4_async_fc_evt routine to handle fc la async events. - Added lpfc_sli4_async_sli routine to handle sli async events. - Moved LPFC_TRAILER_CODE_FC to be handled by its own handler function. Signed-off-by: Alex Iannicelli <[email protected]> Signed-off-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] lpfc 8.3.20: Critical fixesJames Smart2-41/+21
- Use for iocbq->context1 to hold the ndlp pointer. - Set ndlp in all iocbs generated from ioctl functions. - Turn parity and serr bits back on after performing sli4 board reset. Signed-off-by: Alex Iannicelli <[email protected]> Signed-off-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] bfa: Update the driver version to 2.3.2.3Krishna Gudipati1-1/+1
Signed-off-by: Krishna Gudipati <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] bfa: io tag handling and minor bug fix.Krishna Gudipati4-16/+24
Fix iotag handling: 1) Update and check io tag for retry case. 2) Clearing upper 3 bits in io tag when an IO completes. The 3 upper bits in io tags are used for counting FCP exchange retry. Un-cleared bits will cause firmware to access invalid memory when the same io tag is used for an IO to a target that doesn't support FCP exchange retry. 3) Only check the effective bits when validating an iotag. Other minor fixes: 1) Added trace to get FC header type with assert of unhandled packet received. Ignore the type FC_TYPE_FC_FSS (FC_XS). 2) Fixed the adapter info display check - to check for fcmode flag even. Signed-off-by: Krishna Gudipati <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] bfa: direct attach mode fix.Krishna Gudipati5-1/+111
- Direct attach is not working due to the check of PID in fcxp_send request. - Added logic to set the lps->lp_pid with the PID assigned for n2n mode. Signed-off-by: Krishna Gudipati <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] bfa: IOC auto recovery fix.Krishna Gudipati6-100/+445
- Made IOC auto_recovery synchronized and not timer based. - Only one PCI function will attempt to recover and reinitialize the ASIC on a failure, after all the active PCI fns acknowledge the IOC failure. Signed-off-by: Krishna Gudipati <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] bfa: Store port configuration in flash for persistency.Krishna Gudipati3-3/+29
When the bfa driver is loaded a flogi is sent without the knowledge of trunking configuration. This normal flogi causes the switch ports which had trunking enabled to go to persistent offline. Solution is to store the port configuration (which has trunking info) in the flash for persistency. The firmware will read this configuration when the very first fcport enable is received. Signed-off-by: Krishna Gudipati <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] bfa: IOC fwtrace save logic & state machine fixes.Krishna Gudipati1-67/+74
- Move fw trace save logic to bfa_ioc_sm_fail_entry(), so that fw trace is saved irrespective of the cause of the failure. - Make bfa_ioc_sm_fail() a failure parking state. - Rename bfa_ioc_sm_initfail() to a more appropriate bfa_ioc_sm_fail_retry() as it is no longer a parking state. Signed-off-by: Krishna Gudipati <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] bfa: remove unused functions and misc cleanupsMaggie Zhang8-457/+110
Remove unused functions and fix checkpatch errors. Misc cleanups in comment and formatting. Signed-off-by: Maggie Zhang <[email protected]> Signed-off-by: Jing Huang <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] bfa: remove all OS wrappersMaggie Zhang28-304/+210
Remove OS wrapper functions/macros, and as a result remove bfa_os_inc.h. Signed-off-by: Maggie Zhang <[email protected]> Signed-off-by: Jing Huang <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] bfa: remove all SCSI IO callbacksMaggie Zhang8-204/+49
Remove SCSI IO callbacks, and as a result remove bfa_cb_ioim.h. Signed-off-by: Maggie Zhang <[email protected]> Signed-off-by: Jing Huang <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] bfa: scatter gather processing changeMaggie Zhang1-81/+59
Modified scatter gather processing to use the kernel provided scsi_for_each_sg() macro. 1) Instead of allocating and setting up sgpg in bfa_ioim_sge_setup(), we only do allocation. As a result, we remove bfa_ioim_sgpg_setup() and rename bfa_ioim_sge_setup() to bfa_ioim_sgpg_alloc(). 2) bfa_ioim_send_ioreq() call scsi_for_each_sg() to handle both inline and sgpg setup. Signed-off-by: Maggie Zhang <[email protected]> Signed-off-by: Jing Huang <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] bfa: remove a file with small sizeMaggie Zhang5-112/+88
Removed bfa_drv.c, merged it to bfa_core.c and modified Makefile. Signed-off-by: Maggie Zhang <[email protected]> Signed-off-by: Jing Huang <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] bfa: clean up one line functionsMaggie Zhang19-930/+259
Cleaned up one line functions. Signed-off-by: Maggie Zhang <[email protected]> Signed-off-by: Jing Huang <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] bfa: remove unused and empty functionsMaggie Zhang15-710/+4
Removed unused and empty functions. Signed-off-by: Maggie Zhang <[email protected]> Signed-off-by: Jing Huang <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] ibmvfc: Improve ibmvfc_async_desc memory layoutRobert Jennings2-15/+15
By changing field ordering we can avoid a couple of memory holes in the tables that use the ibmvfc_async_desc structure. Signed-off-by: Robert Jennings <[email protected]> Acked-by: Brian King <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] iscsi: add module aliasStephen Hemminger1-0/+1
Since iscsi transport can be built as a module and uses netlink socket to communicate. The module should have an alias to autoload when socket of NETLINK_ISCSI type is requested. Signed-off-by: Stephen Hemminger <[email protected]> Acked-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] qla4xxx: Update driver version to 5.02.00-k5Vikas Chaudhary1-1/+1
Signed-off-by: Vikas Chaudhary <[email protected]> Signed-off-by: Ravi Anand <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] qla4xxx: Updated the Copyright headerVikas Chaudhary16-18/+18
Signed-off-by: Vikas Chaudhary <[email protected]> Signed-off-by: Ravi Anand <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] qla4xxx: do not reset hba if ql4xdontresethba is setVikas Chaudhary1-7/+9
Signed-off-by: Vikas Chaudhary <[email protected]> Signed-off-by: Ravi Anand <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] qla4xxx: do not check for fw hung if reset retry is in progressLalit Chandivade1-1/+3
Signed-off-by: Vikas Chaudhary <[email protected]> Signed-off-by: Lalit Chandivade <[email protected]> Signed-off-by: Ravi Anand <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] qla4xxx: cache new IP address acquired via DHCPPrasanna Mumbai1-1/+2
Prior to firmware state change from ACQUIRING to READY, an 0x8029 AEN is received. Added code to check previous state being ACQUIRING in order to update the ip address in the driver. Signed-off-by: Vikas Chaudhary <[email protected]> Signed-off-by: Prasanna Mumbai <[email protected]> Signed-off-by: Ravi Anand <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] qla4xxx: Fail initialization if qla4_8xxx_pci_mem_write_2M failsLalit Chandivade1-6/+11
Since if fw load is failing, running on incomplete fw load would be fatal. Signed-off-by: Vikas Chaudhary <[email protected]> Signed-off-by: Lalit Chandivade <[email protected]> Signed-off-by: Ravi Anand <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] qla4xxx: put device in FAILED state for 82XX initialization failureLalit Chandivade1-0/+8
Signed-off-by: Vikas Chaudhary <[email protected]> Signed-off-by: Lalit Chandivade <[email protected]> Signed-off-by: Ravi Anand <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] qla4xxx: do not process interrupt unconditionallyLalit Chandivade1-17/+1
in mailbox command do not process interrupt unconditionally, process interrupt only in polling mode Signed-off-by: Vikas Chaudhary <[email protected]> Signed-off-by: Lalit Chandivade <[email protected]> Signed-off-by: Ravi Anand <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] qla4xxx: use correct fw_ddb_index in abort taskKaren Higgins2-3/+2
Signed-off-by: Vikas Chaudhary <[email protected]> Signed-off-by: Karen Higgins <[email protected]> Signed-off-by: Ravi Anand <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] qla4xxx: memory wedge with peg_halt test in loopSwapnil Nagle1-0/+43
Signed-off-by: Swapnil Nagle <[email protected]> Signed-off-by: Vikas Chaudhary <[email protected]> Signed-off-by: Ravi Anand <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] qla4xxx: initialize MSI in correct wayShyam Sundar1-1/+1
IRQF_SHARED flag should not be set when calling request_irq for MSI since this interrupt mechanism cannot be shared like standard INTx Signed-off-by: Vikas Chaudhary <[email protected]> Signed-off-by: Shyam Sundar <[email protected]> Signed-off-by: Ravi Anand <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] qla4xxx: Drop use of IRQF_DISABLEVikas Chaudhary1-2/+2
IRQF_DISABLE flag is deprecated and this flag is a NOOP in kernel. Signed-off-by: Vikas Chaudhary <[email protected]> Signed-off-by: Ravi Anand <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] libfc: fix statistics for FCP input/output megabytesJoe Eykholt2-4/+8
The statistics for InputMegabytes and OutputMegabytes are misnamed. They're accumulating bytes, not megabytes. The statistic returned via /sys must be in megabytes, however, which is what the HBA-API wants. The FCP code needs to accumulate it in bytes and then divide by 1,000,000 (not 2^20) before it presented via sysfs. This affects fcoe.ko only, not fnic. The fnic driver correctly by accumulating bytes and then converts to megabytes. I checked that libhbalinux is using the /sys file directly without conversion. BTW, qla2xxx does divide by 2^20, which I'm not fixing here. Signed-off-by: Joe Eykholt <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] libfcoe: change fip_select to return new FCFJoe Eykholt1-10/+8
Neaten several calls to fip_select() by having it return the pointer to the new FCF. Signed-off-by: Joe Eykholt <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] libfcoe: reorder FCF list to put latest advertiser firstJoe Eykholt1-0/+11
When there are several FCFs to choose from, the one most likely to accept a FLOGI on certian switches is the one that last answered a multicast solicit. So, when receiving an advertisement, move the FCF to the front of the list so that it gets chosen first among those with the same priority. Without this, more FLOGIs need to be sent in a test with multiple FCFs and a switch in NPV mode, but it still eventually finds one that accepts the FLOGI. Signed-off-by: Joe Eykholt <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] libfcoe: add debug message for FCF destination MACJoe Eykholt1-9/+10
When multiple FCFs to the same fabric exist, the debug messages all look alike. Change the message to include the MAC address. Signed-off-by: Joe Eykholt <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] libfcoe: retry rejected FLOGI to another FCF if possibleJoe Eykholt1-30/+177
Switches using multiple-FCFs may reject FLOGI in order to balance the load between multiple FCFs. Even though the FCF was available, it may have more load at the point we actually send the FLOGI. If the FLOGI fails, select a different FCF if possible, among those with the same priority. If no other FCF is available, just deliver the reject to libfc for retry. Signed-off-by: Joe Eykholt <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] libfcoe: fix checking of conflicting fabrics in fcoe_ctlr_select()Joe Eykholt1-7/+10
The check for conflicting fabrics in fcoe_ctlr_select() ignores any FCFs that aren't usable. This is a minor problem now but becomes more pronounced after later patches. Signed-off-by: Joe Eykholt <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] libfcoe: move some timer code to make it reusable.Joe Eykholt1-3/+7
Move some of the code in fcoe_ctlr_timer_work() to fcoe_ctlr_select() so that it can be shared with another function in a forthcoming patch. Signed-off-by: Joe Eykholt <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] libfcoe: update FIP FCF announcementsJoe Eykholt1-11/+29
Move the announcement code to a separate function for reuse in a forthcoming patch. For messages regarding FCF timeout and selection, use the previously-announced FCF MAC address (dest_addr) in the fcoe_ctlr struct. Only print (announce) the FCF if it is new. Print MAC for timed-out or deselected FCFs. Signed-off-by: Joe Eykholt <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] libfc: fix fc_tm_done not freeing the allocated fsp pktYi Zou1-7/+7
Frame should be freed in fc_tm_done, this is an updated patch on the one initially submitted by Hillf Danton. Signed-off-by: Hillf Danton <[email protected]> Signed-off-by: Yi Zou <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] libfc: the timeout for the REC itself is 2 * R_A_TOV_elsYi Zou1-5/+2
The timeout for the exchange carrying REC itself is 2 * R_A_TOV_els. Signed-off-by: Yi Zou <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] libfc: fix exchange being deleted when the abort itself is timed outYi Zou1-2/+5
Should not continue when the abort itself is being timeout since in that case the exchange will be deleted and relesased. We still want to call the associated response handler to let the layer, e.g., fcp, know the exchange itself is being timed out. Signed-off-by: Yi Zou <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2010-12-21[SCSI] libfc: do not fc_io_compl on fsp w/o any scsi_cmnd associatedYi Zou1-1/+7
Do not call fc_io_compl() on fsp w/o any scsi_cmnd, e.g., lun reset is built inside fc_fcp, not from a scsi command from queuecommnd from scsi-ml, so in in case target is buggy that is invalid flags in the FCP_RSP, as we have seen in some SAN Blaze target where all bits in flags are 0, we do not want to call io_compl on this fsp. [ Comment block added by Robert Love ] Signed-off-by: Yi Zou <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>