Subject: linux-next: manual merge of the scsi-mkp tree with Linus' tree

From: Stephen Rothwell <[email-masked]>
Date: Wed, 6 Oct 2021 15:44:15 +1100

Hi all,

Today's linux-next merge of the scsi-mkp tree got a conflict in:

  drivers/scsi/ufs/ufshcd.c

between commit:

  88b099006d83 ("scsi: ufs: core: Revert "scsi: ufs: Synchronize SCSI and UFS error handling"")

from Linus' tree and commit:

  87bf6a6bbe8b ("scsi: ufs: core: Do not exit ufshcd_err_handler() unless operational or dead")

from the scsi-mkp tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/scsi/ufs/ufshcd.c
index 8bf14f97481a,d91a405fd181..000000000000
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@@ -6055,22 -6063,23 +6053,24 @@@ static bool ufshcd_is_pwr_mode_restore_
  
  /**
   * ufshcd_err_handler - handle UFS errors that require s/w attention
 - * @host: SCSI host pointer
 + * @work: pointer to work structure
   */
 -static void ufshcd_err_handler(struct Scsi_Host *host)
 +static void ufshcd_err_handler(struct work_struct *work)
  {
 -	struct ufs_hba *hba = shost_priv(host);
 +	struct ufs_hba *hba;
+ 	int retries = MAX_ERR_HANDLER_RETRIES;
  	unsigned long flags;
- 	bool err_xfer = false;
- 	bool err_tm = false;
- 	int err = 0, pmc_err;
+ 	bool needs_restore;
+ 	bool needs_reset;
+ 	bool err_xfer;
+ 	bool err_tm;
+ 	int pmc_err;
  	int tag;
- 	bool needs_reset = false, needs_restore = false;
  
 +	hba = container_of(work, struct ufs_hba, eh_work);
 +
  	down(&hba->host_sem);
  	spin_lock_irqsave(hba->host->host_lock, flags);
 -	hba->host->host_eh_scheduled = 0;
  	if (ufshcd_err_handling_should_stop(hba)) {
  		if (hba->ufshcd_state != UFSHCD_STATE_ERROR)
  			hba->ufshcd_state = UFSHCD_STATE_OPERATIONAL;