mirror of
https://github.com/torvalds/linux.git
synced 2024-11-30 16:11:38 +00:00
SCSI fixes on 20120923
This is a set of four essential fixes: two oops related (bnx2i, virtio-scsi), one data corruption related (hpsa) and one failure to boot due to interrupt routing issues (mpt2ss). Signed-off-by: James Bottomley <JBottomley@Parallels.com> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iQEcBAABAgAGBQJQXrUlAAoJEDeqqVYsXL0ME4oH/iy9TsFxk/GyEptEpCqhCh8m ZoOJs7ml2OdQYVpTpng359Yo1u8FDYz7CRE7CvTG9hgC+kz6nZ/HFWi/gmVFaMAu 3czMs1YdCdXX/xgSIs+AamN0MlUCnJ4n3XE7MopBybGEGSdn9IQdYkM2JTV1DADF clJqnPD2tF1FD9qxESPSGdsm+li3E/E1etzyRTcV86zwo2fLkzdBAsBBrpwyP4Dq JAaAGNb20ympxaDzpeT1a0HoYWG86GgJUkHWr1jEa+1l0DMEk2/Vz8x+fhVoRizn v8H4rW+ZhL+F4PbpVJqA/urVfuF9nvd7D9JI1rwCPJeHSDm1g1lksR4rhdkotlY= =l8/M -----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: "This is a set of four essential fixes: two oops related (bnx2i, virtio-scsi), one data corruption related (hpsa) and one failure to boot due to interrupt routing issues (mpt2ss). Signed-off-by: James Bottomley <JBottomley@Parallels.com>" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: [SCSI] hpsa: fix handling of protocol error [SCSI] mpt2sas: Fix for issue - Unable to boot from the drive connected to HBA [SCSI] bnx2i: Fixed NULL ptr deference for 1G bnx2 Linux iSCSI offload [SCSI] scsi: virtio-scsi: Fix address translation failure of HighMem pages used by sg list
This commit is contained in:
commit
0bf7a7056c
@ -1264,6 +1264,9 @@ int bnx2i_send_fw_iscsi_init_msg(struct bnx2i_hba *hba)
|
||||
int rc = 0;
|
||||
u64 mask64;
|
||||
|
||||
memset(&iscsi_init, 0x00, sizeof(struct iscsi_kwqe_init1));
|
||||
memset(&iscsi_init2, 0x00, sizeof(struct iscsi_kwqe_init2));
|
||||
|
||||
bnx2i_adjust_qp_size(hba);
|
||||
|
||||
iscsi_init.flags =
|
||||
|
@ -1315,8 +1315,9 @@ static void complete_scsi_command(struct CommandList *cp)
|
||||
}
|
||||
break;
|
||||
case CMD_PROTOCOL_ERR:
|
||||
cmd->result = DID_ERROR << 16;
|
||||
dev_warn(&h->pdev->dev, "cp %p has "
|
||||
"protocol error \n", cp);
|
||||
"protocol error\n", cp);
|
||||
break;
|
||||
case CMD_HARDWARE_ERR:
|
||||
cmd->result = DID_ERROR << 16;
|
||||
|
@ -1209,6 +1209,13 @@ _base_check_enable_msix(struct MPT2SAS_ADAPTER *ioc)
|
||||
u16 message_control;
|
||||
|
||||
|
||||
/* Check whether controller SAS2008 B0 controller,
|
||||
if it is SAS2008 B0 controller use IO-APIC instead of MSIX */
|
||||
if (ioc->pdev->device == MPI2_MFGPAGE_DEVID_SAS2008 &&
|
||||
ioc->pdev->revision == 0x01) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
base = pci_find_capability(ioc->pdev, PCI_CAP_ID_MSIX);
|
||||
if (!base) {
|
||||
dfailprintk(ioc, printk(MPT2SAS_INFO_FMT "msix not "
|
||||
|
@ -331,7 +331,7 @@ static void virtscsi_map_sgl(struct scatterlist *sg, unsigned int *p_idx,
|
||||
int i;
|
||||
|
||||
for_each_sg(table->sgl, sg_elem, table->nents, i)
|
||||
sg_set_buf(&sg[idx++], sg_virt(sg_elem), sg_elem->length);
|
||||
sg[idx++] = *sg_elem;
|
||||
|
||||
*p_idx = idx;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user