On Thu, Jun 01, 2017 at 11:43:35AM +0800, Jia-Ju Bai wrote: > The driver may sleep under a spin lock, and the function call path is: > rtsx_exclusive_enter_ss (acquire the lock by spin_lock) > rtsx_enter_ss > rtsx_power_off_card > sd_cleanup_work > sd_stop_seq_mode > sd_switch_clock > sd_ddr_tuning > sd_ddr_pre_tuning_tx > sd_change_phase > wait_timeout > schedule_timeout --> may sleep > > To fix it, "wait_timeout" is replaced with mdelay in sd_change_phase.
Nice work, how are you finding these bugs? What tools gives you this kind of analysis? thanks, greg k-h