Commit f467b865 authored by Martin K. Petersen's avatar Martin K. Petersen
Browse files

Merge branch '6.3/scsi-fixes' into 6.4/scsi-staging



Pull in the fixes branch to resolve an mpi3mr conflict reported by
sfr.

Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parents 882f4ada d684a7a2
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1145,10 +1145,12 @@ static int alua_activate(struct scsi_device *sdev,
	rcu_read_unlock();
	mutex_unlock(&h->init_mutex);

	if (alua_rtpg_queue(pg, sdev, qdata, true))
	if (alua_rtpg_queue(pg, sdev, qdata, true)) {
		fn = NULL;
	else
	} else {
		kfree(qdata);
		err = SCSI_DH_DEV_OFFLINED;
	}
	kref_put(&pg->kref, release_port_group);
out:
	if (fn)
+1 −2
Original line number Diff line number Diff line
@@ -2525,8 +2525,7 @@ static int interrupt_preinit_v3_hw(struct hisi_hba *hisi_hba)
	hisi_hba->cq_nvecs = vectors - BASE_VECTORS_V3_HW - hisi_hba->iopoll_q_cnt;
	shost->nr_hw_queues = hisi_hba->cq_nvecs + hisi_hba->iopoll_q_cnt;

	devm_add_action(&pdev->dev, hisi_sas_v3_free_vectors, pdev);
	return 0;
	return devm_add_action(&pdev->dev, hisi_sas_v3_free_vectors, pdev);
}

static int interrupt_init_v3_hw(struct hisi_hba *hisi_hba)
+0 −3
Original line number Diff line number Diff line
@@ -341,9 +341,6 @@ static void scsi_host_dev_release(struct device *dev)
	struct Scsi_Host *shost = dev_to_shost(dev);
	struct device *parent = dev->parent;

	/* In case scsi_remove_host() has not been called. */
	scsi_proc_hostdir_rm(shost->hostt);

	/* Wait for functions invoked through call_rcu(&scmd->rcu, ...) */
	rcu_barrier();

+2 −0
Original line number Diff line number Diff line
@@ -7290,6 +7290,8 @@ lpfc_sli4_cgn_params_read(struct lpfc_hba *phba)
	/* Find out if the FW has a new set of congestion parameters. */
	len = sizeof(struct lpfc_cgn_param);
	pdata = kzalloc(len, GFP_KERNEL);
	if (!pdata)
		return -ENOMEM;
	ret = lpfc_read_object(phba, (char *)LPFC_PORT_CFG_NAME,
			       pdata, len);

+4 −8
Original line number Diff line number Diff line
@@ -21862,20 +21862,20 @@ lpfc_get_io_buf_from_private_pool(struct lpfc_hba *phba,
static struct lpfc_io_buf *
lpfc_get_io_buf_from_expedite_pool(struct lpfc_hba *phba)
{
	struct lpfc_io_buf *lpfc_ncmd;
	struct lpfc_io_buf *lpfc_ncmd = NULL, *iter;
	struct lpfc_io_buf *lpfc_ncmd_next;
	unsigned long iflag;
	struct lpfc_epd_pool *epd_pool;
	epd_pool = &phba->epd_pool;
	lpfc_ncmd = NULL;
	spin_lock_irqsave(&epd_pool->lock, iflag);
	if (epd_pool->count > 0) {
		list_for_each_entry_safe(lpfc_ncmd, lpfc_ncmd_next,
		list_for_each_entry_safe(iter, lpfc_ncmd_next,
					 &epd_pool->list, list) {
			list_del(&lpfc_ncmd->list);
			list_del(&iter->list);
			epd_pool->count--;
			lpfc_ncmd = iter;
			break;
		}
	}
@@ -22072,10 +22072,6 @@ lpfc_read_object(struct lpfc_hba *phba, char *rdobject, uint32_t *datap,
	struct lpfc_dmabuf *pcmd;
	u32 rd_object_name[LPFC_MBX_OBJECT_NAME_LEN_DW] = {0};
	/* sanity check on queue memory */
	if (!datap)
		return -ENODEV;
	mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
	if (!mbox)
		return -ENOMEM;
Loading