Hi
I'm playing around with hostapd and observed that deleting the beacon (when hostapd terminates) is not working.
Looking at the kernel code I see the reason:
In function ieee80211_del_beacon (cfg.c) the old beacon (stored in sdata->u.ap.beacon) is removed. After that ieee80211_if_config_beacon is called.
This function (ieee80211_if_config_beacon, main.c) first checks if the driver handles beacon generation itself and therefore needs to be informed. For my card (b43) this is the case. However ieee80211_beacon_get is now called which will fail because the beacon in mac80211 is already removed.
This results in a ENOMEM error message for the caller even though the beacon is 'half' removed.
I don't know how this problem could be handled properly, therefore I post just the problem description :-)
Cheers
Mike