[net] e1000e: fix scheduling while atomic bug

From: Jeff Kirsher
Date: Tue May 07 2013 - 01:52:57 EST


From: Bruce Allan <bruce.w.allan@xxxxxxxxx>

A scheduling while atomic bug was introduced recently (by commit ce43a216
e1000e: cleanup USLEEP_RANGE checkpatch checks). Revert the particular
instance of usleep_range() which causes the bug.

Reported-by: Maarten Lankhorst <m.b.lankhorst@xxxxxxxxx>
Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
---
drivers/net/ethernet/intel/e1000e/e1000.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/e1000e/e1000.h b/drivers/net/ethernet/intel/e1000e/e1000.h
index 82f1c84..ffbc08f 100644
--- a/drivers/net/ethernet/intel/e1000e/e1000.h
+++ b/drivers/net/ethernet/intel/e1000e/e1000.h
@@ -600,7 +600,7 @@ static inline s32 __ew32_prepare(struct e1000_hw *hw)
s32 i = E1000_ICH_FWSM_PCIM2PCI_COUNT;

while ((er32(FWSM) & E1000_ICH_FWSM_PCIM2PCI) && --i)
- usleep_range(50, 100);
+ udelay(50);

return i;
}
--
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/