*/
        filter_policy = hci_update_accept_list_sync(hdev);
 
+       /* If suspended and filter_policy set to 0x00 (no acceptlist) then
+        * passive scanning cannot be started since that would require the host
+        * to be woken up to process the reports.
+        */
+       if (hdev->suspended && !filter_policy) {
+               /* Check if accept list is empty then there is no need to scan
+                * while suspended.
+                */
+               if (list_empty(&hdev->le_accept_list))
+                       return 0;
+
+               /* If there are devices is the accept_list that means some
+                * devices could not be programmed which in non-suspended case
+                * means filter_policy needs to be set to 0x00 so the host needs
+                * to filter, but since this is treating suspended case we
+                * can ignore device needing host to filter to allow devices in
+                * the acceptlist to be able to wakeup the system.
+                */
+               filter_policy = 0x01;
+       }
+
        /* When the controller is using random resolvable addresses and
         * with that having LE privacy enabled, then controllers with
         * Extended Scanner Filter Policies support can now enable support