summaryrefslogtreecommitdiffstats
path: root/drivers/scsi (follow)
Commit message (Collapse)AuthorAgeFilesLines
* [SCSI] aacraid: use lower snprintf() limitDan Carpenter2011-10-201-3/+4
| | | | | | | | | | | | | | | | This is just a cleanup, to silence static checker warnings. It doesn't change how the code works. buf[] can either be BUF_SIZE if this is called from sysfs, or it can be 16 if it's called from aac_get_adapter_info() via aac_get_serial_number(). We use the smaller limit here. sizeof(dev->supplement_adapter_info.MfgPcbaSerialNo) is 12 so there is actually no chance of hitting either limit. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Achim Leubner <Achim_Leubner@pmc-sierra.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.27: Change driver version to 8.3.27James Smart2011-10-161-1/+1
| | | | | | | | Change driver version to 8.3.27 Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.27: T10 additions for SLI4James Smart2011-10-165-19/+471
| | | | | | | | | Added T10 DIFF error injection code. Added T10 DIFF structure definitions for SLI4 devices. Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.27: Fix queue allocation failure recoveryJames Smart2011-10-163-67/+118
| | | | | | | | | | | | | Fix queue allocation failure recovery - Move the allocation of the Queues closer to the creation of the queues. - If there is a problem with creation, or if the HBA is reset, the queues will be completely freed and re allocated. - Only allocate fcp_eq_hdl if cfg_fcp_eq_count is non-zero. Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.27: Change algorithm for getting physical port nameJames Smart2011-10-164-6/+366
| | | | | | | | Implemented new algorithm for getting physical port name for all SLI4 devices Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.27: Changed worst case mailbox timeoutJames Smart2011-10-168-136/+229
| | | | | | | | | Changed the timeout value for flash-based SLI_CONFIG (0x9B) mailbox command to 300 seconds for worst case flash delays. Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.27: Miscellanous logic and interface fixesJames Smart2011-10-1611-57/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Miscellanous logic and interface fixes - Fix lpfc_init_vfi_cmpl to check the interface type for interface type 0 before parsing the results. - Cast uint32_t values that are multiplied to uint64_t before the multiplication. - Instead of "break" statement when PCI read returned error, use the goto statement to the end of the routine after setting return value - moved the msleep(10) to the beginning of the wait loop for checking the SLIPort_Status register - Added the code to follow the existing wait for SLIPort_Status register RDY, ERR, and RN bits to be set by the port before proceeding to perform PCI function reset. - Do not override ulpCt_h and ulpCt_l for SLI 4 ports. - For vport delete, call lpfc_nlp_put when the vport's vpi state is not marked with VPI_REGISTERED. - Added missed fields into the driver's Controller Attributes Structure - Changed ringing EQ/CQ/RQ doorbell register to be dependent on the size of the queue. - Return -EACCES in issue_reset if cfg_enable_hba_reset is zero. - Added new logging flag LOG_FCP_UNDER 0x00040000 to qualify underrun logging. - Add a check in the fabric name display routine to display 0 if the port state is <= FLOGI. - Add a check to the switch statement in lpfc_decode_firmware_rev to check for an 'X'. Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Changelog and version updateadam radford2011-10-162-4/+4
| | | | | | | | The following patch for megaraid_sas updates the ChangeLog.megaraid_sas file and updates the driver version. Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Add driver workaround for PERC5/1068 kdump kernel panicadam radford2011-10-162-1/+19
| | | | | | | | | | The following patch for megaraid_sas adds a driver workaround for PERC5/1068 based controller FW that keeps a command from the main kernel that the driver cannot cancel which was causing a kernel panic in shutdown of the kdump kernel. Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Add multiple MSI-X vector/multiple reply queue supportadam radford2011-10-164-59/+176
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Add support for MegaRAID 9360/9380 12GB/s controllersadam radford2011-10-165-40/+139
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Clear FUSION_IN_RESET before enabling interruptsadam radford2011-10-161-0/+3
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Clear state change interruptsadam radford2011-10-161-1/+8
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Remove some unnecessary codeadam radford2011-10-161-13/+0
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Fix mismatch in megasas_reset_fusion() mutex lock-unlockadam radford2011-10-161-2/+1
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Increase default cmds per lun to 256adam radford2011-10-161-1/+1
| | | | | Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] megaraid_sas: Continue booting immediately if FW in FAULT at driver ↵adam radford2011-10-162-11/+13
| | | | | | | load time Signed-off-by: Adam Radford <aradford@gmail.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla4xxx: Update driver version to 5.02.00-k8Vikas Chaudhary2011-10-161-1/+1
| | | | | | Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla4xxx: updated device id check for BFS.Manish Rangankar2011-10-161-5/+3
| | | | | | | | | JIRA Key: UPSISCSI-75 Signed-off-by: Manish Rangankar <manish.rangankar@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla4xxx: Fixed target discovery failed issue.Manish Rangankar2011-10-163-5/+7
| | | | | | | | | | | | | When sendtargets response is greater then max receive data segment length, the passthrough IOCB failed with data overrun status. Solution is to allocate space for iSCSI header in the IOCB response buffer. JIRA Key: UPSISCSI-147 Signed-off-by: Manish Rangankar <manish.rangankar@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla4xxx: Fixed active session re-open issue.Manish Rangankar2011-10-161-1/+5
| | | | | | | | | | | | | When iscsid restarted for an existing active session, set DDB will fail with status already logged in. In this case, we have to send logged in event to iscsid. JIRA Key: OPENISCSI-21 Signed-off-by: Manish Rangankar <manish.rangankar@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla4xxx: Fixed device blocked issue on link up-down.Manish Rangankar2011-10-162-1/+2
| | | | | | | | | | | | | Devices are getting blocked during continuous link up and down. Solution is, during relogin unblock the session, using iscsi_conn_start, before sending connection logged in event. JIRA Key: UPSISCSI-138 Signed-off-by: Manish Rangankar <manish.rangankar@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla4xxx: Fixed session destroy issue on link up-down.Manish Rangankar2011-10-162-1/+21
| | | | | | | | | | | | | | During link down, iscsid tries to do re-login to failed session. In case of link down-up-down, LLD was sending connection login failed event to iscsid, which is destroying the session, instead we have to continue re-login by sending connection err event. JIRA Key: UPSISCSI-134 Signed-off-by: Manish Rangankar <manish.rangankar@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla4xxx: Clear DDB map index on the basis of AEN.Manish Rangankar2011-10-162-9/+14
| | | | | | | | | | | | | Unable to login to session if login-logout issued consecutively for multiple sessions. Solution is to clear idx in DDB map on the basis of no-active connection asynchronous event (AEN). JIRA Key: UPSISCSI-135 Signed-off-by: Manish Rangankar <manish.rangankar@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla4xxx: Free Device Database (DDB) reserved by FWLalit Chandivade2011-10-161-0/+40
| | | | | | | | | | | | | | | | Firmware reserves DDBs if there are entries in the FLASH. So there are no free DDBs left when a iSCSI login is initiated by user space tool like iscsiadm. Since now login is not controlled by firmware, LLD need to free up the DDBs after firmware init. This will ensure free DDBs are available for iSCSI logins using iscsiadm. JIRA Key: UPSISCSI-151 Signed-off-by: Lalit Chandivade <lalit.chandivade@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla4xxx: Fix getting BIDI CHAP for boot targetsLalit Chandivade2011-10-161-4/+58
| | | | | | | | | | | | If a boot target has a BIDI CHAP enabled, then read the user/secret from CHAP table. Do not assume BIDI chap at peer CHAP index + 1 JIRA Key: UPSISCSI-156 Signed-off-by: Lalit Chandivade <lalit.chandivade@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla4xxx: Fix exporting boot targets to sysfsLalit Chandivade2011-10-161-16/+21
| | | | | | | | | | | | | | The driver failed to export primary boot target if secondary target did not exist in the FLASH. If boot targets are not valid then driver assumed 0 and 1 as default boot targets. Since these target did not exist in flash, the driver failed exporting all the targets. JIRA Key: UPSISCSI-148 Signed-off-by: Lalit Chandivade <lalit.chandivade@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla4xxx: Do not add duplicate CHAP entry in FLASHLalit Chandivade2011-10-165-35/+195
| | | | | | | | | | | | | | | | | | | | | | QLogic applications store the CHAP information in FLASH. During login, authentication information is provided using an index into the CHAP region. In order to support QLogic applications along with iscsiadm, updated the LLD to not add duplicate CHAP entries in the CHAP region and preserve the existing CHAP info in the CHAP region in FLASH. This allows QLogic applications to pre-write the CHAP entries in the CHAP region. With iscsiadm, when the CHAP authentication information is sent to the LLD, the LLD searches for the entry in CHAP region in FLASH, if exists then do not add. If CHAP entry does not exist then add the CHAP entry in the CHAP region. JIRA Key: UPSISCSI-146 Signed-off-by: Lalit Chandivade <lalit.chandivade@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla4xxx: Fix bidirectional CHAP.Lalit Chandivade2011-10-162-3/+6
| | | | | | | | | | | | Driver was not setting the bidirectional CHAP bit correctly in the DDB entry. JIRA Key: UPSISCSI-108 Signed-off-by: Lalit Chandivade <lalit.chandivade@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla4xxx: Add new FLT firmware regionNilesh Javali2011-10-162-0/+2
| | | | | | | Signed-off-by: Nilesh Javali <nilesh.javali@qlogic.com> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] be2iscsi: Move driver Version to 4.1.239.0Jayamohan Kallickal2011-10-161-1/+1
| | | | | | Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] be2iscsi: memset wrb for ring createJayamohan Kallickal2011-10-161-0/+1
| | | | | | | | | This patch fixes a situation when wrb was not being memset to zero before being used Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] be2iscsi: Fix for case where task->sc was cleanedup earlierJayamohan Kallickal2011-10-161-0/+5
| | | | | | | | | | | This patch fixes a bug where the task->sc was cleaned up earlier on a different thread, possibly abort, and the completion comes later. This was causing a crash which has been reported in multiple places Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] be2iscsi: Fix for wrong dmsg setting in wrbJayamohan Kallickal2011-10-161-2/+2
| | | | | | | | | | | | This patch fixes wrong dmsg setting when we send out wrb. If the ttt is not ISCSI_RESERVED_TAG then we should be setting dmsg=1 so that the completion is done without waiting for a iscsi level response from the target Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] be2iscsi: Fix for kdump failureJayamohan Kallickal2011-10-163-1/+22
| | | | | | | | | | | | | | This patch fixes the Kdump failure reported by Redhat wich was caused by be2iscsi resetting the Chip when be2iscsi detects it is in crashdump mode. If be2net was loaded before be2iscsi then this leaves be2net driver hanging on to resources that the chip stopped recognising after the reset. This patch replaces chip reset with Function reset so that only the particular function and not the whole chip is affected Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qlogicpti: fix timeoutMeelis Roos2011-10-161-1/+1
| | | | | | | | | | | | | qlogicpti times out for some tape library operations (like mtx inventory). It seems SCSI command timeout is hardcoded into the driver. Fix it by propagating the timeout from scsi request to the controller as suggested by James Bottomley. Tested on Sun Ultra 1 with Sun StorEdge L8 Autoloader. Signed-off-by: Meelis Roos <mroos@linux.ee> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] scsi_dh_alua: Add one more check-condition for alua handlerMoger, Babu2011-10-161-7/+8
| | | | | | | | | | This patch adds one more check-condition for scsi_dh_alua handler. Without this, the handler attach fails sometimes during the discovery. I have noticed this with NetApp E-Series storage with alua mode. Also removed some unnecessary brackets {} for consistency. Signed-off-by: Babu Moger <babu.moger@netapp.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] ipr: Add support to flash FPGA and flash back DRAM imagesWayne Boyer2011-10-162-9/+3
| | | | | | | | | | | | | | | The write buffer command is used to download and burn new IOA FW images. The same interface can now be used to flash FPGA and flash back DRAM images. To download and flash the new images takes more than 15 minutes, so increase the write buffer command timeout to 30 minutes. The FPGA and flash back DRAM images don't have the same card_type as the IOA FW image. So, remove the sanity checking from the driver. The adapter has sanity checking and will only accept a valid image. Signed-off-by: Wayne Boyer <wayneb@linux.vnet.ibm.com> Acked-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] libsas: fix port->dev_list lockingDan Williams2011-10-162-11/+17
| | | | | | | | | | | | | | | | | | | | port->dev_list maintains a list of devices attached to a given sas root port. It needs to be mutated under a lock as contexts outside of the single-threaded-libsas-workqueue access the list via sas_find_dev_by_rphy(). Fixup locations where the list was being mutated without a lock. This is a follow-up to commit 5911e963 "[SCSI] libsas: remove expander from dev list on error", where Luben noted [1]: > 2/ We have unlocked list manipulations in sas_ex_discover_end_dev(), > sas_unregister_common_dev(), and sas_ex_discover_end_dev() Yes, I can see that and that is very unfortunate. [1]: http://marc.info/?l=linux-scsi&m=131480962006471&w=2 Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] bnx2fc: Bumped version to 1.0.8Bhanu Prakash Gollapudi2011-10-162-2/+2
| | | | | Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] bnx2fc: Return error statistics of remote peerBhanu Prakash Gollapudi2011-10-161-0/+20
| | | | | | | | Add support for get_lesb so that the valid statistics are returned by the remote peer when RLS command is issued. Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] fcoe,libfcoe: Move common code for fcoe_get_lesb to fcoe_transportBhanu Prakash Gollapudi2011-10-162-20/+30
| | | | | | | | | Except for obtaining the netdev from lport, fcoe_get_lesb is the common code for the LLDs. Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com> Acked-by: Yi Zou <yi.zou@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] bnx2fc: call ctlr_link_up only when the interface is enabledBhanu Prakash Gollapudi2011-10-161-0/+2
| | | | | | | | | | Link may not be up when the driver receives ulp_start event, and hence fcoe_ctlr_link_up is not called. Call fcoe_ctlr_link_up during indicate_netevent only when the interface is enabled. (It has to be called when enabled because that is an indication that the vlan discovery is completed). Signed-off-by: Bhanu Prakash Gollapudi <bprakash@broadcom.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] isci: export phy events via ->lldd_control_phy()Dan Williams2011-10-025-6/+23
| | | | | | | | | | | | | | | | | Allow the sas-transport-class to update events for local phys via a new PHY_FUNC_GET_EVENTS command to ->lldd_control_phy(). Fixup drivers that are not prepared for new enum phy_func values, and unify ->lldd_control_phy() error codes. These are the SAS defined phy events that are reported in a smp-report-phy-error-log command: * /sys/class/sas_phy/<phyX>/invalid_dword_count * /sys/class/sas_phy/<phyX>/running_disparity_error_count * /sys/class/sas_phy/<phyX>/loss_of_dword_sync_count * /sys/class/sas_phy/<phyX>/phy_reset_problem_count Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] isci: The port state should be set to stopping on the last phy.Jeff Skirvin2011-10-021-1/+1
| | | | | | | | | | Fixes a bug where any phy removed from the port set the port state to "stopping" - do this only when the last phy removed from the port. Signed-off-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] isci: fix decode of DONE_CRC_ERR TC completion statusJeff Skirvin2011-10-021-2/+1
| | | | | | | | | | DONE_CRC_ERR is not a RNC suspension condition, so do not change the state to expect the incoming suspension notification. Signed-off-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com> [djbw: dropped DONE_CMD_LL_R_ERR change] Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] isci: SATA/STP I/O is only returned in the normal path to libsasJeff Skirvin2011-10-021-0/+19
| | | | | | | | | | | | | | Since libsas has it's own means to escalate SATA/STP device error handling depending on task status codes, return all SATA/STP I/O on the normal path. i.e. skip sas_task_abort() and let sas_ata_task_done() disposition the qc. Longer term we want to audit non-essential calls to sas_task_abort(). Signed-off-by: Jeff Skirvin <jeffrey.d.skirvin@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] isci: atapi supportDan Williams2011-10-025-16/+375
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on original implementation from Jiangbi Liu and Maciej Trela. ATAPI transfers happen in two-to-three stages. The two stage atapi commands are those that include a dma data transfer. The data transfer portion of these operations is handled by the hardware packet-dma acceleration. The three-stage commands do not have a data transfer and are handled without hardware assistance in raw frame mode. stage1: transmit host-to-device fis to notify the device of an incoming atapi cdb. Upon reception of the pio-setup-fis repost the task_context to perform the dma transfer of the cdb+data (go to stage3), or repost the task_context to transmit the cdb as a raw frame (go to stage 2). stage2: wait for hardware notification of the cdb transmission and then go to stage 3. stage3: wait for the arrival of the terminating device-to-host fis and terminate the command. To keep the implementation simple we only support ATAPI packet-dma protocol (for commands with data) to avoid needing to handle the data transfer manually (like we do for SATA-PIO). This may affect compatibility for a small number of devices (see ATA_HORKAGE_ATAPI_MOD16_DMA). If the data-transfer underruns, or encounters an error the device-to-host fis is expected to arrive in the unsolicited frame queue to pass to libata for disposition. However, in the DONE_UNEXP_FIS (data underrun) case it appears we need to craft a response. In the DONE_REG_ERR case we do receive the UF and propagate it to libsas. Signed-off-by: Maciej Trela <maciej.trela@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] mvsas: update driver versionXiangliang Yu2011-10-021-1/+1
| | | | | | | This will synchronize the version string with internal driver. Signed-off-by: Xiangliang Yu <yuxiangl@marvell.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] mvsas: fixed SMP request watchdog timeout issue.Xiangliang Yu2011-10-022-0/+5
| | | | | | | set SMP link timeout value to maximum. Signed-off-by: Xiangliang Yu <yuxiangl@marvell.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>