> > > > > > - if (timer_pending(&mac->scan_timeout)) > > > > > > - del_timer_sync(&mac->scan_timeout); > > > I don't quite understand the question. Do you mean it makes sense to > > call cfg80211_scan_done first and then cancel timer ? > > No, I'm just not sure why you call timer_pending() first. Well, it looks like before this change it was redundant. But now it makes sense to avoid deadlock when this function is called from the timer itself. Regards, Sergey