aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/901-wlcore-memset-wl--rx_filter_enabled-to-zero-after-recovery.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/901-wlcore-memset-wl--rx_filter_enabled-to-zero-after-recovery.patch')
-rw-r--r--package/kernel/mac80211/patches/901-wlcore-memset-wl--rx_filter_enabled-to-zero-after-recovery.patch73
1 files changed, 0 insertions, 73 deletions
diff --git a/package/kernel/mac80211/patches/901-wlcore-memset-wl--rx_filter_enabled-to-zero-after-recovery.patch b/package/kernel/mac80211/patches/901-wlcore-memset-wl--rx_filter_enabled-to-zero-after-recovery.patch
deleted file mode 100644
index df2a6e9448..0000000000
--- a/package/kernel/mac80211/patches/901-wlcore-memset-wl--rx_filter_enabled-to-zero-after-recovery.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-zero rx_filter_enabled array after recovery to avoid
-cases were the driver will keep trying to clear a
-filter which is not configured in FW.
-
-Such case will cause consecutive recoveries due to
-command execution failures.
-
-While on it, convert rx_filter_enabled to bitmap,
-to save some memory and make sparse happy (it
-doesn't like sizeof(bool array)).
-
-Signed-off-by: Nadim Zubidat <nadimz@ti.com>
-Signed-off-by: Eliad Peller <eliad@wizery.com>
-
----
-drivers/net/wireless/ti/wlcore/main.c | 1 +
- drivers/net/wireless/ti/wlcore/rx.c | 9 ++++++---
- drivers/net/wireless/ti/wlcore/wlcore.h | 2 +-
- 3 files changed, 8 insertions(+), 4 deletions(-)
-
---- a/drivers/net/wireless/ti/wlcore/main.c
-+++ b/drivers/net/wireless/ti/wlcore/main.c
-@@ -1914,6 +1914,7 @@ static void wlcore_op_stop_locked(struct
- memset(wl->links_map, 0, sizeof(wl->links_map));
- memset(wl->roc_map, 0, sizeof(wl->roc_map));
- memset(wl->session_ids, 0, sizeof(wl->session_ids));
-+ memset(wl->rx_filter_enabled, 0, sizeof(wl->rx_filter_enabled));
- wl->active_sta_count = 0;
- wl->active_link_count = 0;
-
---- a/drivers/net/wireless/ti/wlcore/rx.c
-+++ b/drivers/net/wireless/ti/wlcore/rx.c
-@@ -302,7 +302,7 @@ int wl1271_rx_filter_enable(struct wl127
- {
- int ret;
-
-- if (wl->rx_filter_enabled[index] == enable) {
-+ if (!!test_bit(index, wl->rx_filter_enabled) == enable) {
- wl1271_warning("Request to enable an already "
- "enabled rx filter %d", index);
- return 0;
-@@ -316,7 +316,10 @@ int wl1271_rx_filter_enable(struct wl127
- return ret;
- }
-
-- wl->rx_filter_enabled[index] = enable;
-+ if (enable)
-+ __set_bit(index, wl->rx_filter_enabled);
-+ else
-+ __clear_bit(index, wl->rx_filter_enabled);
-
- return 0;
- }
-@@ -326,7 +329,7 @@ int wl1271_rx_filter_clear_all(struct wl
- int i, ret = 0;
-
- for (i = 0; i < WL1271_MAX_RX_FILTERS; i++) {
-- if (!wl->rx_filter_enabled[i])
-+ if (!test_bit(i, wl->rx_filter_enabled))
- continue;
- ret = wl1271_rx_filter_enable(wl, i, 0, NULL);
- if (ret)
---- a/drivers/net/wireless/ti/wlcore/wlcore.h
-+++ b/drivers/net/wireless/ti/wlcore/wlcore.h
-@@ -453,7 +453,7 @@ struct wl1271 {
- size_t fw_status_priv_len;
-
- /* RX Data filter rule state - enabled/disabled */
-- bool rx_filter_enabled[WL1271_MAX_RX_FILTERS];
-+ unsigned long rx_filter_enabled[BITS_TO_LONGS(WL1271_MAX_RX_FILTERS)];
-
- /* size of the private static data */
- size_t static_data_priv_len;