On Sunday 23 September 2007, Michael Wu wrote: > On Sunday 23 September 2007 10:48, Michael Buesch wrote: > > The zd1211 driver has a bug in the ieee80211 config callback. > > It currently unconditionally calls the set_channel() function, > > whether the device is running or not. This causes a failed > > bus access, if we set some config while the device is down. > > The driver must check if the device is running before setting > > any config on it (usb->initialized?). > Hm, that sounds pretty terrible. mac80211 should check if the device was > started before trying to run any configure callbacks. Something like that? Subject: mac80211: Check open_count before calling config callback. Also remove the check for ops->config!=NULL, as it can never be NULL. Signed-off-by: Michael Buesch <mb@xxxxxxxxx> Index: wireless-dev/net/mac80211/ieee80211.c =================================================================== --- wireless-dev.orig/net/mac80211/ieee80211.c 2007-09-24 18:29:54.000000000 +0200 +++ wireless-dev/net/mac80211/ieee80211.c 2007-09-24 18:36:11.000000000 +0200 @@ -722,7 +722,7 @@ int ieee80211_hw_config(struct ieee80211 local->hw.conf.phymode); #endif /* CONFIG_MAC80211_VERBOSE_DEBUG */ - if (local->ops->config) + if (local->open_count) ret = local->ops->config(local_to_hw(local), &local->hw.conf); return ret; - 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