summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [SCSI] lpfc 8.3.45: Update lpfc version to driver version 8.3.45James Smart2014-03-151-1/+1
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.45: Fixed crash during driver unload.James Smart2014-03-153-9/+28
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.45: Fixed driver error messages after firmware downloadJames Smart2014-03-151-8/+14
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.45: Fixed missing initialization for task management IOCBsJames Smart2014-03-151-0/+2
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.45: Fix sysfs buffer overrun in read of lpfc_fcp_cpu_map for ↵James Smart2014-03-153-6/+25
| | | | | | | 128 CPUs. Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.45: Incorporate changes to use reason in change_queue_depth ↵James Smart2014-03-154-113/+19
| | | | | | | function. Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.45: Incorporated support of a low-latency io pathJames Smart2014-03-1513-75/+1622
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.45: Added dport mailbox pass through support.James Smart2014-03-152-0/+5
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.44: Update lpfc version to driver version 8.3.44James Smart2014-03-151-1/+1
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.44: Fixed unassigned variable in ELS timeout messageJames Smart2014-03-151-0/+1
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.44: Fixed incorrect allocation of iDiags directories/files ↵James Smart2014-03-151-0/+10
| | | | | | | in debugfs Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.44: Fix kernel panics from corrupted ndlp listJames Smart2014-03-158-32/+110
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.44: Fix Crash in lpfc_els_timeout_handlerJames Smart2014-03-152-73/+84
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.44: Fixed stopped FCF discovery on failed FCF record readJames Smart2014-03-151-3/+9
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.44: Fixed IO hang when in msi mode.James Smart2014-03-152-1/+20
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Fixup looking for a space in the outstanding_cmds array in ↵Chad Dupuis2014-03-151-1/+1
| | | | | | | | qla2x00_alloc_iocbs(). Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Re-sync module parameter descriptions with the codeSteven J. Magnani2014-03-151-4/+6
| | | | | | | | | Fix module parameter descriptions mentioning default values that no longer match the code. Signed-off-by: Steven J. Magnani <steve@digidescorp.com> Acked-by: Chad Dupuis <chad.dupuis@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: fix error handling of qla2x00_mem_alloc()Dan Carpenter2014-03-151-3/+3
| | | | | | | | | | | | | | | qla2x00_mem_alloc() returns 1 on success and -ENOMEM on failure. On the one hand the caller assumes non-zero is success but on the other hand the caller also assumes that it returns an error code. I've fixed it to return zero on success and a negative error code on failure. This matches the documentation as well. [jejb: checkpatch fix] Fixes: e315cd28b9ef ('[SCSI] qla2xxx: Code changes for qla data structure refactoring') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] isci: fix needless ata reset escalationsDan Williams2014-03-151-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | isci is needlessly tying libata's hands by returning SAM_STAT_CHECK_CONDITION to some ata errors. Instead, prefer SAS_PROTO_RESPONSE to let libata (via sas_ata_task_done()) disposition the device-to-host fis. For example isci is triggering an HSM Violation where AHCI is showing a simple media error for the same bus condition: isci: ata7.00: failed command: READ VERIFY SECTOR(S) ata7.00: cmd 40/00:01:00:00:00/00:00:00:00:00/e0 tag 0 res 01/04:00:00:00:00/00:00:00:00:00/e0 Emask 0x3 (HSM violation) ahci: ata6.00: failed command: READ VERIFY SECTOR(S) ata6.00: cmd 40/00:01:00:00:00/00:00:00:00:00/e0 tag 0 res 51/40:01:00:00:00/00:00:00:00:00/e0 Emask 0x9 (media error) Note that the isci response matches this from sas_ata_task_done(): /* We saw a SAS error. Send a vague error. */ [..] dev->sata_dev.fis[3] = 0x04; /* status err */ dev->sata_dev.fis[2] = ATA_ERR; The end effect is that isci is needlessly triggering hard resets when they are not necessary. Reported-by: Xun Ni <xun.ni@intel.com> Tested-by: Nelson Cheng <nelson.cheng@intel.com> Acked-by: Lukasz Dorau <lukasz.dorau@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] libsas: introduce scmd_dbg() to quiet false positive "timeout" messagesDan Williams2014-03-152-1/+13
| | | | | | | | | | | | | | | | | | | libsas sometimes short circuits timeouts to force commands into error recovery. It is misleading to log that the command timed-out in sas_scsi_timed_out() when in fact it was just queued for error handling. It's also redundant in the case of a true timeout as libata eh will detect and report timeouts via it's AC_ERR_TIMEOUT facility. Given that some environments consider "timeout" errors to be indicative of impending device failure demote the sas_scsi_timed_out() timeout message to be disabled by default. This parallels ata_scsi_timed_out(). [jejb: checkpatch fix] Reported-by: Xun Ni <xun.ni@intel.com> Tested-by: Nelson Cheng <nelson.cheng@intel.com> Acked-by: Lukasz Dorau <lukasz.dorau@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Add IOCB Abort command asynchronous handling.Armen Baloyan2014-03-157-91/+140
| | | | | | | | Send aborts to the firmware via the request/response queue mechanism. Signed-off-by: Armen Baloyan <armen.baloyan@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Fix Task Management command asynchronous handlingArmen Baloyan2014-03-154-123/+69
| | | | | | | | | | - Fix interpreting the wrong IOCB type for task management functions in the response path. - Merge the task management function handling for various adapters. Signed-off-by: Armen Baloyan <armen.baloyan@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Correct the port no assignment for ISP82XX.Saurav Kashyap2014-03-151-1/+1
| | | | | | Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Update the driver version to 8.07.00.02-k.Saurav Kashyap2014-03-151-2/+2
| | | | | | Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Correctly set the read_optrom pointer for ISP8044.Saurav Kashyap2014-03-151-1/+1
| | | | | | Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Read capture firmware dump on mailbox timeout for ISP8044 ↵Chad Dupuis2014-03-156-2/+73
| | | | | | | | | | | | | and ISP82XX. Allow for the capture of a firmware dump but have a sysfs node (allow_cna_fw_dump) to allow the feature to be enabled/disabled dynamically. The default is off. Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Simplify the ISPFX00 interrupt handler code for ISPFX00.Saurav Kashyap2014-03-152-20/+9
| | | | | | Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Avoid poisoning in the response queue for ISPFX00.Saurav Kashyap2014-03-151-7/+8
| | | | | | Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Add changes in the IOCB structures to adjust driver source ↵Armen Baloyan2014-03-152-18/+18
| | | | | | | | codes to ISPFX00 firmware spec. Signed-off-by: Armen Baloyan <armen.baloyan@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Remove ISP_ABORT_NEEDED and ISP_ABORT_RETRY checks from ↵Atul Deshmukh2014-03-151-2/+0
| | | | | | | | watchdog function for ISP8044. Signed-off-by: Atul Deshmukh <atul.deshmukh@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Remove Marker type IOCB logic for ISPFX00.Armen Baloyan2014-03-153-46/+1
| | | | | | Signed-off-by: Armen Baloyan <armen.baloyan@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Add support for ISP2071.Chad Dupuis2014-03-1520-136/+1812
| | | | | | | | Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com> Signed-off-by: Armen Baloyan <armen.baloyan@qlogic.com> Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] scsi_transport_fc: Add 32Gbps speed definition.Chad Dupuis2014-03-152-0/+2
| | | | | | Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Set host can_queue value based on available resources.Chad Dupuis2014-03-151-9/+10
| | | | | | | | | Tell the mid-layer that number of commands we can queue is the available resources we have minus a small amount for internal commands. Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Properly handle 32 bit mailbox register for ISPFX00.Saurav Kashyap2014-03-151-6/+6
| | | | | | Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Enable the Flash Access Control (FAC) mailbox command.Joe Carnuccio2014-03-151-4/+1
| | | | | | Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Select correct request queue for error type IOCB for ISPFX00.Saurav Kashyap2014-03-151-1/+1
| | | | | | Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Remove init control block related dead code for ISPFX00.Saurav Kashyap2014-03-153-39/+0
| | | | | | Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Use proper message for Non owner reset ACK Timeout.Atul Deshmukh2014-03-151-2/+2
| | | | | | Signed-off-by: Atul Deshmukh <atul.deshmukh@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Replace constant value for IOCTL IOCB abort execution status ↵Armen Baloyan2014-03-152-1/+5
| | | | | | | | with a macro for ISPFX00. Signed-off-by: Armen Baloyan <armen.baloyan@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Add handling for boot indication progress AENs for ISPFX00.Armen Baloyan2014-03-152-1/+4
| | | | | | Signed-off-by: Armen Baloyan <armen.baloyan@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Add mutex around optrom calls to serialize accesses.Chad Dupuis2014-03-154-21/+54
| | | | | | Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] bnx2fc: Updated version to 2.4.2Eddie Wai2014-03-152-2/+2
| | | | | | | | Old version: 2.4.1 New version: 2.4.2 Signed-off-by: Eddie Wai <eddie.wai@broadcom.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] bnx2fc: Fixed the handling for the SCSI retry delayEddie Wai2014-03-153-1/+20
| | | | | | | | | SCSI retry delay upon SAM_STAT_BUSY/_SET_FULL was not being handled in bnx2fc. This patch adds such handling by returning TARGET_BUSY to the SCSI ML for the corresponding LUN until the retry timer expires. Signed-off-by: Eddie Wai <eddie.wai@broadcom.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] bnx2fc: Fixed scsi_remove_target soft lockup when rmmod bnx2xEddie Wai2014-03-151-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem has been identified to be a change in the scsi_remove_device path where a call to the pm_runtime_set_memalloc_noio was added when del_gendisk is called in this path. Note that the new pm routine attempts to cycle through all parent devices from the FC target device to set the memalloc_noio flag. Because of this new change, a dependency was created between the FC target device and the parent netdev device in the destroy path. In order to synchronized the destroy paths, bnx2fc has been modified to flush all destroy workqueues in the NETDEV_UNREGISTER return path. [ 4.123584] BUG: soft lockup - CPU#8 stuck for 22s! [kworker/8:3:8082] [ 4.123713] Call Trace: [ 4.123719] [<ffffffff815dfbe0>] klist_next+0x20/0xf0 [ 4.123725] [<ffffffff813e9220>] ? pm_save_wakeup_count+0x70/0x70 [ 4.123731] [<ffffffff813d9e4e>] device_for_each_child+0x4e/0x70 [ 4.123735] [<ffffffff813e9554>] pm_runtime_set_memalloc_noio+0x94/0xf0 [ 4.123740] [<ffffffff812d4d74>] del_gendisk+0x264/0x2a0 [ 4.123747] [<ffffffffa00c6dc9>] sd_remove+0x69/0xb0 [sd_mod] [ 4.123751] [<ffffffff813de24f>] __device_release_driver+0x7f/0xf0 [ 4.123754] [<ffffffff813de2e3>] device_release_driver+0x23/0x30 [ 4.123757] [<ffffffff813ddab4>] bus_remove_device+0xf4/0x170 [ 4.123760] [<ffffffff813da475>] device_del+0x135/0x1d0 [ 4.123765] [<ffffffff81411b75>] __scsi_remove_device+0xc5/0xd0 [ 4.123768] [<ffffffff81411ba6>] scsi_remove_device+0x26/0x40 [ 4.123770] [<ffffffff81411d40>] scsi_remove_target+0x160/0x210 [ 4.123775] [<ffffffffa0420e4c>] fc_rport_final_delete+0xac/0x1f0 [scsi_transport_fc] [ 4.123780] [<ffffffff810774ab>] process_one_work+0x17b/0x460 [ 4.123783] [<ffffffff8107825b>] worker_thread+0x11b/0x400 [ 4.123786] [<ffffffff81078140>] ? rescuer_thread+0x3e0/0x3e0 [ 4.123791] [<ffffffff8107e9c0>] kthread+0xc0/0xd0 [ 4.123794] [<ffffffff8107e900>] ? kthread_create_on_node+0x110/0x110 [ 4.123798] [<ffffffff8160ceec>] ret_from_fork+0x7c/0xb0 [ 4.123801] [<ffffffff8107e900>] ? kthread_create_on_node+0x110/0x110 Signed-off-by: Eddie Wai <eddie.wai@broadcom.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] pm80xx: Fixed return value issueViswas G2014-03-153-16/+9
| | | | | | | | | | pm80xx_get_gsm_dump() was returning "1" in error case instead of negative error value. Signed-off-by: Viswas G <Viswas.G@pmcs.com> Reviewed-by: Jack Wang <jinpu.wang@profitbricks.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] pm80xx: Removing redundant code snippetsViswas G2014-03-152-30/+11
| | | | | | | | | Removed redundant code snippets in pm8001_hwi.c and pm8001_ctl.c Signed-off-by: Viswas G <Viswas.G@pmcs.com> Reviewed-by: Jack Wang <jinpu.wang@profitbricks.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] storvsc: NULL pointer dereference fixAles Novak2014-03-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If the initialization of storvsc fails, the storvsc_device_destroy() causes NULL pointer dereference. storvsc_bus_scan() scsi_scan_target() __scsi_scan_target() scsi_probe_and_add_lun(hostdata=NULL) scsi_alloc_sdev(hostdata=NULL) sdev->hostdata = hostdata now the host allocation fails __scsi_remove_device(sdev) calls sdev->host->hostt->slave_destroy() == storvsc_device_destroy(sdev) access of sdev->hostdata->request_mempool Signed-off-by: Ales Novak <alnovak@suse.cz> Signed-off-by: Thomas Abraham <tabraham@suse.com> Reviewed-by: Jiri Kosina <jkosina@suse.cz> Acked-by: K. Y. Srinivasan <kys@microsoft.com> Cc: stable@vger.kernel.org Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] qla2xxx: Poll during initialization for ISP25xx and ISP83xxGiridhar Malavali2014-03-101-2/+1
| | | | | | | Cc: stable@vger.kernel.org Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] isci: correct erroneous for_each_isci_host macroLukasz Dorau2014-03-101-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the first place, the loop 'for' in the macro 'for_each_isci_host' (drivers/scsi/isci/host.h:314) is incorrect, because it accesses the 3rd element of 2 element array. After the 2nd iteration it executes the instruction: ihost = to_pci_info(pdev)->hosts[2] (while the size of the 'hosts' array equals 2) and reads an out of range element. In the second place, this loop is incorrectly optimized by GCC v4.8 (see http://marc.info/?l=linux-kernel&m=138998871911336&w=2). As a result, on platforms with two SCU controllers, the loop is executed more times than it can be (for i=0,1 and 2). It causes kernel panic during entering the S3 state and the following oops after 'rmmod isci': BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff8131360b>] __list_add+0x1b/0xc0 Oops: 0000 [#1] SMP RIP: 0010:[<ffffffff8131360b>] [<ffffffff8131360b>] __list_add+0x1b/0xc0 Call Trace: [<ffffffff81661b84>] __mutex_lock_slowpath+0x114/0x1b0 [<ffffffff81661c3f>] mutex_lock+0x1f/0x30 [<ffffffffa03e97cb>] sas_disable_events+0x1b/0x50 [libsas] [<ffffffffa03e9818>] sas_unregister_ha+0x18/0x60 [libsas] [<ffffffffa040316e>] isci_unregister+0x1e/0x40 [isci] [<ffffffffa0403efd>] isci_pci_remove+0x5d/0x100 [isci] [<ffffffff813391cb>] pci_device_remove+0x3b/0xb0 [<ffffffff813fbf7f>] __device_release_driver+0x7f/0xf0 [<ffffffff813fc8f8>] driver_detach+0xa8/0xb0 [<ffffffff813fbb8b>] bus_remove_driver+0x9b/0x120 [<ffffffff813fcf2c>] driver_unregister+0x2c/0x50 [<ffffffff813381f3>] pci_unregister_driver+0x23/0x80 [<ffffffffa04152f8>] isci_exit+0x10/0x1e [isci] [<ffffffff810d199b>] SyS_delete_module+0x16b/0x2d0 [<ffffffff81012a21>] ? do_notify_resume+0x61/0xa0 [<ffffffff8166ce29>] system_call_fastpath+0x16/0x1b The loop has been corrected. This patch fixes kernel panic during entering the S3 state and the above oops. Signed-off-by: Lukasz Dorau <lukasz.dorau@intel.com> Reviewed-by: Maciej Patelczyk <maciej.patelczyk@intel.com> Tested-by: Lukasz Dorau <lukasz.dorau@intel.com> Cc: <stable@vger.kernel.org> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
OpenPOWER on IntegriCloud