.scan_req.scan_type.type = 0,    /* Foreground */
        };
        struct ieee80211_channel *first;
-       bool first_run = (wvif->scan.begin == wvif->scan.curr &&
-                         wvif->scan.begin != wvif->scan.end);
        int i;
 
        down(&wvif->scan.lock);
        mutex_lock(&wvif->wdev->conf_mutex);
 
-       if (first_run) {
-               if (wvif->state == WFX_STATE_STA &&
-                   !(wvif->powersave_mode.pm_mode.enter_psm)) {
-                       struct hif_req_set_pm_mode pm = wvif->powersave_mode;
-
-                       pm.pm_mode.enter_psm = 1;
-                       wfx_set_pm(wvif, &pm);
-               }
-       }
 
        if (!wvif->scan.req || wvif->scan.curr == wvif->scan.end) {
                if (wvif->scan.output_power != wvif->wdev->output_power)
                __ieee80211_scan_completed_compat(wvif->wdev->hw,
                                                  wvif->scan.status ? 1 : 0);
                up(&wvif->scan.lock);
-               if (wvif->state == WFX_STATE_STA &&
-                   !(wvif->powersave_mode.pm_mode.enter_psm))
-                       wfx_set_pm(wvif, &wvif->powersave_mode);
                return;
        }
        first = *wvif->scan.curr;
 
 {
        struct hif_req_set_pm_mode pm = *arg;
        u16 uapsd_flags;
-       int ret;
 
        if (wvif->state != WFX_STATE_STA || !wvif->bss_params.aid)
                return 0;
                                         msecs_to_jiffies(300)))
                dev_warn(wvif->wdev->dev,
                         "timeout while waiting of set_pm_mode_complete\n");
-       ret = hif_set_pm(wvif, &pm);
-       // FIXME: why ?
-       if (-ETIMEDOUT == wvif->scan.status)
-               wvif->scan.status = 1;
-       return ret;
+       return hif_set_pm(wvif, &pm);
 }
 
 int wfx_set_rts_threshold(struct ieee80211_hw *hw, u32 value)