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

Merge branch '5.15/scsi-fixes' into 5.16/scsi-queue



The partial UFS revert in 5.15 is needed for some additional fixes in
the 5.16 SCSI tree. Merge the fixes branch.

Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parents 5ae17501 09d9e4d0
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -220,7 +220,8 @@ int scsi_add_host_with_dma(struct Scsi_Host *shost, struct device *dev,
		goto fail;
	}

	shost->cmd_per_lun = min_t(short, shost->cmd_per_lun,
	/* Use min_t(int, ...) in case shost->can_queue exceeds SHRT_MAX */
	shost->cmd_per_lun = min_t(int, shost->cmd_per_lun,
				   shost->can_queue);

	error = scsi_init_sense_cache(shost);
+2 −1
Original line number Diff line number Diff line
@@ -1696,6 +1696,7 @@ static int ibmvfc_send_event(struct ibmvfc_event *evt,

	spin_lock_irqsave(&evt->queue->l_lock, flags);
	list_add_tail(&evt->queue_list, &evt->queue->sent);
	atomic_set(&evt->active, 1);

	mb();

@@ -1710,6 +1711,7 @@ static int ibmvfc_send_event(struct ibmvfc_event *evt,
				     be64_to_cpu(crq_as_u64[1]));

	if (rc) {
		atomic_set(&evt->active, 0);
		list_del(&evt->queue_list);
		spin_unlock_irqrestore(&evt->queue->l_lock, flags);
		del_timer(&evt->timer);
@@ -1737,7 +1739,6 @@ static int ibmvfc_send_event(struct ibmvfc_event *evt,

		evt->done(evt);
	} else {
		atomic_set(&evt->active, 1);
		spin_unlock_irqrestore(&evt->queue->l_lock, flags);
		ibmvfc_trc_start(evt);
	}
+1 −1
Original line number Diff line number Diff line
@@ -3736,7 +3736,7 @@ mpi3mr_probe(struct pci_dev *pdev, const struct pci_device_id *id)
	shost->max_lun = -1;
	shost->unique_id = mrioc->id;

	shost->max_channel = 1;
	shost->max_channel = 0;
	shost->max_id = 0xFFFFFFFF;

	if (prot_mask >= 0)
+6 −3
Original line number Diff line number Diff line
@@ -5065,9 +5065,12 @@ _scsih_setup_eedp(struct MPT3SAS_ADAPTER *ioc, struct scsi_cmnd *scmd,
	if (scmd->prot_flags & SCSI_PROT_GUARD_CHECK)
		eedp_flags |= MPI2_SCSIIO_EEDPFLAGS_CHECK_GUARD;

	if (scmd->prot_flags & SCSI_PROT_REF_CHECK) {
		eedp_flags |= MPI2_SCSIIO_EEDPFLAGS_INC_PRI_REFTAG |
			MPI2_SCSIIO_EEDPFLAGS_CHECK_REFTAG;
	if (scmd->prot_flags & SCSI_PROT_REF_CHECK)
		eedp_flags |= MPI2_SCSIIO_EEDPFLAGS_CHECK_REFTAG;

	if (scmd->prot_flags & SCSI_PROT_REF_INCREMENT) {
		eedp_flags |= MPI2_SCSIIO_EEDPFLAGS_INC_PRI_REFTAG;

		mpi_request->CDB.EEDP32.PrimaryReferenceTag =
			cpu_to_be32(scsi_prot_ref_tag(scmd));
	}
+1 −1
Original line number Diff line number Diff line
@@ -431,7 +431,7 @@ qla2x00_process_els(struct bsg_job *bsg_job)
	goto done_free_fcport;

done_free_fcport:
	if (bsg_request->msgcode == FC_BSG_RPT_ELS)
	if (bsg_request->msgcode != FC_BSG_RPT_ELS)
		qla2x00_free_fcport(fcport);
done:
	return rval;
Loading