]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 22 Jun 2019 16:39:03 +0000 (09:39 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 22 Jun 2019 16:39:03 +0000 (09:39 -0700)
Pull SCSI fixes from James Bottomley:
 "Three driver fixes (and one version number update): a suspend hang in
  ufs, a qla hard lock on module removal and a qedi panic during
  discovery"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
  scsi: qla2xxx: Fix hardlockup in abort command during driver remove
  scsi: ufs: Avoid runtime suspend possibly being blocked forever
  scsi: qedi: update driver version to 8.37.0.20
  scsi: qedi: Check targetname while finding boot target information

drivers/scsi/qedi/qedi_main.c
drivers/scsi/qedi/qedi_version.h
drivers/scsi/qla2xxx/qla_os.c
drivers/scsi/ufs/ufshcd-pltfrm.c

index 8814bfcb64493f8c67876f3bdd895052a6bd7e8d..f210a3e0c9b1b6ecf4a07dfc1824ac9174ed7c97 100644 (file)
@@ -987,6 +987,9 @@ static int qedi_find_boot_info(struct qedi_ctx *qedi,
                if (!iscsi_is_session_online(cls_sess))
                        continue;
 
+               if (!sess->targetname)
+                       continue;
+
                if (pri_ctrl_flags) {
                        if (!strcmp(pri_tgt->iscsi_name, sess->targetname) &&
                            !strcmp(pri_tgt->ip_addr, ep_ip_addr)) {
index f56f0ba0c4a804d5114af004ac858a3c86679afd..0ac1055bd42058b559c67d4b901e4c78625bac0f 100644 (file)
@@ -4,8 +4,8 @@
  * Copyright (c) 2016 Cavium Inc.
  */
 
-#define QEDI_MODULE_VERSION    "8.33.0.21"
+#define QEDI_MODULE_VERSION    "8.37.0.20"
 #define QEDI_DRIVER_MAJOR_VER          8
-#define QEDI_DRIVER_MINOR_VER          33
+#define QEDI_DRIVER_MINOR_VER          37
 #define QEDI_DRIVER_REV_VER            0
-#define QEDI_DRIVER_ENG_VER            21
+#define QEDI_DRIVER_ENG_VER            20
index 172ef21827ddfa52efc23bfcf67f56aeeb08c214..d056f5e7cf9306381631aaf1088b41ecf4bbc972 100644 (file)
@@ -1731,8 +1731,8 @@ static void qla2x00_abort_srb(struct qla_qpair *qp, srb_t *sp, const int res,
             !test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags) &&
             !qla2x00_isp_reg_stat(ha))) {
                sp->comp = &comp;
-               rval = ha->isp_ops->abort_command(sp);
                spin_unlock_irqrestore(qp->qp_lock_ptr, *flags);
+               rval = ha->isp_ops->abort_command(sp);
 
                switch (rval) {
                case QLA_SUCCESS:
index 8a74ec30c3d21af5149787069ac4debdfc99cc85..d7d521b394c3cc820387fddb8353bf3097c39a90 100644 (file)
@@ -430,24 +430,21 @@ int ufshcd_pltfrm_init(struct platform_device *pdev,
                goto dealloc_host;
        }
 
-       pm_runtime_set_active(&pdev->dev);
-       pm_runtime_enable(&pdev->dev);
-
        ufshcd_init_lanes_per_dir(hba);
 
        err = ufshcd_init(hba, mmio_base, irq);
        if (err) {
                dev_err(dev, "Initialization failed\n");
-               goto out_disable_rpm;
+               goto dealloc_host;
        }
 
        platform_set_drvdata(pdev, hba);
 
+       pm_runtime_set_active(&pdev->dev);
+       pm_runtime_enable(&pdev->dev);
+
        return 0;
 
-out_disable_rpm:
-       pm_runtime_disable(&pdev->dev);
-       pm_runtime_set_suspended(&pdev->dev);
 dealloc_host:
        ufshcd_dealloc_host(hba);
 out: