summaryrefslogtreecommitdiffstats
path: root/drivers/message
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-12-14 13:49:33 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2016-12-14 13:49:33 -0500
commita829a8445f09036404060f4d6489cb13433f4304 (patch)
tree60067e1425239a9f372c10100ede39691c3d612b /drivers/message
parent84b6079134420f4635f23c2088a3892057b23bb0 (diff)
parentf5b893c947151d424a4ab55ea3a8544b81974b31 (diff)
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 ...
Diffstat (limited to 'drivers/message')
-rw-r--r--drivers/message/fusion/mptbase.c28
-rw-r--r--drivers/message/fusion/mptscsih.c11
2 files changed, 14 insertions, 25 deletions
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
index 89c7ed16b4df..1e73064b0fb2 100644
--- a/drivers/message/fusion/mptbase.c
+++ b/drivers/message/fusion/mptbase.c
@@ -2585,10 +2585,7 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int sleepFlag)
2585 (void) GetLanConfigPages(ioc); 2585 (void) GetLanConfigPages(ioc);
2586 a = (u8*)&ioc->lan_cnfg_page1.HardwareAddressLow; 2586 a = (u8*)&ioc->lan_cnfg_page1.HardwareAddressLow;
2587 dprintk(ioc, printk(MYIOC_s_DEBUG_FMT 2587 dprintk(ioc, printk(MYIOC_s_DEBUG_FMT
2588 "LanAddr = %02X:%02X:%02X" 2588 "LanAddr = %pMR\n", ioc->name, a));
2589 ":%02X:%02X:%02X\n",
2590 ioc->name, a[5], a[4],
2591 a[3], a[2], a[1], a[0]));
2592 } 2589 }
2593 break; 2590 break;
2594 2591
@@ -2868,21 +2865,21 @@ MptDisplayIocCapabilities(MPT_ADAPTER *ioc)
2868 2865
2869 printk(KERN_INFO "%s: ", ioc->name); 2866 printk(KERN_INFO "%s: ", ioc->name);
2870 if (ioc->prod_name) 2867 if (ioc->prod_name)
2871 printk("%s: ", ioc->prod_name); 2868 pr_cont("%s: ", ioc->prod_name);
2872 printk("Capabilities={"); 2869 pr_cont("Capabilities={");
2873 2870
2874 if (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_INITIATOR) { 2871 if (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_INITIATOR) {
2875 printk("Initiator"); 2872 pr_cont("Initiator");
2876 i++; 2873 i++;
2877 } 2874 }
2878 2875
2879 if (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_TARGET) { 2876 if (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_TARGET) {
2880 printk("%sTarget", i ? "," : ""); 2877 pr_cont("%sTarget", i ? "," : "");
2881 i++; 2878 i++;
2882 } 2879 }
2883 2880
2884 if (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_LAN) { 2881 if (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_LAN) {
2885 printk("%sLAN", i ? "," : ""); 2882 pr_cont("%sLAN", i ? "," : "");
2886 i++; 2883 i++;
2887 } 2884 }
2888 2885
@@ -2891,12 +2888,12 @@ MptDisplayIocCapabilities(MPT_ADAPTER *ioc)
2891 * This would probably evoke more questions than it's worth 2888 * This would probably evoke more questions than it's worth
2892 */ 2889 */
2893 if (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_TARGET) { 2890 if (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_TARGET) {
2894 printk("%sLogBusAddr", i ? "," : ""); 2891 pr_cont("%sLogBusAddr", i ? "," : "");
2895 i++; 2892 i++;
2896 } 2893 }
2897#endif 2894#endif
2898 2895
2899 printk("}\n"); 2896 pr_cont("}\n");
2900} 2897}
2901 2898
2902/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ 2899/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
@@ -6783,8 +6780,7 @@ static int mpt_iocinfo_proc_show(struct seq_file *m, void *v)
6783 if (ioc->bus_type == FC) { 6780 if (ioc->bus_type == FC) {
6784 if (ioc->pfacts[p].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_LAN) { 6781 if (ioc->pfacts[p].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_LAN) {
6785 u8 *a = (u8*)&ioc->lan_cnfg_page1.HardwareAddressLow; 6782 u8 *a = (u8*)&ioc->lan_cnfg_page1.HardwareAddressLow;
6786 seq_printf(m, " LanAddr = %02X:%02X:%02X:%02X:%02X:%02X\n", 6783 seq_printf(m, " LanAddr = %pMR\n", a);
6787 a[5], a[4], a[3], a[2], a[1], a[0]);
6788 } 6784 }
6789 seq_printf(m, " WWN = %08X%08X:%08X%08X\n", 6785 seq_printf(m, " WWN = %08X%08X:%08X%08X\n",
6790 ioc->fc_port_page0[p].WWNN.High, 6786 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
6861 6857
6862 if (showlan && (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_LAN)) { 6858 if (showlan && (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_LAN)) {
6863 u8 *a = (u8*)&ioc->lan_cnfg_page1.HardwareAddressLow; 6859 u8 *a = (u8*)&ioc->lan_cnfg_page1.HardwareAddressLow;
6864 y += sprintf(buffer+len+y, ", LanAddr=%02X:%02X:%02X:%02X:%02X:%02X", 6860 y += sprintf(buffer+len+y, ", LanAddr=%pMR", a);
6865 a[5], a[4], a[3], a[2], a[1], a[0]);
6866 } 6861 }
6867 6862
6868 y += sprintf(buffer+len+y, ", IRQ=%d", ioc->pci_irq); 6863 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
6896 6891
6897 if (showlan && (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_LAN)) { 6892 if (showlan && (ioc->pfacts[0].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_LAN)) {
6898 u8 *a = (u8*)&ioc->lan_cnfg_page1.HardwareAddressLow; 6893 u8 *a = (u8*)&ioc->lan_cnfg_page1.HardwareAddressLow;
6899 seq_printf(m, ", LanAddr=%02X:%02X:%02X:%02X:%02X:%02X", 6894 seq_printf(m, ", LanAddr=%pMR", a);
6900 a[5], a[4], a[3], a[2], a[1], a[0]);
6901 } 6895 }
6902 6896
6903 seq_printf(m, ", IRQ=%d", ioc->pci_irq); 6897 seq_printf(m, ", IRQ=%d", ioc->pci_irq);
diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c
index 6c9fc11efb87..08a807d6a44f 100644
--- a/drivers/message/fusion/mptscsih.c
+++ b/drivers/message/fusion/mptscsih.c
@@ -1366,15 +1366,10 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt)
1366 /* Default to untagged. Once a target structure has been allocated, 1366 /* Default to untagged. Once a target structure has been allocated,
1367 * use the Inquiry data to determine if device supports tagged. 1367 * use the Inquiry data to determine if device supports tagged.
1368 */ 1368 */
1369 if ((vdevice->vtarget->tflags & MPT_TARGET_FLAGS_Q_YES) 1369 if ((vdevice->vtarget->tflags & MPT_TARGET_FLAGS_Q_YES) &&
1370 && (SCpnt->device->tagged_supported)) { 1370 SCpnt->device->tagged_supported)
1371 scsictl = scsidir | MPI_SCSIIO_CONTROL_SIMPLEQ; 1371 scsictl = scsidir | MPI_SCSIIO_CONTROL_SIMPLEQ;
1372 if (SCpnt->request && SCpnt->request->ioprio) { 1372 else
1373 if (((SCpnt->request->ioprio & 0x7) == 1) ||
1374 !(SCpnt->request->ioprio & 0x7))
1375 scsictl |= MPI_SCSIIO_CONTROL_HEADOFQ;
1376 }
1377 } else
1378 scsictl = scsidir | MPI_SCSIIO_CONTROL_UNTAGGED; 1373 scsictl = scsidir | MPI_SCSIIO_CONTROL_UNTAGGED;
1379 1374
1380 1375