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

Commit 1628e8aa authored by Asutosh Das's avatar Asutosh Das Committed by Gerrit - the friendly Code Review server
Browse files

scsi: ufs: recheck bkops level if bkops is disabled



Bkops level should be rechecked upon receiving an exception.
Currently the bkops level is being cached and never updated.

Update the same each time the level is checked.
Also do not use the cached bkops level value if it is disabled
and then enabled.

Change-Id: I78ee268aaeffa2f283a2097612dea914889243e3
Signed-off-by: default avatarAsutosh Das <asutoshd@codeaurora.org>
parent 3db62e09
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -6082,6 +6082,7 @@ static int ufshcd_disable_auto_bkops(struct ufs_hba *hba)

	hba->auto_bkops_enabled = false;
	trace_ufshcd_auto_bkops_state(dev_name(hba->dev), 0);
	hba->is_urgent_bkops_lvl_checked = false;
out:
	return err;
}
@@ -6106,6 +6107,7 @@ static void ufshcd_force_reset_auto_bkops(struct ufs_hba *hba)
		hba->ee_ctrl_mask &= ~MASK_EE_URGENT_BKOPS;
		ufshcd_disable_auto_bkops(hba);
	}
	hba->is_urgent_bkops_lvl_checked = false;
}

static inline int ufshcd_get_bkops_status(struct ufs_hba *hba, u32 *status)
@@ -6152,6 +6154,7 @@ static int ufshcd_bkops_ctrl(struct ufs_hba *hba,
		err = ufshcd_enable_auto_bkops(hba);
	else
		err = ufshcd_disable_auto_bkops(hba);
	hba->urgent_bkops_lvl = curr_status;
out:
	return err;
}