alistair23-linux/drivers/net/wireless/ralink/rt2x00
Vijayakumar Durai 746ba11f17 rt2x00: do not increment sequence number while re-transmitting
Currently rt2x00 devices retransmit the management frames with
incremented sequence number if hardware is assigning the sequence.

This is HW bug fixed already for non-QOS data frames, but it should
be fixed for management frames except beacon.

Without fix retransmitted frames have wrong SN:

 AlphaNet_e8:fb:36 Vivotek_52:31:51 Authentication, SN=1648, FN=0, Flags=........C Frame is not being retransmitted 1648 1
 AlphaNet_e8:fb:36 Vivotek_52:31:51 Authentication, SN=1649, FN=0, Flags=....R...C Frame is being retransmitted 1649 1
 AlphaNet_e8:fb:36 Vivotek_52:31:51 Authentication, SN=1650, FN=0, Flags=....R...C Frame is being retransmitted 1650 1

With the fix SN stays correctly the same:

 88:6a:e3:e8:f9:a2 8c:f5:a3:88:76:87 Authentication, SN=1450, FN=0, Flags=........C
 88:6a:e3:e8:f9:a2 8c:f5:a3:88:76:87 Authentication, SN=1450, FN=0, Flags=....R...C
 88:6a:e3:e8:f9:a2 8c:f5:a3:88:76:87 Authentication, SN=1450, FN=0, Flags=....R...C

Cc: stable@vger.kernel.org
Signed-off-by: Vijayakumar Durai <vijayakumar.durai1@vivint.com>
[sgruszka: simplify code, change comments and changelog]
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2019-04-12 21:31:07 +03:00
..
Kconfig rt2x00: add support for MT7620 2017-03-22 11:04:52 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rt2x00.h rt2x00: do not increment sequence number while re-transmitting 2019-04-12 21:31:07 +03:00
rt2x00config.c rt2x00: save conf settings before reset tuner 2017-01-17 13:58:36 +02:00
rt2x00crypto.c
rt2x00debug.c rt2x00: no need to check return value of debugfs_create functions 2019-02-01 14:38:54 +02:00
rt2x00debug.h rt2x00: change function pointers for register accessors 2017-05-24 16:45:32 +03:00
rt2x00dev.c mac80211: separate encoding/bandwidth from flags 2017-04-28 10:41:45 +02:00
rt2x00dump.h rt2x00: use monotonic timestamps for frame dump 2017-11-10 04:33:05 +02:00
rt2x00firmware.c
rt2x00leds.c
rt2x00leds.h
rt2x00lib.h rt2x00: merge agc and vco works with link tuner 2016-12-30 13:34:20 +02:00
rt2x00link.c rt2x00: add mutex to synchronize config and link tuner 2016-12-30 14:03:41 +02:00
rt2x00mac.c rt2x00: do not increment sequence number while re-transmitting 2019-04-12 21:31:07 +03:00
rt2x00mmio.c cross-tree: phase out dma_zalloc_coherent() 2019-01-08 07:58:37 -05:00
rt2x00mmio.h rt2x00: convert rt2x00mmio_register_read return type 2017-05-24 16:45:33 +03:00
rt2x00pci.c rt2x00pci: Disable memory-write-invalidate when the driver exits 2016-01-07 11:22:46 +02:00
rt2x00pci.h PCI: Add PCI_DEVICE_DATA() macro to fully describe device ID entry 2018-08-14 16:01:37 -05:00
rt2x00queue.c rt2x00: do not increment sequence number while re-transmitting 2019-04-12 21:31:07 +03:00
rt2x00queue.h rt2x00: convert rt2x00_desc_read return type 2017-05-24 16:45:37 +03:00
rt2x00reg.h
rt2x00soc.c rt2x00: fix clk_get call 2017-01-31 09:08:52 +02:00
rt2x00soc.h
rt2x00usb.c rt2x00usb: mark device removed when get ENOENT usb error 2017-11-10 04:32:07 +02:00
rt2x00usb.h rt2x00: convert rt2x00usb_register_read return type 2017-05-24 16:45:34 +03:00
rt61pci.c rt2x00: Work around a firmware bug with shared keys 2019-02-01 14:16:05 +02:00
rt61pci.h net: wireless: rt2x00: Fixed Spacing issues 2016-02-07 09:10:05 +02:00
rt73usb.c wireless: Use octal not symbolic permissions 2018-03-27 11:01:13 +03:00
rt73usb.h
rt2400pci.c rt2x00: rt2400pci: mark expected switch fall-through 2018-11-06 18:59:44 +02:00
rt2400pci.h
rt2500pci.c rt2x00: rt2500pci: mark expected switch fall-through 2018-11-06 18:59:49 +02:00
rt2500pci.h
rt2500usb.c wireless: Use octal not symbolic permissions 2018-03-27 11:01:13 +03:00
rt2500usb.h
rt2800.h rt2x00: fix spelling mistake in various macros, UKNOWN -> UNKNOWN 2018-04-30 13:34:51 +03:00
rt2800lib.c rt2800: comment and simplify AGC init for RT6352 2019-02-19 17:18:57 +02:00
rt2800lib.h rt2800: move usb specific txdone/txstatus routines to rt2800lib 2018-10-01 18:37:27 +03:00
rt2800mmio.c rt2800: flush and txstatus rework for rt2800mmio 2018-10-01 18:37:35 +03:00
rt2800mmio.h rt2800: flush and txstatus rework for rt2800mmio 2018-10-01 18:37:35 +03:00
rt2800pci.c rt2800: flush and txstatus rework for rt2800mmio 2018-10-01 18:37:35 +03:00
rt2800pci.h
rt2800soc.c rt2x00: call sta_add/remove directly in rt2800 2018-05-04 15:34:19 +03:00
rt2800usb.c rt2800: move usb specific txdone/txstatus routines to rt2800lib 2018-10-01 18:37:27 +03:00
rt2800usb.h