Michal Kazior <michal.kazior@xxxxxxxxx> writes: > On 23 May 2014 10:27, Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> wrote: >> Michal Kazior <michal.kazior@xxxxxxxxx> writes: >> >>> +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? Sure, but I still think it's a bit ugly. The right way to fix this would be to add it to include/lockdep.h, instead of adding custom checks to a driver. But does this check even make sense? There's nothing preventing to another thread to take lock just after the WARN_ON(), right? Oh, and if we add it to debug.h we should name ath10k_assert_not_held(). We should not use lockdep's namespace for anything inside ath10k. -- Kalle Valo -- 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