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?
Regards,
M. Braun