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 576fb25..48d0ee3 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;
 
                                /*