Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI updates from James Bottomley: "This update includes the usual round of major driver updates (ncr5380, lpfc, hisi_sas, megaraid_sas, ufs, ibmvscsis, mpt3sas). There's also an assortment of minor fixes, mostly in error legs or other not very user visible stuff. The major change is the pci_alloc_irq_vectors replacement for the old pci_msix_.. calls; this effectively makes IRQ mapping generic for the drivers and allows blk_mq to use the information" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (256 commits) scsi: qla4xxx: switch to pci_alloc_irq_vectors scsi: hisi_sas: support deferred probe for v2 hw scsi: megaraid_sas: switch to pci_alloc_irq_vectors scsi: scsi_devinfo: remove synchronous ALUA for NETAPP devices scsi: be2iscsi: set errno on error path scsi: be2iscsi: set errno on error path scsi: hpsa: fallback to use legacy REPORT PHYS command scsi: scsi_dh_alua: Fix RCU annotations scsi: hpsa: use %phN for short hex dumps scsi: hisi_sas: fix free'ing in probe and remove scsi: isci: switch to pci_alloc_irq_vectors scsi: ipr: Fix runaway IRQs when falling back from MSI to LSI scsi: dpt_i2o: double free on error path scsi: cxlflash: Migrate scsi command pointer to AFU command scsi: cxlflash: Migrate IOARRIN specific routines to function pointers scsi: cxlflash: Cleanup queuecommand() scsi: cxlflash: Cleanup send_tmf() scsi: cxlflash: Remove AFU command lock scsi: cxlflash: Wait for active AFU commands to timeout upon tear down scsi: cxlflash: Remove private command pool ...
This commit is contained in:
@@ -2585,10 +2585,7 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int sleepFlag)
|
||||
(void) GetLanConfigPages(ioc);
|
||||
a = (u8*)&ioc->lan_cnfg_page1.HardwareAddressLow;
|
||||
dprintk(ioc, printk(MYIOC_s_DEBUG_FMT
|
||||
"LanAddr = %02X:%02X:%02X"
|
||||
":%02X:%02X:%02X\n",
|
||||
ioc->name, a[5], a[4],
|
||||
a[3], a[2], a[1], a[0]));
|
||||
"LanAddr = %pMR\n", ioc->name, a));
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -2868,21 +2865,21 @@ MptDisplayIocCapabilities(MPT_ADAPTER *ioc)
|
||||
|
||||
printk(KERN_INFO "%s: ", ioc->name);
|
||||
if (ioc->prod_name)
|
||||
printk("%s: ", ioc->prod_name);
|
||||
printk("Capabilities={");
|
||||
pr_cont("%s: ", ioc->prod_name);
|
||||
pr_cont("Capabilities={");
|
||||
|
||||
if (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_INITIATOR) {
|
||||
printk("Initiator");
|
||||
pr_cont("Initiator");
|
||||
i++;
|
||||
}
|
||||
|
||||
if (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_TARGET) {
|
||||
printk("%sTarget", i ? "," : "");
|
||||
pr_cont("%sTarget", i ? "," : "");
|
||||
i++;
|
||||
}
|
||||
|
||||
if (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_LAN) {
|
||||
printk("%sLAN", i ? "," : "");
|
||||
pr_cont("%sLAN", i ? "," : "");
|
||||
i++;
|
||||
}
|
||||
|
||||
@@ -2891,12 +2888,12 @@ MptDisplayIocCapabilities(MPT_ADAPTER *ioc)
|
||||
* This would probably evoke more questions than it's worth
|
||||
*/
|
||||
if (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_TARGET) {
|
||||
printk("%sLogBusAddr", i ? "," : "");
|
||||
pr_cont("%sLogBusAddr", i ? "," : "");
|
||||
i++;
|
||||
}
|
||||
#endif
|
||||
|
||||
printk("}\n");
|
||||
pr_cont("}\n");
|
||||
}
|
||||
|
||||
/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
|
||||
@@ -6783,8 +6780,7 @@ static int mpt_iocinfo_proc_show(struct seq_file *m, void *v)
|
||||
if (ioc->bus_type == FC) {
|
||||
if (ioc->pfacts[p].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_LAN) {
|
||||
u8 *a = (u8*)&ioc->lan_cnfg_page1.HardwareAddressLow;
|
||||
seq_printf(m, " LanAddr = %02X:%02X:%02X:%02X:%02X:%02X\n",
|
||||
a[5], a[4], a[3], a[2], a[1], a[0]);
|
||||
seq_printf(m, " LanAddr = %pMR\n", a);
|
||||
}
|
||||
seq_printf(m, " WWN = %08X%08X:%08X%08X\n",
|
||||
ioc->fc_port_page0[p].WWNN.High,
|
||||
@@ -6861,8 +6857,7 @@ mpt_print_ioc_summary(MPT_ADAPTER *ioc, char *buffer, int *size, int len, int sh
|
||||
|
||||
if (showlan && (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_LAN)) {
|
||||
u8 *a = (u8*)&ioc->lan_cnfg_page1.HardwareAddressLow;
|
||||
y += sprintf(buffer+len+y, ", LanAddr=%02X:%02X:%02X:%02X:%02X:%02X",
|
||||
a[5], a[4], a[3], a[2], a[1], a[0]);
|
||||
y += sprintf(buffer+len+y, ", LanAddr=%pMR", a);
|
||||
}
|
||||
|
||||
y += sprintf(buffer+len+y, ", IRQ=%d", ioc->pci_irq);
|
||||
@@ -6896,8 +6891,7 @@ static void seq_mpt_print_ioc_summary(MPT_ADAPTER *ioc, struct seq_file *m, int
|
||||
|
||||
if (showlan && (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_LAN)) {
|
||||
u8 *a = (u8*)&ioc->lan_cnfg_page1.HardwareAddressLow;
|
||||
seq_printf(m, ", LanAddr=%02X:%02X:%02X:%02X:%02X:%02X",
|
||||
a[5], a[4], a[3], a[2], a[1], a[0]);
|
||||
seq_printf(m, ", LanAddr=%pMR", a);
|
||||
}
|
||||
|
||||
seq_printf(m, ", IRQ=%d", ioc->pci_irq);
|
||||
|
@@ -1366,15 +1366,10 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt)
|
||||
/* Default to untagged. Once a target structure has been allocated,
|
||||
* use the Inquiry data to determine if device supports tagged.
|
||||
*/
|
||||
if ((vdevice->vtarget->tflags & MPT_TARGET_FLAGS_Q_YES)
|
||||
&& (SCpnt->device->tagged_supported)) {
|
||||
if ((vdevice->vtarget->tflags & MPT_TARGET_FLAGS_Q_YES) &&
|
||||
SCpnt->device->tagged_supported)
|
||||
scsictl = scsidir | MPI_SCSIIO_CONTROL_SIMPLEQ;
|
||||
if (SCpnt->request && SCpnt->request->ioprio) {
|
||||
if (((SCpnt->request->ioprio & 0x7) == 1) ||
|
||||
!(SCpnt->request->ioprio & 0x7))
|
||||
scsictl |= MPI_SCSIIO_CONTROL_HEADOFQ;
|
||||
}
|
||||
} else
|
||||
else
|
||||
scsictl = scsidir | MPI_SCSIIO_CONTROL_UNTAGGED;
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user