The function apple_airport_reset is not called in atomic context. Thus mdelay can be replaced with usleep_range, to avoid busy wait.
This is reported by a static analysis tool named DCNS written by myself. Signed-off-by: Jia-Ju Bai <[email protected]> --- arch/x86/kernel/early-quirks.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c index 1e82f78..559e81a 100644 --- a/arch/x86/kernel/early-quirks.c +++ b/arch/x86/kernel/early-quirks.c @@ -604,7 +604,7 @@ static void __init apple_airport_reset(int bus, int slot, int func) if ((pmcsr & PCI_PM_CTRL_STATE_MASK) != PCI_D0) { pmcsr &= ~PCI_PM_CTRL_STATE_MASK; write_pci_config_16(bus, slot, func, BCM4331_PM_CAP + PCI_PM_CTRL, pmcsr); - mdelay(10); + usleep_range(10000, 11000); pmcsr = read_pci_config_16(bus, slot, func, BCM4331_PM_CAP + PCI_PM_CTRL); if ((pmcsr & PCI_PM_CTRL_STATE_MASK) != PCI_D0) { -- 1.7.9.5

