On 9/10/07, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > When cfg80211 is built into the kernel it needs to init earlier > so that device registrations are run after it has initialised. > > Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Yep, I need this fix as well. Without it the ath5k driver built in bombs out during module_init(). Something with kref and a struct device pointing to an uninitialized ieee80211_class. I need a similar fix for net/mac80211/rc80211_simple.c as well to get ath5k working though, not sure why at the moment. There may be some bug with request_module() not being called properly. ieee80211_register_hw() calls ieee80211_init_rate_ctrl_alg() with NULL as name which calls rate_control_alloc() with NULL which always seems to fail when built in. This hack works around that problem, not sure what the real fix is. --- 0002/net/mac80211/rc80211_simple.c +++ work/net/mac80211/rc80211_simple.c 2007-09-09 18:11:48.000000000 +0900 @@ -431,7 +431,8 @@ static void __exit rate_control_simple_e } -module_init(rate_control_simple_init); +//module_init(rate_control_simple_init); +postcore_initcall(rate_control_simple_init); module_exit(rate_control_simple_exit); MODULE_DESCRIPTION("Simple rate control algorithm for ieee80211"); Thanks, / magnus - 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