Can, > Current IRQ handler blocks scsi requests before scheduling eh_work, > when error handler calls pm_runtime_get_sync, if ufshcd_suspend/resume > sends a scsi cmd, most likely the SSU cmd, since scsi requests are > blocked, pm_runtime_get_sync() will never return because > ufshcd_suspend/reusme is blocked by the scsi cmd. Some changes and > code re-arrangement can be made to resolve it. CC [M] drivers/scsi/ufs/ufshcd.o drivers/scsi/ufs/ufshcd.c: In function ‘ufshcd_queuecommand’: drivers/scsi/ufs/ufshcd.c:2570:6: error: this statement may fall through [-Werror=implicit-fallthrough=] 2570 | if (hba->pm_op_in_progress) { | ^ drivers/scsi/ufs/ufshcd.c:2575:2: note: here 2575 | case UFSHCD_STATE_RESET: | ^~~~ cc1: all warnings being treated as errors make[3]: *** [scripts/Makefile.build:280: drivers/scsi/ufs/ufshcd.o] Error 1 make[2]: *** [scripts/Makefile.build:497: drivers/scsi/ufs] Error 2 make[1]: *** [scripts/Makefile.build:497: drivers/scsi] Error 2 make: *** [Makefile:1764: drivers] Error 2 -- Martin K. Petersen Oracle Linux Engineering