|
@@ -1191,9 +1191,13 @@ static int wl1271_chip_wakeup(struct wl1271 *wl)
|
|
|
wl1271_debug(DEBUG_BOOT, "chip id 0x%x (1271 PG20)",
|
|
|
wl->chip.id);
|
|
|
|
|
|
- /* end-of-transaction flag should be set in wl127x AP mode */
|
|
|
+ /*
|
|
|
+ * 'end-of-transaction flag' and 'LPD mode flag'
|
|
|
+ * should be set in wl127x AP mode only
|
|
|
+ */
|
|
|
if (wl->bss_type == BSS_TYPE_AP_BSS)
|
|
|
- wl->quirks |= WL12XX_QUIRK_END_OF_TRANSACTION;
|
|
|
+ wl->quirks |= (WL12XX_QUIRK_END_OF_TRANSACTION |
|
|
|
+ WL12XX_QUIRK_LPD_MODE);
|
|
|
|
|
|
ret = wl1271_setup(wl);
|
|
|
if (ret < 0)
|
|
@@ -1206,6 +1210,7 @@ static int wl1271_chip_wakeup(struct wl1271 *wl)
|
|
|
ret = wl1271_setup(wl);
|
|
|
if (ret < 0)
|
|
|
goto out;
|
|
|
+
|
|
|
if (wl1271_set_block_size(wl))
|
|
|
wl->quirks |= WL12XX_QUIRK_BLOCKSIZE_ALIGNMENT;
|
|
|
break;
|