OpenCloudOS-Kernel/arch/mips
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
..
alchemy MIPS: Alchemy: DB1200: Disable cascade IRQ in handler 2011-09-21 17:53:32 +02:00
ar7 MIPS: Mark cascade and low level interrupts IRQF_NO_THREAD 2011-09-21 17:52:15 +02:00
ath79 USB: ohci: add bus glue for the Atheros AR71XX/AR7240 SoCs 2011-04-13 16:58:19 -07:00
bcm47xx bcm47xx: fix irq assignment for new SoCs. 2011-08-08 14:29:33 -04:00
bcm63xx MIPS: Mark cascade and low level interrupts IRQF_NO_THREAD 2011-09-21 17:52:15 +02:00
boot MIPS: Alchemy: Rewrite UART setup and constants. 2011-05-19 09:55:45 +01:00
cavium-octeon Merge git://git.infradead.org/mtd-2.6 2011-05-27 20:06:53 -07:00
cobalt MIPS: Mark cascade and low level interrupts IRQF_NO_THREAD 2011-09-21 17:52:15 +02:00
configs rtc: fix build warnings in defconfigs 2011-06-15 20:04:02 -07:00
dec MIPS: Mark cascade and low level interrupts IRQF_NO_THREAD 2011-09-21 17:52:15 +02:00
emma MIPS: Mark cascade and low level interrupts IRQF_NO_THREAD 2011-09-21 17:52:15 +02:00
fw Merge branch 'master' into for-next 2011-04-26 10:22:59 +02:00
include/asm net: add wireless TX status socket option 2011-11-09 16:01:02 -05:00
jazz i8253: Create linux/i8253.h and use it in all 8253 related files 2011-06-09 15:01:37 +02:00
jz4740 MIPS: PM: Use struct syscore_ops instead of sysdevs for PM (v2) 2011-09-21 17:53:51 +02:00
kernel MIPS: Call oops_enter, oops_exit in die 2011-10-01 20:36:04 +01:00
lantiq MIPS: Lantiq: Fix external interrupt sources 2011-09-21 17:53:12 +02:00
lasat MIPS: Mark cascade and low level interrupts IRQF_NO_THREAD 2011-09-21 17:52:15 +02:00
lib MIPS: Kconfig and Makefile update for Netlogic XLR/XLS 2011-05-19 09:55:40 +01:00
loongson MIPS: Loongson: Mark cascade interrupts IRQF_NO_THREAD 2011-09-21 17:52:22 +02:00
math-emu perf: Remove the nmi parameter from the swevent and overflow interface 2011-07-01 11:06:35 +02:00
mipssim atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
mm MIPS: No branches in delay slots for huge pages in handle_tlbl 2011-09-21 17:54:07 +02:00
mti-malta MIPS: Mark cascade and low level interrupts IRQF_NO_THREAD 2011-09-21 17:52:15 +02:00
netlogic MIPS: Do not use EXTRA_CFLAGS 2011-09-21 17:53:38 +02:00
nxp/pnx8550/common MIPS: Remove pointless return statement from empty void functions. 2011-07-25 17:26:55 +01:00
oprofile MIPS: oprofile: Add callgraph support 2011-06-15 14:35:34 +02:00
pci Merge branch 'master' of ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2011-10-24 18:18:09 -04:00
pmc-sierra Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty 2011-10-26 15:11:09 +02:00
pnx833x Fix common misspellings 2011-03-31 11:26:23 -03:00
pnx8550 MIPS: Mark cascade and low level interrupts IRQF_NO_THREAD 2011-09-21 17:52:15 +02:00
power MIPS: Hibernation: Fixes for PAGE_SIZE >= 64kb 2011-05-10 18:15:26 +01:00
powertv treewide: Convert uses of struct resource to resource_size(ptr) 2011-06-10 14:55:36 +02:00
rb532 MIPS: RB532: Use hex_to_bin() 2011-07-25 17:26:56 +01:00
sgi-ip22 MIPS: Mark cascade and low level interrupts IRQF_NO_THREAD 2011-09-21 17:52:15 +02:00
sgi-ip27 atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
sgi-ip32 MIPS: Convert the irq functions to the new names 2011-03-29 14:48:07 +02:00
sibyte MIPS: SB1250: Restore dropped irq_mask function 2011-07-20 23:12:11 +01:00
sni MIPS: Mark cascade and low level interrupts IRQF_NO_THREAD 2011-09-21 17:52:15 +02:00
txx9 net: consolidate and fix ethtool_ops->get_settings calling 2011-09-15 17:32:26 -04:00
vr41xx MIPS: Mark cascade and low level interrupts IRQF_NO_THREAD 2011-09-21 17:52:15 +02:00
wrppmc MIPS: WRPPMC: Migrate to new platform makefile style. 2010-08-05 13:25:51 +01:00
Kbuild MIPS: Repair Kbuild make clean breakage. 2010-10-19 18:32:39 +01:00
Kbuild.platforms MIPS: XLR, XLS: Move makefile bits to were they belong. 2011-07-20 23:12:11 +01:00
Kconfig Merge branch 'master' of ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2011-10-24 18:18:09 -04:00
Kconfig.debug lib: consolidate DEBUG_STACK_USAGE option 2011-05-25 08:39:54 -07:00
Makefile MIPS: XLR, XLS: Move makefile bits to were they belong. 2011-07-20 23:12:11 +01:00