On Wednesday 18 March 2009, Johannes Berg wrote: > On Wed, 2009-03-18 at 00:01 +0100, Ivo van Doorn wrote: > > > > > This command means that mac80211 uses the start() callback function. This triggers rt2x00 to initialize > > > > the registers which resets the beacon generation. > > > > > > Strange, that doesn't seem right. If you look at net/mac80211/iface.c, > > > you'll see it call ->start(), then ->add_interface(), and later > > > ieee80211_start_mesh(), which calls _if_config() and sets > > > beacon/beacon_enabled. > > > > ok, I gone through the rt2x00 code a couple of times now to see how this bug can be triggered by rt2x00, > > But the only other scenario I could find, is when the open() callback for the netdevice structure doesn't end > > with a call to the config() callback function. But as far as I see it that is happening correctly. > > Maybe log (+dump_stack()) all the relevant calls from mac80211 to the > driver? That might give us a better idea of what's going on. Also, > Antonio, make sure you're using the very latest code. I for one need > sleep now :) Antonio, could you please use attached patch to add additional debugging to rt2x00. This will do a dump_stack for all important functions (add_interface, remove_interface, config() and config_interface()) It doesn't matter if this patch is on top of the previous patch or not. Thanks, Ivo