aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/ti/wl18xx/main.c1
-rw-r--r--drivers/net/wireless/ti/wlcore/scan.c3
-rw-r--r--drivers/net/wireless/ti/wlcore/wlcore.h3
3 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/wireless/ti/wl18xx/main.c b/drivers/net/wireless/ti/wl18xx/main.c
index 5e583be8f674..16847eccfe80 100644
--- a/drivers/net/wireless/ti/wl18xx/main.c
+++ b/drivers/net/wireless/ti/wl18xx/main.c
@@ -609,6 +609,7 @@ static int wl18xx_identify_chip(struct wl1271 *wl)
609 wl->quirks |= WLCORE_QUIRK_NO_ELP | 609 wl->quirks |= WLCORE_QUIRK_NO_ELP |
610 WLCORE_QUIRK_RX_BLOCKSIZE_ALIGN | 610 WLCORE_QUIRK_RX_BLOCKSIZE_ALIGN |
611 WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN | 611 WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN |
612 WLCORE_QUIRK_NO_SCHED_SCAN_WHILE_CONN |
612 WLCORE_QUIRK_TX_PAD_LAST_FRAME; 613 WLCORE_QUIRK_TX_PAD_LAST_FRAME;
613 break; 614 break;
614 case CHIP_ID_185x_PG10: 615 case CHIP_ID_185x_PG10:
diff --git a/drivers/net/wireless/ti/wlcore/scan.c b/drivers/net/wireless/ti/wlcore/scan.c
index d9daed53ceb7..5702d99d8c97 100644
--- a/drivers/net/wireless/ti/wlcore/scan.c
+++ b/drivers/net/wireless/ti/wlcore/scan.c
@@ -766,7 +766,8 @@ int wl1271_scan_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif)
766 if (wlvif->bss_type != BSS_TYPE_STA_BSS) 766 if (wlvif->bss_type != BSS_TYPE_STA_BSS)
767 return -EOPNOTSUPP; 767 return -EOPNOTSUPP;
768 768
769 if (test_bit(WLVIF_FLAG_IN_USE, &wlvif->flags)) 769 if ((wl->quirks & WLCORE_QUIRK_NO_SCHED_SCAN_WHILE_CONN) &&
770 test_bit(WLVIF_FLAG_IN_USE, &wlvif->flags))
770 return -EBUSY; 771 return -EBUSY;
771 772
772 start = kzalloc(sizeof(*start), GFP_KERNEL); 773 start = kzalloc(sizeof(*start), GFP_KERNEL);
diff --git a/drivers/net/wireless/ti/wlcore/wlcore.h b/drivers/net/wireless/ti/wlcore/wlcore.h
index e796974df59b..216bdb0f2756 100644
--- a/drivers/net/wireless/ti/wlcore/wlcore.h
+++ b/drivers/net/wireless/ti/wlcore/wlcore.h
@@ -437,6 +437,9 @@ wlcore_set_ht_cap(struct wl1271 *wl, enum ieee80211_band band,
437/* extra header space is required for TKIP */ 437/* extra header space is required for TKIP */
438#define WLCORE_QUIRK_TKIP_HEADER_SPACE BIT(8) 438#define WLCORE_QUIRK_TKIP_HEADER_SPACE BIT(8)
439 439
440/* Some firmwares not support sched scans while connected */
441#define WLCORE_QUIRK_NO_SCHED_SCAN_WHILE_CONN BIT(9)
442
440/* TODO: move to the lower drivers when all usages are abstracted */ 443/* TODO: move to the lower drivers when all usages are abstracted */
441#define CHIP_ID_1271_PG10 (0x4030101) 444#define CHIP_ID_1271_PG10 (0x4030101)
442#define CHIP_ID_1271_PG20 (0x4030111) 445#define CHIP_ID_1271_PG20 (0x4030111)