wl1271: Remove beacon-loss-ind from PSM entry failure handling
[pandora-kernel.git] / drivers / net / wireless / wl12xx / wl1271_event.c
index e135d89..8d0c18d 100644 (file)
@@ -78,14 +78,17 @@ static int wl1271_event_ps_report(struct wl1271 *wl,
 
        switch (mbox->ps_status) {
        case EVENT_ENTER_POWER_SAVE_FAIL:
+               if (!wl->psm) {
+                       wl->psm_entry_retry = 0;
+                       break;
+               }
+
                if (wl->psm_entry_retry < wl->conf.conn.psm_entry_retries) {
                        wl->psm_entry_retry++;
-                       wl1271_error("PSM entry failed, retrying %d\n",
-                                    wl->psm_entry_retry);
                        ret = wl1271_ps_set_mode(wl, STATION_POWER_SAVE_MODE);
                } else {
+                       wl1271_error("PSM entry failed, giving up.\n");
                        wl->psm_entry_retry = 0;
-                       *beacon_loss = true;
                }
                break;
        case EVENT_ENTER_POWER_SAVE_SUCCESS:
@@ -180,7 +183,7 @@ void wl1271_event_mbox_config(struct wl1271 *wl)
                     wl->mbox_ptr[0], wl->mbox_ptr[1]);
 }
 
-int wl1271_event_handle(struct wl1271 *wl, u8 mbox_num, bool do_ack)
+int wl1271_event_handle(struct wl1271 *wl, u8 mbox_num)
 {
        struct event_mailbox mbox;
        int ret;
@@ -200,9 +203,7 @@ int wl1271_event_handle(struct wl1271 *wl, u8 mbox_num, bool do_ack)
                return ret;
 
        /* then we let the firmware know it can go on...*/
-       if (do_ack)
-               wl1271_spi_write32(wl, ACX_REG_INTERRUPT_TRIG,
-                                  INTR_TRIG_EVENT_ACK);
+       wl1271_spi_write32(wl, ACX_REG_INTERRUPT_TRIG, INTR_TRIG_EVENT_ACK);
 
        return 0;
 }