On 2010-09-14 7:33 PM, Ben Greear wrote: > On 09/14/2010 09:37 AM, Felix Fietkau wrote: >> At the time the .add_interface driver op is called, the interface has not >> been marked as running yet, so ieee80211_iterate_active_interfaces will >> not pass it to the iterator function. >> Because of this, the calculated BSSID mask is wrong, which breaks multi-BSS >> operation. >> >> Additionally, the current way of comparing all addresses against each other >> is pointless, as the hardware only uses the hardware MAC address and the BSSID >> mask for matching the destination address, so all the address array >> reallocation is completely unnecessary. >> >> This patch simplifies the logic by setting the initial mask bytes to 0xff >> and removing all bits in the iterator call that don't match the hardware MAC >> address. It also calls the iterator for the vif that was passed to >> add_interface() > > You probably need to fix the mask-setting logic in > ath_opmode_init as well? What do you mean? - Felix -- 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