hi , I read the code all along today. I just know hostAP control nl80211 which is upper the cfg80211 and mac80211. And then I read mac80211, but all functions are provided to be used by upper layer. There is something confusing me. Like that ieee80211_beacon_get_tim(), it is a generating beacon function. But it only responses for generating a template of Beacon frame, where its beacon timer to be set? I found it is called in ath9k/beacon.c , it surprise me a lot, because i always believe mac80211 is the upper layer than those drivers like ath9k. What I believe, |-----------------------------------------------| | hostAP | |-----------------------------------------------| | nl80211 | |-----------------------------------------------| | cfg80211 or wext | |-----------------------------------------------| | mac80211 | |---------------|------------------|------------| | ath9k driver | ath5k driver | others | |---------------|------------------|------------|
But why ath9k/beacon.c will call these interface provided by mac80211? is this architecture right? Yunong Pang Regards, _______________________________________________ ath9k-devel mailing list ath9k-devel@lists.ath9k.org https://lists.ath9k.org/mailman/listinfo/ath9k-devel