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

Reply via email to