wl12xx: make WL1271_FLAG_RX_STREAMING_STARTED flag per-vif
authorEliad Peller <eliad@wizery.com>
Mon, 10 Oct 2011 08:13:05 +0000 (10:13 +0200)
committerLuciano Coelho <coelho@ti.com>
Tue, 11 Oct 2011 12:09:58 +0000 (15:09 +0300)
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>
drivers/net/wireless/wl12xx/main.c
drivers/net/wireless/wl12xx/tx.c
drivers/net/wireless/wl12xx/wl12xx.h

index 63340ad8451dc2bd2a150e655010b666e3c573d7..9042445e0d039b1c04f57bc98cb6af2c9d8c3710 100644 (file)
@@ -514,9 +514,9 @@ static int wl1271_set_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif,
                goto out;
 
        if (enable)
-               set_bit(WL1271_FLAG_RX_STREAMING_STARTED, &wl->flags);
+               set_bit(WLVIF_FLAG_RX_STREAMING_STARTED, &wlvif->flags);
        else
-               clear_bit(WL1271_FLAG_RX_STREAMING_STARTED, &wl->flags);
+               clear_bit(WLVIF_FLAG_RX_STREAMING_STARTED, &wlvif->flags);
 out:
        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;
 
        /* 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;
 
        /* 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);
 
-       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) ||
            (!wl->conf.rx_streaming.always &&
             !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);
 
-       if (!test_bit(WL1271_FLAG_RX_STREAMING_STARTED, &wl->flags))
+       if (!test_bit(WLVIF_FLAG_RX_STREAMING_STARTED, &wlvif->flags))
                goto out;
 
        ret = wl1271_ps_elp_wakeup(wl);
index a60d8feb69e43922f9e465ecf51c237ff828d308..3cf7166dab63b0bcb1e72727d88f801f897f36a4 100644 (file)
@@ -670,7 +670,7 @@ void wl12xx_rearm_rx_streaming(struct wl1271 *wl, unsigned long *active_hlids)
                        continue;
 
                /* 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,
                                             &wlvif->rx_streaming_enable_work);
 
index 9de57dd71c34f831d6d54b4ceb5fcd65d4639a2d..5b5c930933475c027773b80d3011bdff52dad66d 100644 (file)
@@ -327,7 +327,6 @@ enum wl12xx_flags {
        WL1271_FLAG_SUSPENDED,
        WL1271_FLAG_PENDING_WORK,
        WL1271_FLAG_SOFT_GEMINI,
-       WL1271_FLAG_RX_STREAMING_STARTED,
        WL1271_FLAG_RECOVERY_IN_PROGRESS,
        WL1271_FLAG_CS_PROGRESS,
 };
@@ -339,6 +338,7 @@ enum wl12xx_vif_flags {
        WLVIF_FLAG_PSM,
        WLVIF_FLAG_PSM_REQUESTED,
        WLVIF_FLAG_STA_STATE_SENT,
+       WLVIF_FLAG_RX_STREAMING_STARTED,
 };
 
 struct wl1271_link {