[...]
>
> Can you test this diff instead, which should fix the problem and still be
> safe on SMP too?
[...]
> - while (jiffies < the_time);
> + do {
> + usleep(10*1000);
> + } while (--amount);
That should be udelay, not usleep of course, but it gives me an excuse
to bring up another point. A comment near the udelay code hints that
you shouldn't use it for > 1000us. Yet this seems largely ignored in
various driver source files (with delays up to 1000000us being used)
My question is, do we:
(a) ignore it
(b) when >1000, replace each occurence with:
{unsigned int msec = XXXX; while (--msec) udelay(1000);}
(c) indroduce a "mdelay()" that does (b)
(d) order a pizza
Paul.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu