linux/drivers/staging/wfx
Jérôme Pouiller a3c529a835 staging: wfx: simplify handling of IEEE80211_TX_CTL_SEND_AFTER_DTIM
When mac80211 ask for a frame to be sent after a DTIM, driver should:
  1. Update TIM with multicast bit set (using update_ie). This function
     can be called whenever.
  2. Keep buffered all frames marked "after dtim"
  3. When it receive a suspend_resume indication (see
     wfx_suspend_resume_mc()), send all the buffered frames. This
     indication is sent by the firmware 4ms before the dtim.
  4. If one of the frames returns status "REQUEUE", it means that the
     DTIM period was ended before to be able to send the frame.
  5. When all the buffered frames were sent or if DTIM period was ended,
     driver should update the TIM with multicast bit reset.

All the mess with the asynchronous works can be dropped.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200115135338.14374-58-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-01-16 20:59:52 +01:00
..
Documentation/devicetree/bindings/net/wireless staging: wfx: fix spelling mistake "hexdecimal" -> "hexadecimal" 2019-10-08 14:46:21 +02:00
bh.c staging: wfx: device already handle sleep mode during scan 2019-12-18 15:56:26 +01:00
bh.h staging: wfx: add IRQ handling 2019-10-04 10:43:40 +02:00
bus_sdio.c staging: align to fix warnings of line over 80 characters 2019-11-14 11:10:48 +08:00
bus_spi.c staging: wfx: use meaningful names for CFG_BYTE_ORDER_* 2019-12-18 15:56:00 +01:00
bus.h staging: wfx: fix warning of line over 80 characters 2019-10-26 20:43:46 +02:00
data_rx.c staging: wfx: pspoll_mask make no sense 2020-01-16 20:59:52 +01:00
data_rx.h staging: wfx: ensure that received hif messages are never modified 2019-12-18 15:56:04 +01:00
data_tx.c staging: wfx: simplify handling of IEEE80211_TX_CTL_SEND_AFTER_DTIM 2020-01-16 20:59:52 +01:00
data_tx.h staging: wfx: replace wfx_tx_get_tid() with ieee80211_get_tid() 2020-01-16 20:59:52 +01:00
debug.c staging: wfx: revert unexpected change in debugfs output 2020-01-16 20:59:45 +01:00
debug.h staging: wfx: allow to send commands to chip 2019-10-04 10:46:10 +02:00
fwio.c staging: wfx: use meaningful names for CFG_BYTE_ORDER_* 2019-12-18 15:56:00 +01:00
fwio.h staging: wfx: load firmware 2019-10-04 10:43:39 +02:00
hif_api_cmd.h staging: wfx: simplify handling of IEEE80211_TX_CTL_SEND_AFTER_DTIM 2020-01-16 20:59:52 +01:00
hif_api_general.h staging: wfx: replace uintXX_t to uXX and intXX_t to sXX 2019-11-11 15:56:51 +01:00
hif_api_mib.h staging: wfx: simplify hif_mib_set_data_filtering 2020-01-16 20:59:50 +01:00
hif_rx.c staging: wfx: simplify wfx_suspend_resume_mc() 2020-01-16 20:59:52 +01:00
hif_rx.h staging: wfx: add support for start-up indication 2019-10-04 10:46:09 +02:00
hif_tx_mib.h staging: wfx: fix case where RTS threshold is 0 2020-01-16 20:59:51 +01:00
hif_tx.c staging: wfx: simplify hif_join() 2020-01-16 20:59:49 +01:00
hif_tx.h staging: wfx: simplify hif_join() 2020-01-16 20:59:49 +01:00
hwio.c staging: align to fix warnings of line over 80 characters 2019-11-14 11:10:48 +08:00
hwio.h staging: wfx: use meaningful names for CFG_BYTE_ORDER_* 2019-12-18 15:56:00 +01:00
Kconfig staging: wfx: fix CONFIG_MMC=m with CONFIG_WFX=y 2019-10-26 20:42:32 +02:00
key.c staging: align to fix warnings of line over 80 characters 2019-11-14 11:10:48 +08:00
key.h staging: wfx: implement 802.11 key handling 2019-10-04 10:48:54 +02:00
main.c staging: wfx: update power-save per interface 2020-01-16 20:59:50 +01:00
main.h staging: wfx: relocate wfx_fill_sl_key() in secure_link.h 2019-10-26 20:42:31 +02:00
Makefile staging: wfx: implement 802.11 key handling 2019-10-04 10:48:54 +02:00
queue.c staging: wfx: simplify handling of IEEE80211_TX_CTL_SEND_AFTER_DTIM 2020-01-16 20:59:52 +01:00
queue.h staging: wfx: simplify handling of IEEE80211_TX_CTL_SEND_AFTER_DTIM 2020-01-16 20:59:52 +01:00
scan.c staging: wfx: simplify wfx_scan_complete() 2020-01-16 20:59:50 +01:00
scan.h staging: wfx: simplify wfx_scan_complete() 2020-01-16 20:59:50 +01:00
secure_link.h staging: wfx: ensure that received hif messages are never modified 2019-12-18 15:56:04 +01:00
sta.c staging: wfx: simplify handling of IEEE80211_TX_CTL_SEND_AFTER_DTIM 2020-01-16 20:59:52 +01:00
sta.h staging: wfx: simplify wfx_suspend_resume_mc() 2020-01-16 20:59:52 +01:00
TODO staging: wfx: update TODO 2019-12-18 15:56:33 +01:00
traces.h staging: wfx: ensure that traces never modify arguments 2019-12-18 15:56:03 +01:00
wfx.h staging: wfx: simplify handling of IEEE80211_TX_CTL_SEND_AFTER_DTIM 2020-01-16 20:59:52 +01:00