Commit fdfa3a67 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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

Pull misc SCSI fixes from James Bottomley:
 "Five small patches, all in drivers or doc, which missed the initial
  pull request.

  The qla2xxx and megaraid_sas are actual fixes and the rest are
  spelling and doc changes"

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
  scsi: ufs: fix spelling mistake "initilized" -> "initialized"
  scsi: pm80xx: fix spelling mistake "to" -> "too"
  scsi: MAINTAINERS: ufs: remove pedrom.sousa@synopsys.com
  scsi: megaraid_sas: fixup MSIx interrupt setup during resume
  scsi: qla2xxx: Fix unbound NVME response length
parents 291abfea e0a51425
...@@ -17138,7 +17138,6 @@ F: drivers/staging/unisys/ ...@@ -17138,7 +17138,6 @@ F: drivers/staging/unisys/
UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER
R: Alim Akhtar <alim.akhtar@samsung.com> R: Alim Akhtar <alim.akhtar@samsung.com>
R: Avri Altman <avri.altman@wdc.com> R: Avri Altman <avri.altman@wdc.com>
R: Pedro Sousa <pedrom.sousa@synopsys.com>
L: linux-scsi@vger.kernel.org L: linux-scsi@vger.kernel.org
S: Supported S: Supported
F: Documentation/scsi/ufs.txt F: Documentation/scsi/ufs.txt
......
...@@ -7604,7 +7604,6 @@ megasas_resume(struct pci_dev *pdev) ...@@ -7604,7 +7604,6 @@ megasas_resume(struct pci_dev *pdev)
int rval; int rval;
struct Scsi_Host *host; struct Scsi_Host *host;
struct megasas_instance *instance; struct megasas_instance *instance;
int irq_flags = PCI_IRQ_LEGACY;
u32 status_reg; u32 status_reg;
instance = pci_get_drvdata(pdev); instance = pci_get_drvdata(pdev);
...@@ -7673,16 +7672,15 @@ megasas_resume(struct pci_dev *pdev) ...@@ -7673,16 +7672,15 @@ megasas_resume(struct pci_dev *pdev)
atomic_set(&instance->ldio_outstanding, 0); atomic_set(&instance->ldio_outstanding, 0);
/* Now re-enable MSI-X */ /* Now re-enable MSI-X */
if (instance->msix_vectors) { if (instance->msix_vectors)
irq_flags = PCI_IRQ_MSIX; megasas_alloc_irq_vectors(instance);
if (instance->smp_affinity_enable)
irq_flags |= PCI_IRQ_AFFINITY; if (!instance->msix_vectors) {
} rval = pci_alloc_irq_vectors(instance->pdev, 1, 1,
rval = pci_alloc_irq_vectors(instance->pdev, 1, PCI_IRQ_LEGACY);
instance->msix_vectors ?
instance->msix_vectors : 1, irq_flags);
if (rval < 0) if (rval < 0)
goto fail_reenable_msix; goto fail_reenable_msix;
}
megasas_setup_reply_map(instance); megasas_setup_reply_map(instance);
......
...@@ -2377,7 +2377,7 @@ mpi_sata_completion(struct pm8001_hba_info *pm8001_ha, void *piomb) ...@@ -2377,7 +2377,7 @@ mpi_sata_completion(struct pm8001_hba_info *pm8001_ha, void *piomb)
ts->buf_valid_size = sizeof(*resp); ts->buf_valid_size = sizeof(*resp);
} else } else
PM8001_IO_DBG(pm8001_ha, PM8001_IO_DBG(pm8001_ha,
pm8001_printk("response to large\n")); pm8001_printk("response too large\n"));
} }
if (pm8001_dev) if (pm8001_dev)
pm8001_dev->running_req--; pm8001_dev->running_req--;
......
...@@ -2519,12 +2519,6 @@ qla83xx_fw_dump_failed: ...@@ -2519,12 +2519,6 @@ qla83xx_fw_dump_failed:
/* Driver Debug Functions. */ /* Driver Debug Functions. */
/****************************************************************************/ /****************************************************************************/
static inline int
ql_mask_match(uint level)
{
return (level & ql2xextended_error_logging) == level;
}
/* /*
* This function is for formatting and logging debug information. * This function is for formatting and logging debug information.
* It is to be used when vha is available. It formats the message * It is to be used when vha is available. It formats the message
......
...@@ -374,3 +374,9 @@ extern int qla24xx_dump_ram(struct qla_hw_data *, uint32_t, uint32_t *, ...@@ -374,3 +374,9 @@ extern int qla24xx_dump_ram(struct qla_hw_data *, uint32_t, uint32_t *,
extern void qla24xx_pause_risc(struct device_reg_24xx __iomem *, extern void qla24xx_pause_risc(struct device_reg_24xx __iomem *,
struct qla_hw_data *); struct qla_hw_data *);
extern int qla24xx_soft_reset(struct qla_hw_data *); extern int qla24xx_soft_reset(struct qla_hw_data *);
static inline int
ql_mask_match(uint level)
{
return (level & ql2xextended_error_logging) == level;
}
...@@ -1939,6 +1939,18 @@ static void qla24xx_nvme_iocb_entry(scsi_qla_host_t *vha, struct req_que *req, ...@@ -1939,6 +1939,18 @@ static void qla24xx_nvme_iocb_entry(scsi_qla_host_t *vha, struct req_que *req,
inbuf = (uint32_t *)&sts->nvme_ersp_data; inbuf = (uint32_t *)&sts->nvme_ersp_data;
outbuf = (uint32_t *)fd->rspaddr; outbuf = (uint32_t *)fd->rspaddr;
iocb->u.nvme.rsp_pyld_len = le16_to_cpu(sts->nvme_rsp_pyld_len); iocb->u.nvme.rsp_pyld_len = le16_to_cpu(sts->nvme_rsp_pyld_len);
if (unlikely(iocb->u.nvme.rsp_pyld_len >
sizeof(struct nvme_fc_ersp_iu))) {
if (ql_mask_match(ql_dbg_io)) {
WARN_ONCE(1, "Unexpected response payload length %u.\n",
iocb->u.nvme.rsp_pyld_len);
ql_log(ql_log_warn, fcport->vha, 0x5100,
"Unexpected response payload length %u.\n",
iocb->u.nvme.rsp_pyld_len);
}
iocb->u.nvme.rsp_pyld_len =
sizeof(struct nvme_fc_ersp_iu);
}
iter = iocb->u.nvme.rsp_pyld_len >> 2; iter = iocb->u.nvme.rsp_pyld_len >> 2;
for (; iter; iter--) for (; iter; iter--)
*outbuf++ = swab32(*inbuf++); *outbuf++ = swab32(*inbuf++);
......
...@@ -546,7 +546,7 @@ static inline bool ufs_is_valid_unit_desc_lun(struct ufs_dev_info *dev_info, ...@@ -546,7 +546,7 @@ static inline bool ufs_is_valid_unit_desc_lun(struct ufs_dev_info *dev_info,
u8 lun) u8 lun)
{ {
if (!dev_info || !dev_info->max_lu_supported) { if (!dev_info || !dev_info->max_lu_supported) {
pr_err("Max General LU supported by UFS isn't initilized\n"); pr_err("Max General LU supported by UFS isn't initialized\n");
return false; return false;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment