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

Merge branch '6.16/scsi-queue' into 6.16/scsi-fixes



Pull in remaining fixes from queue branch.

Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parents 19272b37 9697ca0d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -449,6 +449,8 @@ static ssize_t zfcp_sysfs_unit_add_store(struct device *dev,
	if (kstrtoull(buf, 0, (unsigned long long *) &fcp_lun))
		return -EINVAL;

	flush_work(&port->rport_work);

	retval = zfcp_unit_add(port, fcp_lun);
	if (retval)
		return retval;
+2 −2
Original line number Diff line number Diff line
@@ -215,7 +215,7 @@ enum hw_register_bits {

	/* MVS_Px_INT_STAT, MVS_Px_INT_MASK (per-phy events) */
	PHYEV_DEC_ERR		= (1U << 24),	/* Phy Decoding Error */
	PHYEV_DCDR_ERR		= (1U << 23),	/* STP Deocder Error */
	PHYEV_DCDR_ERR		= (1U << 23),	/* STP Decoder Error */
	PHYEV_CRC_ERR		= (1U << 22),	/* STP CRC Error */
	PHYEV_UNASSOC_FIS	= (1U << 19),	/* unassociated FIS rx'd */
	PHYEV_AN		= (1U << 18),	/* SATA async notification */
@@ -347,7 +347,7 @@ enum sas_cmd_port_registers {
	CMD_SATA_PORT_MEM_CTL0	= 0x158, /* SATA Port Memory Control 0 */
	CMD_SATA_PORT_MEM_CTL1	= 0x15c, /* SATA Port Memory Control 1 */
	CMD_XOR_MEM_BIST_CTL	= 0x160, /* XOR Memory BIST Control */
	CMD_XOR_MEM_BIST_STAT	= 0x164, /* XOR Memroy BIST Status */
	CMD_XOR_MEM_BIST_STAT	= 0x164, /* XOR Memory BIST Status */
	CMD_DMA_MEM_BIST_CTL	= 0x168, /* DMA Memory BIST Control */
	CMD_DMA_MEM_BIST_STAT	= 0x16c, /* DMA Memory BIST Status */
	CMD_PORT_MEM_BIST_CTL	= 0x170, /* Port Memory BIST Control */
+5 −6
Original line number Diff line number Diff line
@@ -3499,7 +3499,7 @@ static int iscsi_new_flashnode(struct iscsi_transport *transport,
		pr_err("%s could not find host no %u\n",
		       __func__, ev->u.new_flashnode.host_no);
		err = -ENODEV;
		goto put_host;
		goto exit_new_fnode;
	}

	index = transport->new_flashnode(shost, data, len);
@@ -3509,7 +3509,6 @@ static int iscsi_new_flashnode(struct iscsi_transport *transport,
	else
		err = -EIO;

put_host:
	scsi_host_put(shost);

exit_new_fnode:
@@ -3534,7 +3533,7 @@ static int iscsi_del_flashnode(struct iscsi_transport *transport,
		pr_err("%s could not find host no %u\n",
		       __func__, ev->u.del_flashnode.host_no);
		err = -ENODEV;
		goto put_host;
		goto exit_del_fnode;
	}

	idx = ev->u.del_flashnode.flashnode_idx;
@@ -3576,7 +3575,7 @@ static int iscsi_login_flashnode(struct iscsi_transport *transport,
		pr_err("%s could not find host no %u\n",
		       __func__, ev->u.login_flashnode.host_no);
		err = -ENODEV;
		goto put_host;
		goto exit_login_fnode;
	}

	idx = ev->u.login_flashnode.flashnode_idx;
@@ -3628,7 +3627,7 @@ static int iscsi_logout_flashnode(struct iscsi_transport *transport,
		pr_err("%s could not find host no %u\n",
		       __func__, ev->u.logout_flashnode.host_no);
		err = -ENODEV;
		goto put_host;
		goto exit_logout_fnode;
	}

	idx = ev->u.logout_flashnode.flashnode_idx;
@@ -3678,7 +3677,7 @@ static int iscsi_logout_flashnode_sid(struct iscsi_transport *transport,
		pr_err("%s could not find host no %u\n",
		       __func__, ev->u.logout_flashnode.host_no);
		err = -ENODEV;
		goto put_host;
		goto exit_logout_sid;
	}

	session = iscsi_session_lookup(ev->u.logout_flashnode_sid.sid);
+6 −1
Original line number Diff line number Diff line
@@ -6623,9 +6623,14 @@ static void ufshcd_err_handler(struct work_struct *work)
		up(&hba->host_sem);
		return;
	}
	ufshcd_set_eh_in_progress(hba);
	spin_unlock_irqrestore(hba->host->host_lock, flags);

	ufshcd_err_handling_prepare(hba);

	spin_lock_irqsave(hba->host->host_lock, flags);
	ufshcd_set_eh_in_progress(hba);
	spin_unlock_irqrestore(hba->host->host_lock, flags);

	/* Complete requests that have door-bell cleared by h/w */
	ufshcd_complete_requests(hba, false);
	spin_lock_irqsave(hba->host->host_lock, flags);