diff options
-rw-r--r-- | drivers/net/wireless/ti/wl18xx/main.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/ti/wlcore/scan.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/ti/wlcore/wlcore.h | 3 |
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) |