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

Reply via email to