On 23 May 2014 10:27, Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> wrote: > Michal Kazior <michal.kazior@xxxxxxxxx> writes: > >> This makes sure no further tx requests are >> submitted to HTT before driver teardown. >> >> This should prevent invalid pointer/NULL >> dereference on htt tx pool in ath10k_htt_tx() in >> some cases of heavy traffic. >> >> Reported-By: Ben Greear <greearb@xxxxxxxxxxxxxxx> >> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> > > [...] > >> --- a/drivers/net/wireless/ath/ath10k/mac.c >> +++ b/drivers/net/wireless/ath/ath10k/mac.c >> @@ -2289,6 +2289,21 @@ static void ath10k_tx(struct ieee80211_hw *hw, >> /* >> * Initialize various parameters with default vaules. >> */ >> +static void ath10k_drain_tx(struct ath10k *ar) >> +{ >> + /* workers can hold conf_mutex -- avoid deadlock */ >> + WARN_ON(lockdep_is_held(&ar->conf_mutex)); > > If CONFIG_LOCKDEP is disabled this will fail with: > > drivers/net/wireless/ath/ath10k/mac.c:2301:2: error: implicit declaration of function 'lockdep_is_held' [-Werror=implicit-function-declaration] > > I wasn't able to come up with any other way than adding '#ifdef > CONFIG_LOCKDEP' which is quite ugly. What should we do? I guess we could define lockdep_assert_not_held() in debug.h? Michał -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html