Am 17.10.2016 11:44, schrieb Johannes Berg:
+       if (bssid && ieee80211_has_fromds(hdr->frame_control))
+               memcpy(h_80211_src, bssid, ETH_ALEN);
+       if (bssid && ieee80211_has_tods(hdr->frame_control))
+               memcpy(h_80211_dst, bssid, ETH_ALEN);

but I also changed these to ether_addr_copy()

ether_addr_copy requires both arguments to be __aligned(2) according to include/linux/etherdevice.h. bssid might be sdata->u.mgd.bssid, which is bssid in struct ieee80211_if_managed, but neither sdata->u, sdata->u.mgd nor sdata->u.mgd.bssid seem to be declared as __aligned(2).
So ether_addr_copy should not be used.

What am I missing?

M. Braun

Reply via email to