mac80211: do not send pspoll when powersave is disabled
authorRajkumar Manoharan <rmanohar@qca.qualcomm.com>
Thu, 15 Mar 2012 00:20:36 +0000 (05:50 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 9 Apr 2012 20:05:54 +0000 (16:05 -0400)
There might be latency at AP side to update TIM IE which could cause the
station to send pspoll frame even after the wakeup. If the powersave is
disabled, the nullfunc notification alone is sufficient to receive
frames from the AP. And if the pspoll frame was already sent, no need to
resend the frame till it was acked by AP.

Cc: Jouni Malinen <jouni@qca.qualcomm.com>
Cc: Kalle Valo <kvalo@qca.qualcomm.com>
Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/mlme.c

index 576fb25456dd7479a0ed51c50efad9c6a238c3d1..48d0ee3f15dc17d3fb9a6dc5e75847f1831527ea 100644 (file)
@@ -2472,7 +2472,7 @@ static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata,
                                ieee80211_hw_config(local,
                                                    IEEE80211_CONF_CHANGE_PS);
                                ieee80211_send_nullfunc(local, sdata, 0);
-                       } else {
+                       } else if (!local->pspolling && sdata->u.mgd.powersave) {
                                local->pspolling = true;
 
                                /*