aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-08-26aic94xx: set an error code on failureDan Carpenter1-0/+1
We recently did some cleanup here and now the static checkers notice that there is a missing error code when ioremap() fails. Let's set it to -ENOMEM. Signed-off-by: Dan Carpenter <[email protected]> Reviewed-by: Johannes Thumshirn <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26storvsc: Set the error code correctly in failure conditionsK. Y. Srinivasan1-3/+9
In the function storvsc_channel_init(), error code was not getting set correctly in some of the failure cases. Fix this issue. Signed-off-by: K. Y. Srinivasan <[email protected]> Reported-by: Dan Carpenter <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26storvsc: Allow write_same when host is windows 10Keith Mange1-1/+5
Allow WRITE_SAME for Windows10 and above hosts. Tested-by: Alex Ng <[email protected]> Signed-off-by: Keith Mange <[email protected]> Signed-off-by: K. Y. Srinivasan <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26storvsc: use storage protocol version to determine storage capabilitiesKeith Mange1-4/+4
Use storage protocol version instead of vmbus protocol version when determining storage capabilities. Tested-by: Alex Ng <[email protected]> Signed-off-by: Keith Mange <[email protected]> Signed-off-by: K. Y. Srinivasan <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26storvsc: use correct defaults for values determined by protocol negotiationKeith Mange1-14/+19
Use correct defaults for values determined by protocol negotiation, instead of resetting them with every scsi controller. Tested-by: Alex Ng <[email protected]> Signed-off-by: Keith Mange <[email protected]> Signed-off-by: K. Y. Srinivasan <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26storvsc: Untangle the storage protocol negotiation from the vmbus protocol ↵Keith Mange1-22/+86
negotiation. Currently we are making decisions based on vmbus protocol versions that have been negotiated; use storage potocol versions instead. [jejb: fold ARRAY_SIZE conversion suggested by Johannes Thumshirn <[email protected]> make vmstor_protocol static] Tested-by: Alex Ng <[email protected]> Signed-off-by: Keith Mange <[email protected]> Signed-off-by: K. Y. Srinivasan <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26storvsc: Use a single value to track protocol versionsKeith Mange1-26/+9
Use a single value to track protocol versions to simplify comparisons and to be consistent with vmbus version tracking. Tested-by: Alex Ng <[email protected]> Signed-off-by: Keith Mange <[email protected]> Signed-off-by: K. Y. Srinivasan <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26storvsc: Rather than look for sets of specific protocol versions, make ↵Keith Mange1-8/+3
decisions based on ranges. Rather than look for sets of specific protocol versions, make decisions based on ranges. This will be safer and require fewer changes going forward as we add more storage protocol versions. Tested-by: Alex Ng <[email protected]> Signed-off-by: Keith Mange <[email protected]> Signed-off-by: K. Y. Srinivasan <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26cxlflash: Remove unused variable from queuecommandMatthew R. Ochs1-3/+4
The queuecommand routine has a local dev pointer used for the dev_* prints. The two prints that currently exist are tucked under a debug define and thus can be left out. Use the actual location instead of a local to avoid this warning. This patch is intended to be applied after the "CXL Flash Error Recovery and Superpipe" series. Signed-off-by: Matthew R. Ochs <[email protected]> Signed-off-by: Manoj N. Kumar <[email protected]> Reported-by: kbuild test robot <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26cxlflash: shift wrapping bug in afu_link_reset()Dan Carpenter1-2/+2
"port_sel" is a u64 so the shifting should also be a 64 bit shift. Fixes: c21e0bbfc485 ('cxlflash: Base support for IBM CXL Flash Adapter') Signed-off-by: Dan Carpenter <[email protected]> Reviewed-by: Johannes Thumshirn <[email protected]> Acked-by: Matthew R. Ochs <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26cxlflash: off by one bug in cxlflash_show_port_status()Dan Carpenter1-1/+1
The > should be >= or we read one element past the end of the array. Fixes: c21e0bbfc485 ('cxlflash: Base support for IBM CXL Flash Adapter') Signed-off-by: Dan Carpenter <[email protected]> Acked-by: Matthew R. Ochs <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26cxlflash: Virtual LUN supportMatthew R. Ochs11-17/+1550
Add support for physical LUN segmentation (virtual LUNs) to device driver supporting the IBM CXL Flash adapter. This patch allows user space applications to virtually segment a physical LUN into N virtual LUNs, taking advantage of the translation features provided by this adapter. Signed-off-by: Matthew R. Ochs <[email protected]> Signed-off-by: Manoj N. Kumar <[email protected]> Reviewed-by: Michael Neuling <[email protected]> Reviewed-by: Wen Xiong <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26cxlflash: Superpipe supportMatthew R. Ochs11-4/+2868
Add superpipe supporting infrastructure to device driver for the IBM CXL Flash adapter. This patch allows userspace applications to take advantage of the accelerated I/O features that this adapter provides and bypass the traditional filesystem stack. Signed-off-by: Matthew R. Ochs <[email protected]> Signed-off-by: Manoj N. Kumar <[email protected]> Reviewed-by: Michael Neuling <[email protected]> Reviewed-by: Wen Xiong <[email protected]> Reviewed-by: Brian King <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26cxlflash: Base error recovery supportMatthew R. Ochs5-16/+177
Introduce support for enhanced I/O error handling. A device state is added to track 3 possible states of the device: Normal - the device is operating normally and is fully operational Limbo - the device is in a reset/recovery scenario and its operational status is paused Failed/terminating - the device has either failed to be reset/recovered or is being terminated (removed); it is no longer operational All operations are allowed when the device is operating normally. When the device transitions to limbo state, I/O must be paused. To help accomplish this, a wait queue is introduced where existing and new threads can wait until the device is no longer in limbo. When coming out of limbo, threads need to check the state and error out gracefully when encountering the failed state. When the device transitions to the failed/terminating state, normal operations are no longer allowed. Only specially designated operations related to graceful cleanup are permitted. Signed-off-by: Matthew R. Ochs <[email protected]> Signed-off-by: Manoj N. Kumar <[email protected]> Reviewed-by: Daniel Axtens <[email protected]> Reviewed-by: Michael Neuling <[email protected]> Reviewed-by: Wen Xiong <[email protected]> Reviewed-by: Brian King <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26qla2xxx: Update driver version to 8.07.00.26-kHimanshu Madhani1-1/+1
Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: Giridhar Malavali <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26qla2xxx: Add pci device id 0x2261.Sawan Chandak2-3/+15
Signed-off-by: Sawan Chandak <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26qla2xxx: Fix missing device login retries.Arun Easi1-1/+2
On certain conditions, login failures will just invoke qla2x00_mark_device_lost() with the intend to do login again; but if login_retry has been set already, that would fail to set the relogin needed flag which is required to wakeup the DPC to retry. Signed-off-by: Arun Easi <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26qla2xxx: do not clear slot in outstanding cmd arrayHimanshu Madhani1-6/+0
Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: Giridhar Malavali <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26qla2xxx: Remove decrement of sp reference count in abort handler.Chad Dupuis1-7/+2
Fix for memory leak when command is not found by firmware due to mismatch in sp reference count. Signed-off-by: Chad Dupuis <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26qla2xxx: Add support to show MPI and PEP FW version for ISP27xx.Sawan Chandak3-2/+31
Signed-off-by: Sawan Chandak <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26qla2xxx: Do not reset ISP for error entry with an out of range handle.Chad Dupuis1-7/+1
Instead of resetting the adapter wait for the login to timeout and retry. Resetting the adapter can cause extended path recovery times. Signed-off-by: Chad Dupuis <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26qla2xxx: Do not reset adapter if SRB handle is in range.Chad Dupuis3-11/+15
If an SRB is NULL but the handle is in range just drop the command instead of also resetting the adapter. If the handle is in range then the command was valid at some point and may have been aborted. Resetting the adapter can lead to extended recovery times in this case. Signed-off-by: Chad Dupuis <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26qla2xxx: Do not crash system for sp ref count zeroHiral Patel1-1/+1
Aovid crashing the system in the scenario where firmware just completes the command and it can not find the command during abort mailbox processing. This scenario can lead to sp reference counter being zero. Instead of crashing the system, use WARN_ON to print warning in log file. Signed-off-by: Hiral Patel <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26qla2xxx: Add adapter checks for FAWWN functionality.Saurav Kashyap2-14/+17
Signed-off-by: Saurav Kashyap <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26qla2xxx: Pause risc before manipulating risc semaphore.Joe Carnuccio1-0/+3
Signed-off-by: Joe Carnuccio <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26qla2xxx: Use ssdid to gate semaphore manipulation.Joe Carnuccio1-2/+2
Execute qla25xx_manipulate_risc_semaphore() only for ssdid 0x0175 and 0x0240. Signed-off-by: Joe Carnuccio <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26qla2xxx: Handle AEN8014 incoming port logout.Joe Carnuccio2-4/+33
When we get logged out, mark the port lost and set dpc flag for relogin. Signed-off-by: Joe Carnuccio <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26qla2xxx: Add serdes register read/write support for ISP25xx.Joe Carnuccio1-2/+4
Signed-off-by: Joe Carnuccio <[email protected]> Signed-off-by: Himanshu Madhani <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26scsi_error: should not get sense for timeout IO in scsi error handler[email protected]1-0/+5
scsi_error: should not get sense for timeout IO in scsi error handler When an IO timeout occurs, the IO will be aborted in scsi_abort_command() and SCSI_EH_ABORT_SCHEDULED will be set. Because of that, the SCSI_EH_CANCEL_CMD will be clear in scsi_eh_scmd_add(). So when scsi error handler starts, it will get sense for this timeout IO and the scmd of the IO request will be reused. In that case, the scmd may be double released when racing with io_done(), which will result in crash. SO SCSI_EH_ABORT_SCHEDULED should also be checked when getting sense. The bug maybe reproduced when the link between host and disk is unstable. Signed-off-by: Jiang Biao <[email protected]> Signed-off-by: Long Chun <[email protected]> Reviewed-by: Tan Hu <[email protected]> Reviewed-by: Chen Donghai <[email protected]> Reviewed-by: Cai Qu <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26pm80xx: Bump pm80xx driver version to 0.1.38Viswas G1-1/+1
Bump pm80xx driver version to 0.1.38. Signed-off-by: Viswas G <[email protected]> Reviewed-by: Suresh Thiagarajan <[email protected]> Reviewed-by: Hannes Reinecke <[email protected]> Reviewed-by: Jack Wang <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26pm80xx: Handling Invalid SSP Response frameViswas G2-1/+8
The request has to be retried incase if the length of the SSP Response IU is invalid. Signed-off-by: Viswas G <[email protected]> Reviewed-by: Suresh Thiagarajan <[email protected]> Reviewed-by: Hannes Reinecke <[email protected]> Reviewed-by: Jack Wang <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26pm80xx: Add PORT RECOVERY TIMEOUT supportViswas G2-17/+68
PORT RECOVERY TIMEOUT is the maximum time between the controller's detection of the PHY down until the receipt of the ID_Frame (from the same remote SAS port). If the time expires before the ID_FRAME is received, the port is considered INVALID and can be removed. The IOP_EVENT_PORT_RECOVERY_TIMER_TMO event is reported following the IOP_EVENT_ PHY_DOWN event when the PHY/port does not recover after Port Recovery Time. Signed-off-by: Viswas G <[email protected]> Reviewed-by: Suresh Thiagarajan <[email protected]> Reviewed-by: Hannes Reinecke <[email protected]> Reviewed-by: Jack Wang <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26pm80xx: Remove unnecessary phy disconnect while link errorViswas G1-12/+0
If the link error happens, we don't need to disconnect the phy, which will remove the drive. Instead acknowledging the controller and logging the error will be enough. Signed-off-by: Viswas G <[email protected]> Reviewed-by: Suresh Thiagarajan <[email protected]> Reviewed-by: Hannes Reinecke <[email protected]> Reviewed-by: Jack Wang <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26pm80xx: Fix for Incorrect DMA Unmapping of SG ListViswas G1-0/+1
In pm8001_ccb_task_free(), the dma unmapping is done based on ccb->n_elem value. This should be initialized to zero in the task_abort(). Otherwise, pm8001_ccb_task_free() will try for dma_unmap_sg() which is invalid for task abort and can lead to kernel crash. Changes From V1: None Signed-off-by: Viswas G <[email protected]> Reviewed-by: Suresh Thiagarajan <[email protected]> Reviewed-by: Hannes Reinecke <[email protected]> Reviewed-by: Jack Wang <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26pm80xx: Update For Thermal Page CodeViswas G2-2/+10
Thermal page code has been changed to 7 for the 12G controllers. Signed-off-by: Viswas G <[email protected]> Reviewed-by: Suresh Thiagarajan <[email protected]> Reviewed-by: Hannes Reinecke <[email protected]> Reviewed-by: Jack Wang <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26pm80xx: Corrected device state changes in I_T_Nexus_Reset.Viswas G2-5/+21
In Nexus reset the device state request are not needed. Signed-off-by: Viswas G <[email protected]> Reviewed-by: Suresh Thiagarajan <[email protected]> Acked-by: Jack Wang <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26pm80xx: Updated link rateViswas G2-0/+5
Updated 12G linkrate to libsas. Signed-off-by: Viswas G <[email protected]> Reviewed-by: Suresh Thiagarajan <[email protected]> Reviewed-by: Hannes Reinecke <[email protected]> Reviewed-by: Jack Wang <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26MAINTAINERS: update email for pm8001Jack Wang1-1/+1
Company has policy to use company email address, so update my email address to company address. Signed-off-by: Jack Wang <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26lpfc: Use && instead of & for boolean expressionSebastian Herbszt1-1/+1
Use logical instead of bitwise AND. Signed-off-by: Sebastian Herbszt <[email protected]> Reviewed-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26qla2xxx: Return the fabric command state for non-task management requestsDilip Kumar Uppugandla1-0/+6
Invoking get_cmd_state for qla2xxx always returns 0. Instead change it to return the actual fabric state from qla_tgt_cmd. This will help with debugging. Signed-off-by: Dilip Kumar Uppugandla <[email protected]> Signed-off-by: Spencer Baugh <[email protected]> Acked-by: Himanshu Madhani <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26hpsa: fix rmmod issuesDon Brace1-2/+8
The driver is calling hpsa_shutdown before calling scsi_remove_host. hpsa_shutdown is disabling interrupts. scsi_remove_host can trigger I/O operations, such as SYNCHRONIZE CACHE when multipath is enabled which hang the system. Call scsi_remove_host before calling hpsa_shutdown. Reviewed-by: Kevin Barnett <[email protected]> Reviewed-by: Scott Teel <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: Don Brace <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26hpsa: fix issues with multilun devicesshane.seymour1-2/+4
A regression was introduced into the hpsa driver a while back so non-zero LUNs of multi-LUN devices may no longer be presented via a SAS based Smart Array. I have not done a bisection to discover the change that caused it. The CISS firmware specification (available on sourceforge) defines an 8 byte lunid that describes devices that the Smart Array can see/present to the system. The current code in the hpsa driver attempts to find matches for non-zero LUNs with LUN 0 for a bus/target by zeroing out byte 4 of the lunid and find a match. This method is sufficient for SCSI based Smart Arrays because byte 5 is always 0. For SAS based Smart arrays byte 5 of the lunid contains the path number for a multipath device and either one or two bits (the documentation does not define how many bits are used but it appears it may be one only) that indicate if the given path number in byte 5 must always be used to access that device. Byte 5 may not always be zero. The following are lunids (spaces added for clarity) for a MSL2024 single drive library connected via a H241 Smart Array: 00 00 00 00 01 00 00 01 (changer) 00 00 00 00 00 80 00 01 (tape) In the 4th byte (counting from 0) you can see that the tape is LUN 0 and the changer is LUN 1. The 0x80 set in the 5th byte for the tape drive means the driver should force access to path 0 (the library in this case was connected to one path only anyway). After the changes we can see the following in the dmesg output: scsi 0:3:0:0: RAID HP H241 1.18 \ PQ: 0 ANSI: 5 scsi 0:2:0:0: Sequential-Access HP Ultrium 6-SCSI 354W \ PQ: 0 ANSI: 6 scsi 0:2:0:1: Medium Changer HP MSL G3 Series 8.70 \ PQ: 0 ANSI: 5 Showing that the changer is correctly identified as LUN 1 of bus 2 target 0. Before the change the changer device is not seen. Suggested-by: shane.seymour <[email protected]> Reviewed-by: Kevin Barnett <[email protected]> Reviewed-by: Scott Teel <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: Don Brace <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26hpsa: add in new offline modeScott Benesh2-4/+12
prevent adding volumes that are not available. Reviewed-by: Kevin Barnett <[email protected]> Reviewed-by: Scott Teel <[email protected]> Reviewed-by: Justin Lindley <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: Don Brace <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26Change how controllers in mixed mode are handled.Kevin Barnett2-88/+11
Reviewed-by: Kevin Barnett <[email protected]> Reviewed-by: Scott Teel <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: Don Brace <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26hpsa: add in new controllersDon Brace1-0/+10
Reviewed-by: Kevin Barnett <[email protected]> Reviewed-by: Scott Teel <[email protected]> Signed-off-by: Don Brace <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26hpsa: cleanup update scsi devicesDon Brace1-3/+3
showing that tables have been updated unnecessarily. Reviewed-by: Kevin Barnett <[email protected]> Reviewed-by: Scott Teel <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: Don Brace <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26hpsa: add sysfs entry path_info to show box and bay informationJoe Handzik2-0/+127
host no, bus, target, lun, scsi_device_type for hba mode add: box and bay information report if the path is active/inactive Reviewed-by: Kevin Barnett <[email protected]> Reviewed-by: Scott Teel <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: Don Brace <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26hpsa: add PMC to copyrightDon Brace3-18/+9
need to add PMC to copyright notice and update the Hewlett-Packard copyright notification. Reviewed-by: Scott Teel <[email protected]> Reviewed-by: Kevin Barnett <[email protected]> Reviewed-by: Justin Lindley <[email protected]> Signed-off-by: Don Brace <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26hpsa: correct static checker warnings on driver init cleanupDon Brace1-3/+1
Reported-by: Dan Carpenter <[email protected]> Reviewed-by: Kevin Barnett <[email protected]> Reviewed-by: Scott Teel <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: Don Brace <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2015-08-26hpsa: correct decode sense dataDon Brace1-1/+1
Reported-by: Dan Carpenter <[email protected]> Reviewed-by: Kevin Barnett <[email protected]> Reviewed-by: Scott Teel <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: Don Brace <[email protected]> Signed-off-by: James Bottomley <[email protected]>