wl12xx: make WL1271_FLAG_RX_STREAMING_STARTED flag per-vif

This flag should be set per-vif, rather than globally.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
This commit is contained in:
Eliad Peller 2011-10-10 10:13:05 +02:00 committed by Luciano Coelho
parent 8181aecce9
commit 0744bdb60b
3 changed files with 7 additions and 7 deletions

View File

@ -514,9 +514,9 @@ static int wl1271_set_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif,
goto out; goto out;
if (enable) if (enable)
set_bit(WL1271_FLAG_RX_STREAMING_STARTED, &wl->flags); set_bit(WLVIF_FLAG_RX_STREAMING_STARTED, &wlvif->flags);
else else
clear_bit(WL1271_FLAG_RX_STREAMING_STARTED, &wl->flags); clear_bit(WLVIF_FLAG_RX_STREAMING_STARTED, &wlvif->flags);
out: out:
return ret; return ret;
} }
@ -531,7 +531,7 @@ int wl1271_recalc_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif)
int period = wl->conf.rx_streaming.interval; int period = wl->conf.rx_streaming.interval;
/* don't reconfigure if rx_streaming is disabled */ /* don't reconfigure if rx_streaming is disabled */
if (!test_bit(WL1271_FLAG_RX_STREAMING_STARTED, &wl->flags)) if (!test_bit(WLVIF_FLAG_RX_STREAMING_STARTED, &wlvif->flags))
goto out; goto out;
/* reconfigure/disable according to new streaming_period */ /* reconfigure/disable according to new streaming_period */
@ -558,7 +558,7 @@ static void wl1271_rx_streaming_enable_work(struct work_struct *work)
mutex_lock(&wl->mutex); mutex_lock(&wl->mutex);
if (test_bit(WL1271_FLAG_RX_STREAMING_STARTED, &wl->flags) || if (test_bit(WLVIF_FLAG_RX_STREAMING_STARTED, &wlvif->flags) ||
!test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags) || !test_bit(WLVIF_FLAG_STA_ASSOCIATED, &wlvif->flags) ||
(!wl->conf.rx_streaming.always && (!wl->conf.rx_streaming.always &&
!test_bit(WL1271_FLAG_SOFT_GEMINI, &wl->flags))) !test_bit(WL1271_FLAG_SOFT_GEMINI, &wl->flags)))
@ -594,7 +594,7 @@ static void wl1271_rx_streaming_disable_work(struct work_struct *work)
mutex_lock(&wl->mutex); mutex_lock(&wl->mutex);
if (!test_bit(WL1271_FLAG_RX_STREAMING_STARTED, &wl->flags)) if (!test_bit(WLVIF_FLAG_RX_STREAMING_STARTED, &wlvif->flags))
goto out; goto out;
ret = wl1271_ps_elp_wakeup(wl); ret = wl1271_ps_elp_wakeup(wl);

View File

@ -670,7 +670,7 @@ void wl12xx_rearm_rx_streaming(struct wl1271 *wl, unsigned long *active_hlids)
continue; continue;
/* enable rx streaming */ /* enable rx streaming */
if (!test_bit(WL1271_FLAG_RX_STREAMING_STARTED, &wl->flags)) if (!test_bit(WLVIF_FLAG_RX_STREAMING_STARTED, &wlvif->flags))
ieee80211_queue_work(wl->hw, ieee80211_queue_work(wl->hw,
&wlvif->rx_streaming_enable_work); &wlvif->rx_streaming_enable_work);

View File

@ -327,7 +327,6 @@ enum wl12xx_flags {
WL1271_FLAG_SUSPENDED, WL1271_FLAG_SUSPENDED,
WL1271_FLAG_PENDING_WORK, WL1271_FLAG_PENDING_WORK,
WL1271_FLAG_SOFT_GEMINI, WL1271_FLAG_SOFT_GEMINI,
WL1271_FLAG_RX_STREAMING_STARTED,
WL1271_FLAG_RECOVERY_IN_PROGRESS, WL1271_FLAG_RECOVERY_IN_PROGRESS,
WL1271_FLAG_CS_PROGRESS, WL1271_FLAG_CS_PROGRESS,
}; };
@ -339,6 +338,7 @@ enum wl12xx_vif_flags {
WLVIF_FLAG_PSM, WLVIF_FLAG_PSM,
WLVIF_FLAG_PSM_REQUESTED, WLVIF_FLAG_PSM_REQUESTED,
WLVIF_FLAG_STA_STATE_SENT, WLVIF_FLAG_STA_STATE_SENT,
WLVIF_FLAG_RX_STREAMING_STARTED,
}; };
struct wl1271_link { struct wl1271_link {