linux/arch/arm
Johannes Berg 6e3e939f3b net: add wireless TX status socket option
The 802.1X EAPOL handshake hostapd does requires
knowing whether the frame was ack'ed by the peer.
Currently, we fudge this pretty badly by not even
transmitting the frame as a normal data frame but
injecting it with radiotap and getting the status
out of radiotap monitor as well. This is rather
complex, confuses users (mon.wlan0 presence) and
doesn't work with all hardware.

To get rid of that hack, introduce a real wifi TX
status option for data frame transmissions.

This works similar to the existing TX timestamping
in that it reflects the SKB back to the socket's
error queue with a SCM_WIFI_STATUS cmsg that has
an int indicating ACK status (0/1).

Since it is possible that at some point we will
want to have TX timestamping and wifi status in a
single errqueue SKB (there's little point in not
doing that), redefine SO_EE_ORIGIN_TIMESTAMPING
to SO_EE_ORIGIN_TXSTATUS which can collect more
than just the timestamp; keep the old constant
as an alias of course. Currently the internal APIs
don't make that possible, but it wouldn't be hard
to split them up in a way that makes it possible.

Thanks to Neil Horman for helping me figure out
the functions that add the control messages.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-11-09 16:01:02 -05:00
..
boot Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
common Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 16:17:32 +02:00
configs ARM: 7102/1: mach-integrator: update defconfig 2011-10-17 09:13:40 +01:00
include/asm net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
kernel Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 16:17:32 +02:00
lib Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-at91 ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-bcmring Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-10-25 12:11:02 +02:00
mach-clps711x ARM: platform fixups: remove mdesc argument to fixup function 2011-10-17 09:13:41 +01:00
mach-cns3xxx Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-davinci Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-dove Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-ebsa110 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-ep93xx ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-exynos4 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-footbridge Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 16:17:32 +02:00
mach-gemini ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-h720x ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-imx ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-integrator Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 16:17:32 +02:00
mach-iop13xx ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-iop32x ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-iop33x ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-ixp4xx Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 16:17:32 +02:00
mach-ixp23xx ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-ixp2000 ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-kirkwood ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-ks8695 ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-l7200/include/mach
mach-lpc32xx ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-mmp Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb 2011-10-25 12:23:15 +02:00
mach-msm Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm 2011-10-25 15:18:39 +02:00
mach-mv78xx0 ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-mx5 ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-mxs ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-netx ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-nomadik ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-nuc93x Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-10-25 12:11:02 +02:00
mach-omap1 Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm 2011-10-25 15:18:39 +02:00
mach-omap2 Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb 2011-10-25 12:23:15 +02:00
mach-orion5x ARM: platform fixups: remove mdesc argument to fixup function 2011-10-17 09:13:41 +01:00
mach-pnx4008 ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-prima2 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-pxa Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-10-25 12:11:02 +02:00
mach-realview Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-rpc Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-s3c64xx Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty 2011-10-26 15:11:09 +02:00
mach-s3c2400/include/mach ARM: mach-s3c2400: delete 2011-07-18 10:59:26 -04:00
mach-s3c2410 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-s3c2412 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-s3c2416 ARM: S3C24XX: Fix s3c24xx build errors if !CONFIG_PM 2011-10-22 04:00:53 +09:00
mach-s3c2440 ARM: S3C24XX: Fix s3c24xx build errors if !CONFIG_PM 2011-10-22 04:00:53 +09:00
mach-s3c2443 ARM: S3C2443: Fix bit-reset in setrate of clk_armdiv 2011-09-26 10:30:29 +09:00
mach-s5p64x0 ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-s5pc100 ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-s5pv210 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-sa1100 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-shark Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 16:17:32 +02:00
mach-shmobile Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm 2011-10-25 15:18:39 +02:00
mach-spear3xx ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-spear6xx ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-tcc8k ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-tegra Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-u300 Merge branch 'for-next' of git://git.linaro.org/people/triad/linux-pinctrl 2011-10-25 14:04:01 +02:00
mach-ux500 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-versatile ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mach-vexpress Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-vt8500 Merge branch 'misc' into for-linus 2011-10-25 08:19:59 +01:00
mach-w90x900 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-10-25 12:11:02 +02:00
mach-zynq ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mm Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 16:17:32 +02:00
nwfpe
oprofile
plat-iop ARM: convert PCI defines to variables 2011-07-12 11:19:29 -05:00
plat-mxc Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core 2011-10-25 12:13:59 +02:00
plat-nomadik net: remove mm.h inclusion from netdevice.h 2011-06-21 19:17:20 -07:00
plat-omap Merge branches 'arnd-randcfg-fixes', 'debug', 'io' (early part), 'l2x0', 'p2v', 'pgt' (early part) and 'smp' into for-linus 2011-10-25 08:19:29 +01:00
plat-orion genirq: replace irq_gc_ack() with {set,clr}_bit variants (fwd) 2011-07-07 16:02:26 +00:00
plat-pxa mmc: sdhci-pxa: move platform data to include/linux/platform_data 2011-07-20 17:20:52 -04:00
plat-s3c24xx Merge branch 'next/deletion' of git+ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-25 12:43:28 -07:00
plat-s5p Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty 2011-10-26 15:11:09 +02:00
plat-samsung Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty 2011-10-26 15:11:09 +02:00
plat-spear Merge branch 'next/cross-platform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:12:10 -07:00
plat-tcc ARM: Consolidate the clkdev header files 2011-07-19 18:09:45 +02:00
plat-versatile ARM: consolidate SMP cross call implementation 2011-05-23 16:53:17 +01:00
tools ARM: Add a few machine types to mach-types 2011-10-17 13:28:46 +01:00
vfp ARM: vfp: use -mfloat-abi=soft to build vfp 2011-10-01 21:08:55 +02:00
Kconfig Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2011-10-26 17:15:03 +02:00
Kconfig-nommu Fix common misspellings 2011-03-31 11:26:23 -03:00
Kconfig.debug Merge branches 'arnd-randcfg-fixes', 'debug', 'io' (early part), 'l2x0', 'p2v', 'pgt' (early part) and 'smp' into for-linus 2011-10-25 08:19:29 +01:00
Makefile ARM: 7012/1: Set proper TEXT_OFFSET for newer MSMs 2011-08-13 11:26:18 +01:00