}
 
        /*
-        * 6GHz passive scan is allowed while associated in a defined time
-        * interval following HW reset or resume flow
+        * 6GHz passive scan is allowed in a defined time interval following HW
+        * reset or resume flow, or while not associated and a large interval
+        * has passed since the last 6GHz passive scan.
         */
-       if (vif->bss_conf.assoc &&
+       if ((vif->bss_conf.assoc ||
+            time_after(mvm->last_6ghz_passive_scan_jiffies +
+                       (IWL_MVM_6GHZ_PASSIVE_SCAN_TIMEOUT * HZ), jiffies)) &&
            (time_before(mvm->last_reset_or_resume_time_jiffies +
                         (IWL_MVM_6GHZ_PASSIVE_SCAN_ASSOC_TIMEOUT * HZ),
                         jiffies))) {
-               IWL_DEBUG_SCAN(mvm, "6GHz passive scan: associated\n");
-               return;
-       }
-
-       /* No need for 6GHz passive scan if not enough time elapsed */
-       if (time_after(mvm->last_6ghz_passive_scan_jiffies +
-                      (IWL_MVM_6GHZ_PASSIVE_SCAN_TIMEOUT * HZ), jiffies)) {
-               IWL_DEBUG_SCAN(mvm,
-                              "6GHz passive scan: timeout did not expire\n");
+               IWL_DEBUG_SCAN(mvm, "6GHz passive scan: %s\n",
+                              vif->bss_conf.assoc ? "associated" :
+                              "timeout did not expire");
                return;
        }