From: Kalle Valo Date: Thu, 18 Feb 2010 11:25:47 +0000 (+0200) Subject: wl1271: wakeup chip in op_conf_tx() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=c82c1dde3024715c4cd8b6dd8cc7c75d8d7d93c8;p=linux-beck.git wl1271: wakeup chip in op_conf_tx() elp_wakeup() was missing in op_conf_tx() which caused wakeup problems in power save. I forgot to add this part when porting the patch from wl1251. Signed-off-by: Kalle Valo Reviewed-by: Juuso Oikarinen Signed-off-by: Juuso Oikarinen Signed-off-by: John W. Linville --- diff --git a/drivers/net/wireless/wl12xx/wl1271_main.c b/drivers/net/wireless/wl12xx/wl1271_main.c index c7f5191e7dbf..9de7df76f53b 100644 --- a/drivers/net/wireless/wl12xx/wl1271_main.c +++ b/drivers/net/wireless/wl12xx/wl1271_main.c @@ -1738,11 +1738,15 @@ static int wl1271_op_conf_tx(struct ieee80211_hw *hw, u16 queue, wl1271_debug(DEBUG_MAC80211, "mac80211 conf tx %d", queue); + ret = wl1271_ps_elp_wakeup(wl, false); + if (ret < 0) + goto out; + ret = wl1271_acx_ac_cfg(wl, wl1271_tx_get_queue(queue), params->cw_min, params->cw_max, params->aifs, params->txop); if (ret < 0) - goto out; + goto out_sleep; ret = wl1271_acx_tid_cfg(wl, wl1271_tx_get_queue(queue), CONF_CHANNEL_TYPE_EDCF, @@ -1750,7 +1754,10 @@ static int wl1271_op_conf_tx(struct ieee80211_hw *hw, u16 queue, CONF_PS_SCHEME_LEGACY_PSPOLL, CONF_ACK_POLICY_LEGACY, 0, 0); if (ret < 0) - goto out; + goto out_sleep; + +out_sleep: + wl1271_ps_elp_sleep(wl); out: mutex_unlock(&wl->mutex);