> > Below is the call stacks shown after the symptom happened and the system > tried to enter into suspend again. > > In this case, mmc pm notifier is called with PM_SUSPEND_PREPARE, so it > waits for completion or cancelling the work for mmc_rescan. > > For the latency, mobile users can see black screen for a long time > sometimes, even with pushing a power button to wake up the system. > > I think I understand what you are saying, but please correct me if I am > wrong. > > The I/O requests keep flowing into the blk queue even after > PM_SUSPEND_PREPARE has been fired, thus preventing the earlier scheduled > mmc_rescan() from claiming the host? Correct.