From: Francois Romieu Date: Wed, 16 Aug 2006 13:23:13 +0000 (+0200) Subject: r8169: udelay() removal X-Git-Tag: v2.6.19-rc1~1263^2~34^2~5 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=b518fa8eac2d0ac497c0fdb27e4cec68d0249bb7;p=~emulex%2Finfiniband.git r8169: udelay() removal No need to chew CPU cycles as there is no heavy timing requirement and the delays are always requested from a sleepable context. Signed-off-by: Francois Romieu --- diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index b07d2eadeae..653b9a7a417 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -1623,10 +1623,10 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) RTL_W8(ChipCmd, CmdReset); /* Check that the chip has finished the reset. */ - for (i = 1000; i > 0; i--) { + for (i = 100; i > 0; i--) { if ((RTL_R8(ChipCmd) & CmdReset) == 0) break; - udelay(10); + msleep_interruptible(1); } /* Identify chip attached to board */ @@ -1848,10 +1848,10 @@ rtl8169_hw_start(struct net_device *dev) RTL_W8(ChipCmd, CmdReset); /* Check that the chip has finished the reset. */ - for (i = 1000; i > 0; i--) { + for (i = 100; i > 0; i--) { if ((RTL_R8(ChipCmd) & CmdReset) == 0) break; - udelay(10); + msleep_interruptible(1); } if (tp->mac_version == RTL_GIGA_MAC_VER_13) { @@ -1914,7 +1914,9 @@ rtl8169_hw_start(struct net_device *dev) RTL_W32(RxDescAddrHigh, ((u64) tp->RxPhyAddr >> 32)); RTL_W8(ChipCmd, CmdTxEnb | CmdRxEnb); RTL_W8(Cfg9346, Cfg9346_Lock); - udelay(10); + + /* Initially a 10 us delay. Turned it into a PCI commit. - FR */ + RTL_R8(IntrMask); RTL_W32(RxMissed, 0);