genode/repos/dde_linux/patches/iwlwifi_break_busy_loop.patch
2024-08-27 15:33:31 +02:00

18 lines
591 B
Diff

The 'iwl_pcie_spin_for_iml()' implementation contains a loop that
relies on jiffies being constantly incremented due to its use of
'time_before()'. As this is also a macro, rather than playing CPP
shenanigens we fallback to altering the code.
--- src/linux/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c
+++ src/linux/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c
@@ -431,6 +431,9 @@
/* Keep the CPU and device busy. */
value = iwl_read32(trans, CSR_LTR_LAST_MSG);
loops++;
+
+ /* force scheduling to increase jiffies */
+ cpu_relax();
}
IWL_DEBUG_INFO(trans,