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

Reply via email to