linux_dsm_epyc7002/drivers/net/wireless/rt2x00
Ivo van Doorn bc8a979e2d rt2x00: Improve TX status entry validation
The TX_STA_FIFO contains some information for identifying
a outgoing frame, however matching by WCID and ACK status is
not sufficient to 100% identify the macthing queue_entry structure
(containing the SKB buffer) which belongs to the status report.

Within TX_STA_FIFO we have a 4-bit field named PACKETID, which is
currently used to encode the queue id. The queue ID is however
limited to values from 0 to 3, which means 2 bits are sufficient
to encode the value. With the remaining 2 bits we can encode a
partial queue_entry index number. The value of PACKETID is not
allowed to become 0, with the queue ID ranging from 0 to 3, at least
one of the bits for the entry identification must be 1.

That leaves us with 3 possible values we can still encode in the
bits. Altough this doesn't allow 100% accurate matching of the
TX_STA_FIFO queue to a queue_entry structure, it at least improves
the accuracy. This allows us to better detect if we have missed the
TX_STA_FIFO report, which in turn reduces the number of watchdog
warnings regarding the TX status timeout.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-10-05 13:35:28 -04:00
..
Kconfig rt2x00: Enable RT30xx by default. 2010-05-04 13:24:23 -04:00
Makefile
rt2x00.h rt2x00: Implement HT protection for rt2800 2010-10-05 13:35:26 -04:00
rt2x00config.c rt2x00: Implement HT protection for rt2800 2010-10-05 13:35:26 -04:00
rt2x00crypto.c mac80211: use cipher suite selectors 2010-08-16 16:45:11 -04:00
rt2x00debug.c rt2x00: Split watchdog check into a DMA and STATUS timeout 2010-08-31 14:22:25 -04:00
rt2x00debug.h
rt2x00dev.c rt2x00: rework tx status handling in rt2800pci 2010-10-05 13:35:26 -04:00
rt2x00dump.h rt2x00: correct sparse warning in rt2x00debug.c 2010-07-20 16:49:41 -04:00
rt2x00firmware.c rt2x00: update fw version info in wiphy struct 2010-08-16 14:39:45 -04:00
rt2x00ht.c rt2x00: Allow tx duplication for legacy rates in HT40 mode 2010-10-05 13:35:27 -04:00
rt2x00leds.c
rt2x00leds.h
rt2x00lib.h rt2x00: Check for specific changed flags when updating the erp config 2010-09-14 16:03:43 -04:00
rt2x00link.c rt2x00: Antenna diversity does not work in 2.6.35 2010-09-14 16:03:43 -04:00
rt2x00mac.c rt2x00: Implement HT protection for rt2800 2010-10-05 13:35:26 -04:00
rt2x00pci.c rt2x00: do not use PCI resources before pci_enable_device() 2010-08-04 15:28:37 -04:00
rt2x00pci.h rt2x00: Move common txdone handling to rt2x00lib_txdone. 2010-06-30 15:00:50 -04:00
rt2x00queue.c rt2x00: Split watchdog check into a DMA and STATUS timeout 2010-08-31 14:22:25 -04:00
rt2x00queue.h rt2x00: Split watchdog check into a DMA and STATUS timeout 2010-08-31 14:22:25 -04:00
rt2x00reg.h rt2x00: Add missing TSF sync mode for AP operation 2010-07-12 16:05:37 -04:00
rt2x00soc.c
rt2x00soc.h
rt2x00usb.c rt2x00: Cleanup rt2x00usb_watchdog_reset_tx 2010-08-31 14:22:25 -04:00
rt2x00usb.h rt2x00: Simplify arguments to rt2x00 driver callback functions 2010-08-25 14:34:54 -04:00
rt61pci.c rt2x00: correctly set max_report_rates in rt61pci and rt2800 2010-10-05 13:35:28 -04:00
rt61pci.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
rt73usb.c rt2x00: Don't enable broad- and multicast buffering on USB devices 2010-10-05 13:35:27 -04:00
rt73usb.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
rt2400pci.c rt2x00: Check for specific changed flags when updating the erp config 2010-09-14 16:03:43 -04:00
rt2400pci.h
rt2500pci.c rt2x00: Check for specific changed flags when updating the erp config 2010-09-14 16:03:43 -04:00
rt2500pci.h
rt2500usb.c rt2x00: Don't enable broad- and multicast buffering on USB devices 2010-10-05 13:35:27 -04:00
rt2500usb.h
rt2800.h rt2x00: Improve TX status entry validation 2010-10-05 13:35:28 -04:00
rt2800lib.c rt2x00: Improve TX status entry validation 2010-10-05 13:35:28 -04:00
rt2800lib.h rt2x00: Split out parts of the rt2800_txdone function for easier reuse 2010-10-05 13:35:26 -04:00
rt2800pci.c rt2x00: Fix race between dma mapping and clearing rx entries in rt2800pci 2010-10-05 13:35:27 -04:00
rt2800pci.h rt2x00: Move all register definitions for rt2800 to rt2800.h. 2010-06-03 10:51:59 +02:00
rt2800usb.c rt2x00: Correctly kill beacon queue 2010-08-31 14:22:24 -04:00
rt2800usb.h rt2x00: Move all register definitions for rt2800 to rt2800.h. 2010-06-03 10:51:59 +02:00