Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi

Pull SCSI fixes from James Bottomley:
"Five small and fairly minor fixes, all in drivers"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
scsi: scsi_devinfo: Add blacklist entry for HPE OPEN-V
scsi: ufs: ufs-mediatek: Fix HCI version in some platforms
scsi: qedf: Do not put host in qedf_vport_create() unconditionally
scsi: lpfc: Fix failure to transmit ABTS on FC link
scsi: target: core: Fix warning on realtime kernels

Changed files
+26 -18
drivers
+1 -3
drivers/scsi/lpfc/lpfc_sli.c
··· 20589 20589 abtswqe = &abtsiocb->wqe; 20590 20590 memset(abtswqe, 0, sizeof(*abtswqe)); 20591 20591 20592 - if (lpfc_is_link_up(phba)) 20592 + if (!lpfc_is_link_up(phba)) 20593 20593 bf_set(abort_cmd_ia, &abtswqe->abort_cmd, 1); 20594 - else 20595 - bf_set(abort_cmd_ia, &abtswqe->abort_cmd, 0); 20596 20594 bf_set(abort_cmd_criteria, &abtswqe->abort_cmd, T_XRI_TAG); 20597 20595 abtswqe->abort_cmd.rsrvd5 = 0; 20598 20596 abtswqe->abort_cmd.wqe_com.abort_tag = xritag;
+9 -11
drivers/scsi/qedf/qedf_main.c
··· 1827 1827 fcoe_wwn_to_str(vport->port_name, buf, sizeof(buf)); 1828 1828 QEDF_WARN(&(base_qedf->dbg_ctx), "Failed to create vport, " 1829 1829 "WWPN (0x%s) already exists.\n", buf); 1830 - goto err1; 1830 + return rc; 1831 1831 } 1832 1832 1833 1833 if (atomic_read(&base_qedf->link_state) != QEDF_LINK_UP) { 1834 1834 QEDF_WARN(&(base_qedf->dbg_ctx), "Cannot create vport " 1835 1835 "because link is not up.\n"); 1836 - rc = -EIO; 1837 - goto err1; 1836 + return -EIO; 1838 1837 } 1839 1838 1840 1839 vn_port = libfc_vport_create(vport, sizeof(struct qedf_ctx)); 1841 1840 if (!vn_port) { 1842 1841 QEDF_WARN(&(base_qedf->dbg_ctx), "Could not create lport " 1843 1842 "for vport.\n"); 1844 - rc = -ENOMEM; 1845 - goto err1; 1843 + return -ENOMEM; 1846 1844 } 1847 1845 1848 1846 fcoe_wwn_to_str(vport->port_name, buf, sizeof(buf)); ··· 1864 1866 if (rc) { 1865 1867 QEDF_ERR(&(base_qedf->dbg_ctx), "Could not allocate memory " 1866 1868 "for lport stats.\n"); 1867 - goto err2; 1869 + goto err; 1868 1870 } 1869 1871 1870 1872 fc_set_wwnn(vn_port, vport->node_name); ··· 1882 1884 if (rc) { 1883 1885 QEDF_WARN(&base_qedf->dbg_ctx, 1884 1886 "Error adding Scsi_Host rc=0x%x.\n", rc); 1885 - goto err2; 1887 + goto err; 1886 1888 } 1887 1889 1888 1890 /* Set default dev_loss_tmo based on module parameter */ ··· 1923 1925 vport_qedf->dbg_ctx.host_no = vn_port->host->host_no; 1924 1926 vport_qedf->dbg_ctx.pdev = base_qedf->pdev; 1925 1927 1926 - err2: 1928 + return 0; 1929 + 1930 + err: 1927 1931 scsi_host_put(vn_port->host); 1928 - err1: 1929 1932 return rc; 1930 1933 } 1931 1934 ··· 1967 1968 fc_lport_free_stats(vn_port); 1968 1969 1969 1970 /* Release Scsi_Host */ 1970 - if (vn_port->host) 1971 - scsi_host_put(vn_port->host); 1971 + scsi_host_put(vn_port->host); 1972 1972 1973 1973 out: 1974 1974 return 0;
+1
drivers/scsi/scsi_devinfo.c
··· 184 184 {"HP", "C3323-300", "4269", BLIST_NOTQ}, 185 185 {"HP", "C5713A", NULL, BLIST_NOREPORTLUN}, 186 186 {"HP", "DISK-SUBSYSTEM", "*", BLIST_REPORTLUN2}, 187 + {"HPE", "OPEN-", "*", BLIST_REPORTLUN2 | BLIST_TRY_VPD_PAGES}, 187 188 {"IBM", "AuSaV1S2", NULL, BLIST_FORCELUN}, 188 189 {"IBM", "ProFibre 4000R", "*", BLIST_SPARSELUN | BLIST_LARGELUN}, 189 190 {"IBM", "2105", NULL, BLIST_RETRY_HWERROR},
+14 -1
drivers/scsi/ufs/ufs-mediatek.c
··· 603 603 604 604 ret = ufshcd_dme_get(hba, UIC_ARG_MIB(PA_LOCALVERINFO), &ver); 605 605 if (!ret) { 606 - if (ver >= UFS_UNIPRO_VER_1_8) 606 + if (ver >= UFS_UNIPRO_VER_1_8) { 607 607 host->hw_ver.major = 3; 608 + /* 609 + * Fix HCI version for some platforms with 610 + * incorrect version 611 + */ 612 + if (hba->ufs_version < ufshci_version(3, 0)) 613 + hba->ufs_version = ufshci_version(3, 0); 614 + } 608 615 } 616 + } 617 + 618 + static u32 ufs_mtk_get_ufs_hci_version(struct ufs_hba *hba) 619 + { 620 + return hba->ufs_version; 609 621 } 610 622 611 623 /** ··· 1060 1048 static const struct ufs_hba_variant_ops ufs_hba_mtk_vops = { 1061 1049 .name = "mediatek.ufshci", 1062 1050 .init = ufs_mtk_init, 1051 + .get_ufs_hci_version = ufs_mtk_get_ufs_hci_version, 1063 1052 .setup_clocks = ufs_mtk_setup_clocks, 1064 1053 .hce_enable_notify = ufs_mtk_hce_enable_notify, 1065 1054 .link_startup_notify = ufs_mtk_link_startup_notify,
+1 -3
drivers/target/target_core_transport.c
··· 3121 3121 __releases(&cmd->t_state_lock) 3122 3122 __acquires(&cmd->t_state_lock) 3123 3123 { 3124 - 3125 - assert_spin_locked(&cmd->t_state_lock); 3126 - WARN_ON_ONCE(!irqs_disabled()); 3124 + lockdep_assert_held(&cmd->t_state_lock); 3127 3125 3128 3126 if (fabric_stop) 3129 3127 cmd->transport_state |= CMD_T_FABRIC_STOP;