[PATCH 2/2] ne.c msleep not mdelay

Previous thread: [PATCH 1/2] ne.c fix for hibernate and rmmod oops fix by David Fries on Friday, August 29, 2008 - 7:44 pm. (4 messages)

Next thread: kobject leak in next-20080829 by Alexey Dobriyan on Friday, August 29, 2008 - 9:42 pm. (10 messages)
From: David Fries
Date: Friday, August 29, 2008 - 7:44 pm

mdelay(10) replaced by msleep(10) to give up the CPU, it's just
waiting for an interrupt, so timing isn't critical.

Signed-off-by: David Fries <david@fries.net>
Cc: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: Paul Gortmaker <p_gortmaker@yahoo.com>
---
 drivers/net/ne.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ne.c b/drivers/net/ne.c
index b0bf47e..bcbeff7 100644
--- a/drivers/net/ne.c
+++ b/drivers/net/ne.c
@@ -529,7 +529,7 @@ static int __init ne_probe1(struct net_device *dev, unsigned long ioaddr)
 		outb_p(0x00, ioaddr + EN0_RCNTLO);
 		outb_p(0x00, ioaddr + EN0_RCNTHI);
 		outb_p(E8390_RREAD+E8390_START, ioaddr); /* Trigger it... */
-		mdelay(10);	/* wait 10ms for interrupt to propagate */
+		msleep(10);	/* wait 10ms for interrupt to propagate */
 		outb_p(0x00, ioaddr + EN0_IMR); 		/* Mask it again. */
 		dev->irq = probe_irq_off(cookie);
 		if (ei_debug > 2)
-- 
1.4.4.4

--

From: Alan Cox
Date: Saturday, August 30, 2008 - 1:59 am

On Fri, 29 Aug 2008 21:44:53 -0500

It is too critical for a reschedule to occur.

NAK this one.
--

From: Atsushi Nemoto
Date: Saturday, August 30, 2008 - 7:36 am

There are already some msleep() in probe_irq_on() which is called just
before here.  And this part is not protected by any spinlock or
preempt_disable.

So, if rescheduling was dangerous here, we already have potential
problems, no?

---
Atsushi Nemoto
--

From: David Fries
Date: Saturday, August 30, 2008 - 7:57 am

There is a probing_active mutex.  probe_irq_off has the comment
"nothing prevents two IRQ probe callers from overlapping."  Looks to me

I was just going to make the argument that any task that could be run
during msleep, could just as easily run on the other cpu in mdelay (if
there was one).

-- 
David Fries <david@fries.net>
http://fries.net/~david/ (PGP encryption key available)
--

From: Alan Cox
Date: Saturday, August 30, 2008 - 7:58 am

ISA bus auto-probing doesn't actually work at all well on SMP. The number
of people who have ever been affected by that has always been effectively
nil.

--

From: Alan Cox
Date: Saturday, August 30, 2008 - 7:44 am

Yes we do but I didn't manage to stop the other mistakes getting in when
they did. If you take a schedule you get results back from the probe_irq
that tend to suck in other random ISA device events (ISA being edge
triggered nobody was ever careful about spurious irq)
--

From: Atsushi Nemoto
Date: Sunday, August 31, 2008 - 10:30 am

OK, I see your point.  Thanks.

---
Atsushi Nemoto
--

Previous thread: [PATCH 1/2] ne.c fix for hibernate and rmmod oops fix by David Fries on Friday, August 29, 2008 - 7:44 pm. (4 messages)

Next thread: