]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fix ieee80211_radiotap(9) usage in wireless drivers:
authoravos <avos@FreeBSD.org>
Mon, 11 Mar 2019 01:27:01 +0000 (01:27 +0000)
committeravos <avos@FreeBSD.org>
Mon, 11 Mar 2019 01:27:01 +0000 (01:27 +0000)
commitedfe06beb4a5955fd9d69dc8d8206891435b9338
treefd96adb573524a50d28e6308d66510e38dfa3433
parentbc895a5439da812459b95d96a6f05575001e26be
Fix ieee80211_radiotap(9) usage in wireless drivers:

- Alignment issues:
 * Add missing __packed attributes + padding across all drivers; in
most places there was an assumption that padding will be always
minimally suitable; in few places - e.g., in urtw(4) / rtwn(4) -
padding was just missing.
 * Add __aligned(8) attribute for all Rx radiotap headers since they can
contain 64-bit TSF timestamp; it cannot appear in Tx radiotap headers, so
just drop the attribute here. Refresh ieee80211_radiotap(9) man page
accordingly.

- Since net80211 automatically updates channel frequency / flags in
ieee80211_radiotap_chan_change() drop duplicate setup for these fields
in drivers.

Tested with Netgear WG111 v3 (urtw(4)), STA mode.

MFC after: 2 weeks
34 files changed:
share/man/man9/ieee80211_radiotap.9
sys/dev/ath/if_athioctl.h
sys/dev/bwi/if_bwi.c
sys/dev/bwi/if_bwivar.h
sys/dev/bwn/if_bwn.c
sys/dev/bwn/if_bwnvar.h
sys/dev/ipw/if_ipwvar.h
sys/dev/iwi/if_iwivar.h
sys/dev/iwm/if_iwmvar.h
sys/dev/iwn/if_iwn.c
sys/dev/iwn/if_iwnvar.h
sys/dev/malo/if_maloioctl.h
sys/dev/mwl/if_mwlioctl.h
sys/dev/otus/if_otus.c
sys/dev/otus/if_otusreg.h
sys/dev/ral/rt2560var.h
sys/dev/ral/rt2661var.h
sys/dev/ral/rt2860var.h
sys/dev/rtwn/if_rtwn.c
sys/dev/rtwn/if_rtwnvar.h
sys/dev/usb/wlan/if_rsu.c
sys/dev/usb/wlan/if_rsureg.h
sys/dev/usb/wlan/if_rumvar.h
sys/dev/usb/wlan/if_run.c
sys/dev/usb/wlan/if_runvar.h
sys/dev/usb/wlan/if_uathvar.h
sys/dev/usb/wlan/if_upgtvar.h
sys/dev/usb/wlan/if_uralvar.h
sys/dev/usb/wlan/if_urtw.c
sys/dev/usb/wlan/if_urtwvar.h
sys/dev/usb/wlan/if_zydreg.h
sys/dev/wi/if_wireg.h
sys/dev/wpi/if_wpivar.h
sys/dev/wtap/if_wtapioctl.h