On Sun, 2008-07-06 at 01:47 +0200, Johannes Berg wrote: > plain text document attachment (004-mac80211-master-not-ap.patch) > Currently, almost every interface type has a 'bss' pointer > pointing to BSS information. This BSS information, however, > is for a _local_ BSS, not for the BSS we joined, so having > it on a STA mode interface makes little sense, but now they > have it pointing to the master device, which is an AP mode > virtual interface. However, except for some bitrate control > data, this pointer is only used in AP/VLAN modes (for power > saving stations.) > > Overall, it is not necessary to even have the master netdev > be a valid virtual interface, and it doesn't have to be on > the list of interfaces either. > > This patch changes the master netdev to be special, it now > - no longer is on the list of virtual interfaces, which > lets me remove a lot of tests for that > - no longer has sub_if_data attached, since that isn't used > > Additionally, this patch changes some vlan/ap mode handling > that is related to these 'bss' pointers described above (but > in the VLAN case they actually make sense because there they > point to the AP they belong to); it also adds some debugging > code to IEEE80211_DEV_TO_SUB_IF to validate it is not called > on the master netdev any more. > list_for_each_entry_rcu(sdata, &local->interfaces, list) { > - > - /* No need to wake the master device. */ > - if (sdata->dev == local->mdev) > - continue; > - Just noticed that the patch was missing two hunks like that, I'll post with them when I post this for good. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part