diff options
author | Eliad Peller <eliad@wizery.com> | 2014-02-10 06:47:23 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-02-13 15:20:15 -0500 |
commit | 32f0fd5b700064f821105be041d0075decc4ec64 (patch) | |
tree | efb6c5216fbd72e430e0a8ca8ee3869c45fcc98b /drivers/net/wireless/ti/wlcore | |
parent | da08fdfaf09f161c923c9d2b7db2fba8cc9c457c (diff) |
wlcore/wl12xx/wl18xx: configure max_stations per-hw
Each hw supports a different max stations (connected to the
same ap). add a new wl->max_ap_stations and use it instead
of the current common AP_MAX_STATIONS.
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ti/wlcore')
-rw-r--r-- | drivers/net/wireless/ti/wlcore/main.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/ti/wlcore/wlcore.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ti/wlcore/wlcore_i.h | 2 |
3 files changed, 3 insertions, 5 deletions
diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c index c35d1dce6751..b649726828f9 100644 --- a/drivers/net/wireless/ti/wlcore/main.c +++ b/drivers/net/wireless/ti/wlcore/main.c | |||
@@ -4662,7 +4662,7 @@ static int wl1271_allocate_sta(struct wl1271 *wl, | |||
4662 | int ret; | 4662 | int ret; |
4663 | 4663 | ||
4664 | 4664 | ||
4665 | if (wl->active_sta_count >= AP_MAX_STATIONS) { | 4665 | if (wl->active_sta_count >= wl->max_ap_stations) { |
4666 | wl1271_warning("could not allocate HLID - too much stations"); | 4666 | wl1271_warning("could not allocate HLID - too much stations"); |
4667 | return -EBUSY; | 4667 | return -EBUSY; |
4668 | } | 4668 | } |
@@ -5855,8 +5855,6 @@ struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size, u32 aggr_buf_size, | |||
5855 | int i, j, ret; | 5855 | int i, j, ret; |
5856 | unsigned int order; | 5856 | unsigned int order; |
5857 | 5857 | ||
5858 | BUILD_BUG_ON(AP_MAX_STATIONS > WLCORE_MAX_LINKS); | ||
5859 | |||
5860 | hw = ieee80211_alloc_hw(sizeof(*wl), &wl1271_ops); | 5858 | hw = ieee80211_alloc_hw(sizeof(*wl), &wl1271_ops); |
5861 | if (!hw) { | 5859 | if (!hw) { |
5862 | wl1271_error("could not alloc ieee80211_hw"); | 5860 | wl1271_error("could not alloc ieee80211_hw"); |
diff --git a/drivers/net/wireless/ti/wlcore/wlcore.h b/drivers/net/wireless/ti/wlcore/wlcore.h index 98b1875d6e91..2356bddc7cdb 100644 --- a/drivers/net/wireless/ti/wlcore/wlcore.h +++ b/drivers/net/wireless/ti/wlcore/wlcore.h | |||
@@ -438,6 +438,8 @@ struct wl1271 { | |||
438 | u32 num_rx_desc; | 438 | u32 num_rx_desc; |
439 | /* number of links the HW supports */ | 439 | /* number of links the HW supports */ |
440 | u8 num_links; | 440 | u8 num_links; |
441 | /* max stations a single AP can support */ | ||
442 | u8 max_ap_stations; | ||
441 | 443 | ||
442 | /* translate HW Tx rates to standard rate-indices */ | 444 | /* translate HW Tx rates to standard rate-indices */ |
443 | const u8 **band_rate_to_idx; | 445 | const u8 **band_rate_to_idx; |
diff --git a/drivers/net/wireless/ti/wlcore/wlcore_i.h b/drivers/net/wireless/ti/wlcore/wlcore_i.h index 256d09b3d581..a53a37f2b45a 100644 --- a/drivers/net/wireless/ti/wlcore/wlcore_i.h +++ b/drivers/net/wireless/ti/wlcore/wlcore_i.h | |||
@@ -123,8 +123,6 @@ struct wl1271_chip { | |||
123 | 123 | ||
124 | #define NUM_TX_QUEUES 4 | 124 | #define NUM_TX_QUEUES 4 |
125 | 125 | ||
126 | #define AP_MAX_STATIONS 8 | ||
127 | |||
128 | struct wl_fw_status { | 126 | struct wl_fw_status { |
129 | u32 intr; | 127 | u32 intr; |
130 | u8 fw_rx_counter; | 128 | u8 fw_rx_counter; |