TKIP extra padding is not required for 18xx cards. Turn this into a quirk for 12xx cards only. 18xx cards must have their Tx spare-blocks updated before any vif can transmit GEM or TKIP encrypted packets. When spare blocks are updated, we must make sure no Tx frame reaches the FW. Otherwise our Tx block accounting will be out of sync. Introduce new internal Tx queue wake/stop APIs to allow us to safely stop the queues for multiple reasons (similar to mac80211). Use the new APIs to prevent all Tx during the change of spare blocks. Arik Nemtsov (5): wlcore/wl12xx/wl18xx: introduce quirk to remove TKIP header space wlcore/wl12xx/wl18xx: handle spare blocks spacial cases per arch wlcore: add stop reason bitmap for waking/starting queues wlcore: stop queues on Tx flush wlcore/wl12xx/wl18xx: implement op_set_key per HW arch drivers/net/wireless/ti/wl12xx/main.c | 27 ++++- drivers/net/wireless/ti/wl18xx/acx.c | 4 + drivers/net/wireless/ti/wl18xx/main.c | 101 ++++++++++++++++--- drivers/net/wireless/ti/wl18xx/tx.c | 3 +- drivers/net/wireless/ti/wl18xx/tx.h | 3 +- drivers/net/wireless/ti/wl18xx/wl18xx.h | 3 + drivers/net/wireless/ti/wlcore/cmd.c | 5 +- drivers/net/wireless/ti/wlcore/debugfs.c | 1 - drivers/net/wireless/ti/wlcore/hw_ops.h | 21 ++++ drivers/net/wireless/ti/wlcore/main.c | 55 ++++++----- drivers/net/wireless/ti/wlcore/tx.c | 152 ++++++++++++++++++++++++----- drivers/net/wireless/ti/wlcore/tx.h | 23 ++++- drivers/net/wireless/ti/wlcore/wlcore.h | 21 +++- drivers/net/wireless/ti/wlcore/wlcore_i.h | 3 - 14 files changed, 343 insertions(+), 79 deletions(-) -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html