Closed cnuke closed 3 weeks ago
Commit 2761d6b addresses the issue by checking if the interval changed beforehand and uses the new value to potentially arm the timer again.
Since I cannot recall why the original implementation checked if the new timer value is greater than the old one, it is now checked if the merely changed at all. Invalid or rather a disabled check is already performed by the _arm_scan_timer
member function.
(During testing I noticed that _arm_scan_timer
is called from different locations and is called - in connection with the RFKILL handling - more often then is strictly necessary. That should be addresses when the state-machine is reevaluted.)
The commit that added support for re-arming the scan timer used the previous timeout value rather than the newly set one.