summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ti/wl12xx
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2011-12-13 11:11:26 +0100
committerLuciano Coelho <coelho@ti.com>2012-04-12 07:44:00 +0200
commitf83985bb5f8f0f25d44ab7b108a709a52aa1c5e0 (patch)
tree10671a9822fb6ca2db95d03df2c305810bf2747e /drivers/net/wireless/ti/wl12xx
parentwlcore/wl12xx: split Tx completion to immediate/delayed (diff)
downloadlinux-f83985bb5f8f0f25d44ab7b108a709a52aa1c5e0.tar.xz
linux-f83985bb5f8f0f25d44ab7b108a709a52aa1c5e0.zip
wlcore/wl12xx: turn no-Tx-align quirk into Tx-align
Inverting the quirk flag to indicate Tx-alignment. This aligns it with the similar Rx-side quirk. The call to wl1271_set_block_size() decides whether SDIO block size alignment can be used or not. In case we're using SPI, we can't use the block size alignment, so the function returns false. So we set the quirk when wl1271_set_block_size() returns true and let the wl12xx lower driver unset the bit for wl127x (since it doesn't support this quirk). Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/ti/wl12xx')
-rw-r--r--drivers/net/wireless/ti/wl12xx/main.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/net/wireless/ti/wl12xx/main.c b/drivers/net/wireless/ti/wl12xx/main.c
index 6b187d066c51..00ecd2ad495a 100644
--- a/drivers/net/wireless/ti/wl12xx/main.c
+++ b/drivers/net/wireless/ti/wl12xx/main.c
@@ -272,9 +272,10 @@ static int wl12xx_identify_chip(struct wl1271 *wl)
wl1271_warning("chip id 0x%x (1271 PG10) support is obsolete",
wl->chip.id);
- wl->quirks |= WLCORE_QUIRK_NO_BLOCKSIZE_ALIGNMENT |
- WLCORE_QUIRK_LEGACY_NVS;
- wl->plt_fw_name = WL127X_PLT_FW_NAME;
+ /* clear the alignment quirk, since we don't support it */
+ wl->quirks &= ~WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN;
+
+ wl->quirks |= WLCORE_QUIRK_LEGACY_NVS;
wl->sr_fw_name = WL127X_FW_NAME_SINGLE;
wl->mr_fw_name = WL127X_FW_NAME_MULTI;
@@ -287,8 +288,10 @@ static int wl12xx_identify_chip(struct wl1271 *wl)
wl1271_debug(DEBUG_BOOT, "chip id 0x%x (1271 PG20)",
wl->chip.id);
- wl->quirks |= WLCORE_QUIRK_NO_BLOCKSIZE_ALIGNMENT |
- WLCORE_QUIRK_LEGACY_NVS;
+ /* clear the alignment quirk, since we don't support it */
+ wl->quirks &= ~WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN;
+
+ wl->quirks |= WLCORE_QUIRK_LEGACY_NVS;
wl->plt_fw_name = WL127X_PLT_FW_NAME;
wl->sr_fw_name = WL127X_FW_NAME_SINGLE;
wl->mr_fw_name = WL127X_FW_NAME_MULTI;