On Wed, 2017-02-08 at 14:53 -0800, Song Liu wrote: > + try_lock_scan_mutex = mutex_trylock(&shost->scan_mutex); This is at least as bad as the approach of your previous patch because whether or not this mutex_trylock() call succeeds not only depends on whether or not the caller holds the scan_mutex but also on whether any other thread accidentally holds that mutex. Please stop hacking and do what Christoph proposed, namely address the caller of this method. Bart.