SCSI fixes on 20200418
Seven fixes; three in target, one on a sg error leg, two in qla2xxx fixing warnings introduced in the last merge window and updating MAINTAINERS and one in hisi_sas fixing a problem introduced by libata. Signed-off-by: James E.J. Bottomley <jejb@linux.ibm.com> -----BEGIN PGP SIGNATURE----- iJwEABMIAEQWIQTnYEDbdso9F2cI+arnQslM7pishQUCXptd+CYcamFtZXMuYm90 dG9tbGV5QGhhbnNlbnBhcnRuZXJzaGlwLmNvbQAKCRDnQslM7pishbngAP46suq5 KFaRycXl1lmznlPmM7gyFfszxDV3hp9SusFrzgEAxV4S6vdgEsF2pd5F6EYZoV0i eCPKR6qDY4SaiUcGFRA= =B9UG -----END PGP SIGNATURE----- Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "Seven fixes: three in target, one on a sg error leg, two in qla2xxx fixing warnings introduced in the last merge window and updating MAINTAINERS and one in hisi_sas fixing a problem introduced by libata" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: scsi: sg: add sg_remove_request in sg_common_write scsi: target: tcmu: reset_ring should reset TCMU_DEV_BIT_BROKEN scsi: target: fix PR IN / READ FULL STATUS for FC scsi: target: Write NULL to *port_nexus_ptr if no ISID scsi: MAINTAINERS: Update qla2xxx FC-SCSI driver maintainer scsi: qla2xxx: Fix regression warnings scsi: hisi_sas: Fix build error without SATA_HOSTalistair/sensors
commit
50cc09c189
|
@ -13857,7 +13857,8 @@ S: Maintained
|
||||||
F: drivers/scsi/qla1280.[ch]
|
F: drivers/scsi/qla1280.[ch]
|
||||||
|
|
||||||
QLOGIC QLA2XXX FC-SCSI DRIVER
|
QLOGIC QLA2XXX FC-SCSI DRIVER
|
||||||
M: hmadhani@marvell.com
|
M: Nilesh Javali <njavali@marvell.com>
|
||||||
|
M: GR-QLogic-Storage-Upstream@marvell.com
|
||||||
L: linux-scsi@vger.kernel.org
|
L: linux-scsi@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: Documentation/scsi/LICENSE.qla2xxx
|
F: Documentation/scsi/LICENSE.qla2xxx
|
||||||
|
|
|
@ -6,6 +6,7 @@ config SCSI_HISI_SAS
|
||||||
select SCSI_SAS_LIBSAS
|
select SCSI_SAS_LIBSAS
|
||||||
select BLK_DEV_INTEGRITY
|
select BLK_DEV_INTEGRITY
|
||||||
depends on ATA
|
depends on ATA
|
||||||
|
select SATA_HOST
|
||||||
help
|
help
|
||||||
This driver supports HiSilicon's SAS HBA, including support based
|
This driver supports HiSilicon's SAS HBA, including support based
|
||||||
on platform device
|
on platform device
|
||||||
|
|
|
@ -2539,7 +2539,6 @@ ql_dbg(uint level, scsi_qla_host_t *vha, uint id, const char *fmt, ...)
|
||||||
{
|
{
|
||||||
va_list va;
|
va_list va;
|
||||||
struct va_format vaf;
|
struct va_format vaf;
|
||||||
char pbuf[64];
|
|
||||||
|
|
||||||
va_start(va, fmt);
|
va_start(va, fmt);
|
||||||
|
|
||||||
|
@ -2547,6 +2546,8 @@ ql_dbg(uint level, scsi_qla_host_t *vha, uint id, const char *fmt, ...)
|
||||||
vaf.va = &va;
|
vaf.va = &va;
|
||||||
|
|
||||||
if (!ql_mask_match(level)) {
|
if (!ql_mask_match(level)) {
|
||||||
|
char pbuf[64];
|
||||||
|
|
||||||
if (vha != NULL) {
|
if (vha != NULL) {
|
||||||
const struct pci_dev *pdev = vha->hw->pdev;
|
const struct pci_dev *pdev = vha->hw->pdev;
|
||||||
/* <module-name> <msg-id>:<host> Message */
|
/* <module-name> <msg-id>:<host> Message */
|
||||||
|
|
|
@ -3611,8 +3611,6 @@ qla24xx_detect_sfp(scsi_qla_host_t *vha)
|
||||||
ha->lr_distance = LR_DISTANCE_5K;
|
ha->lr_distance = LR_DISTANCE_5K;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!vha->flags.init_done)
|
|
||||||
rc = QLA_SUCCESS;
|
|
||||||
out:
|
out:
|
||||||
ql_dbg(ql_dbg_async, vha, 0x507b,
|
ql_dbg(ql_dbg_async, vha, 0x507b,
|
||||||
"SFP detect: %s-Range SFP %s (nvr=%x ll=%x lr=%x lrd=%x).\n",
|
"SFP detect: %s-Range SFP %s (nvr=%x ll=%x lr=%x lrd=%x).\n",
|
||||||
|
|
|
@ -87,7 +87,6 @@ qla24xx_process_abts(struct scsi_qla_host *vha, void *pkt)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* terminate exchange */
|
/* terminate exchange */
|
||||||
memset(rsp_els, 0, sizeof(*rsp_els));
|
|
||||||
rsp_els->entry_type = ELS_IOCB_TYPE;
|
rsp_els->entry_type = ELS_IOCB_TYPE;
|
||||||
rsp_els->entry_count = 1;
|
rsp_els->entry_count = 1;
|
||||||
rsp_els->nport_handle = ~0;
|
rsp_els->nport_handle = ~0;
|
||||||
|
|
|
@ -4894,8 +4894,6 @@ qla25xx_set_els_cmds_supported(scsi_qla_host_t *vha)
|
||||||
return QLA_MEMORY_ALLOC_FAILED;
|
return QLA_MEMORY_ALLOC_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
memset(els_cmd_map, 0, ELS_CMD_MAP_SIZE);
|
|
||||||
|
|
||||||
els_cmd_map[index] |= 1 << bit;
|
els_cmd_map[index] |= 1 << bit;
|
||||||
|
|
||||||
mcp->mb[0] = MBC_SET_RNID_PARAMS;
|
mcp->mb[0] = MBC_SET_RNID_PARAMS;
|
||||||
|
|
|
@ -793,8 +793,10 @@ sg_common_write(Sg_fd * sfp, Sg_request * srp,
|
||||||
"sg_common_write: scsi opcode=0x%02x, cmd_size=%d\n",
|
"sg_common_write: scsi opcode=0x%02x, cmd_size=%d\n",
|
||||||
(int) cmnd[0], (int) hp->cmd_len));
|
(int) cmnd[0], (int) hp->cmd_len));
|
||||||
|
|
||||||
if (hp->dxfer_len >= SZ_256M)
|
if (hp->dxfer_len >= SZ_256M) {
|
||||||
|
sg_remove_request(sfp, srp);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
k = sg_start_req(srp, cmnd);
|
k = sg_start_req(srp, cmnd);
|
||||||
if (k) {
|
if (k) {
|
||||||
|
|
|
@ -63,7 +63,7 @@ static int fc_get_pr_transport_id(
|
||||||
* encoded TransportID.
|
* encoded TransportID.
|
||||||
*/
|
*/
|
||||||
ptr = &se_nacl->initiatorname[0];
|
ptr = &se_nacl->initiatorname[0];
|
||||||
for (i = 0; i < 24; ) {
|
for (i = 0; i < 23; ) {
|
||||||
if (!strncmp(&ptr[i], ":", 1)) {
|
if (!strncmp(&ptr[i], ":", 1)) {
|
||||||
i++;
|
i++;
|
||||||
continue;
|
continue;
|
||||||
|
@ -341,7 +341,8 @@ static char *iscsi_parse_pr_out_transport_id(
|
||||||
*p = tolower(*p);
|
*p = tolower(*p);
|
||||||
p++;
|
p++;
|
||||||
}
|
}
|
||||||
}
|
} else
|
||||||
|
*port_nexus_ptr = NULL;
|
||||||
|
|
||||||
return &buf[4];
|
return &buf[4];
|
||||||
}
|
}
|
||||||
|
|
|
@ -2073,6 +2073,7 @@ static void tcmu_reset_ring(struct tcmu_dev *udev, u8 err_level)
|
||||||
mb->cmd_tail = 0;
|
mb->cmd_tail = 0;
|
||||||
mb->cmd_head = 0;
|
mb->cmd_head = 0;
|
||||||
tcmu_flush_dcache_range(mb, sizeof(*mb));
|
tcmu_flush_dcache_range(mb, sizeof(*mb));
|
||||||
|
clear_bit(TCMU_DEV_BIT_BROKEN, &udev->flags);
|
||||||
|
|
||||||
del_timer(&udev->cmd_timer);
|
del_timer(&udev->cmd_timer);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue