scsi: ufs: core: Reduce the power mode change timeout
The current power mode change timeout (180 s) is so large that it can cause a watchdog timer to fire. Reduce the power mode change timeout to 10 seconds. Link: https://lore.kernel.org/r/20220811234401.1957911-1-bvanassche@acm.org Reviewed-by: Stanley Chu <stanley.chu@mediatek.com> Signed-off-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
27883605cf
commit
8f2c96420c
@ -8741,6 +8741,8 @@ static int ufshcd_set_dev_pwr_mode(struct ufs_hba *hba,
|
|||||||
struct scsi_device *sdp;
|
struct scsi_device *sdp;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
int ret, retries;
|
int ret, retries;
|
||||||
|
unsigned long deadline;
|
||||||
|
int32_t remaining;
|
||||||
|
|
||||||
spin_lock_irqsave(hba->host->host_lock, flags);
|
spin_lock_irqsave(hba->host->host_lock, flags);
|
||||||
sdp = hba->ufs_device_wlun;
|
sdp = hba->ufs_device_wlun;
|
||||||
@ -8773,9 +8775,14 @@ static int ufshcd_set_dev_pwr_mode(struct ufs_hba *hba,
|
|||||||
* callbacks hence set the RQF_PM flag so that it doesn't resume the
|
* callbacks hence set the RQF_PM flag so that it doesn't resume the
|
||||||
* already suspended childs.
|
* already suspended childs.
|
||||||
*/
|
*/
|
||||||
|
deadline = jiffies + 10 * HZ;
|
||||||
for (retries = 3; retries > 0; --retries) {
|
for (retries = 3; retries > 0; --retries) {
|
||||||
|
ret = -ETIMEDOUT;
|
||||||
|
remaining = deadline - jiffies;
|
||||||
|
if (remaining <= 0)
|
||||||
|
break;
|
||||||
ret = scsi_execute(sdp, cmd, DMA_NONE, NULL, 0, NULL, &sshdr,
|
ret = scsi_execute(sdp, cmd, DMA_NONE, NULL, 0, NULL, &sshdr,
|
||||||
START_STOP_TIMEOUT, 0, 0, RQF_PM, NULL);
|
remaining / HZ, 0, 0, RQF_PM, NULL);
|
||||||
if (!scsi_status_is_check_condition(ret) ||
|
if (!scsi_status_is_check_condition(ret) ||
|
||||||
!scsi_sense_valid(&sshdr) ||
|
!scsi_sense_valid(&sshdr) ||
|
||||||
sshdr.sense_key != UNIT_ATTENTION)
|
sshdr.sense_key != UNIT_ATTENTION)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user