Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 12ffbbe9 authored by James Bottomley's avatar James Bottomley
Browse files

Merge remote-tracking branch 'mkp-scsi/4.5/scsi-fixes' into fixes

parents 6344a5cd 0fb5b1fb
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -2455,14 +2455,16 @@ struct request *blk_peek_request(struct request_queue *q)

			rq = NULL;
			break;
		} else if (ret == BLKPREP_KILL) {
		} else if (ret == BLKPREP_KILL || ret == BLKPREP_INVALID) {
			int err = (ret == BLKPREP_INVALID) ? -EREMOTEIO : -EIO;

			rq->cmd_flags |= REQ_QUIET;
			/*
			 * Mark this request as started so we don't trigger
			 * any debug logic in the end I/O path.
			 */
			blk_start_request(rq);
			__blk_end_request_all(rq, -EIO);
			__blk_end_request_all(rq, err);
		} else {
			printk(KERN_ERR "%s: bad return=%d\n", __func__, ret);
			break;
+3 −1
Original line number Diff line number Diff line
@@ -562,7 +562,7 @@ static int mode_select_handle_sense(struct scsi_device *sdev,
			/*
			 * Command Lock contention
			 */
			err = SCSI_DH_RETRY;
			err = SCSI_DH_IMM_RETRY;
		break;
	default:
		break;
@@ -612,6 +612,8 @@ static void send_mode_select(struct work_struct *work)
		err = mode_select_handle_sense(sdev, h->sense);
		if (err == SCSI_DH_RETRY && retry_cnt--)
			goto retry;
		if (err == SCSI_DH_IMM_RETRY)
			goto retry;
	}
	if (err == SCSI_DH_OK) {
		h->state = RDAC_STATE_ACTIVE;
+1 −1
Original line number Diff line number Diff line
config SCSI_HISI_SAS
	tristate "HiSilicon SAS"
	depends on HAS_DMA
	depends on HAS_DMA && HAS_IOMEM
	depends on ARM64 || COMPILE_TEST
	select SCSI_SAS_LIBSAS
	select BLK_DEV_INTEGRITY
+3 −6
Original line number Diff line number Diff line
@@ -1289,13 +1289,10 @@ static int slot_complete_v1_hw(struct hisi_hba *hisi_hba,
		goto out;
	}

	if (cmplt_hdr_data & CMPLT_HDR_ERR_RCRD_XFRD_MSK) {
		if (!(cmplt_hdr_data & CMPLT_HDR_CMD_CMPLT_MSK) ||
		    !(cmplt_hdr_data & CMPLT_HDR_RSPNS_XFRD_MSK))
			ts->stat = SAS_DATA_OVERRUN;
		else
			slot_err_v1_hw(hisi_hba, task, slot);
	if (cmplt_hdr_data & CMPLT_HDR_ERR_RCRD_XFRD_MSK &&
		!(cmplt_hdr_data & CMPLT_HDR_RSPNS_XFRD_MSK)) {

		slot_err_v1_hw(hisi_hba, task, slot);
		goto out;
	}

+1 −0
Original line number Diff line number Diff line
@@ -205,6 +205,7 @@ static struct {
	{"Intel", "Multi-Flex", NULL, BLIST_NO_RSOC},
	{"iRiver", "iFP Mass Driver", NULL, BLIST_NOT_LOCKABLE | BLIST_INQUIRY_36},
	{"LASOUND", "CDX7405", "3.10", BLIST_MAX5LUN | BLIST_SINGLELUN},
	{"Marvell", "Console", NULL, BLIST_SKIP_VPD_PAGES},
	{"MATSHITA", "PD-1", NULL, BLIST_FORCELUN | BLIST_SINGLELUN},
	{"MATSHITA", "DMC-LC5", NULL, BLIST_NOT_LOCKABLE | BLIST_INQUIRY_36},
	{"MATSHITA", "DMC-LC40", NULL, BLIST_NOT_LOCKABLE | BLIST_INQUIRY_36},
Loading