On Mon, Oct 06, 2003 at 05:48:58PM -0400, Jeff Garzik wrote:
+ /*
+ * Yield the processor in case we are slow + */
+ set_current_state(TASK_UNINTERRUPTIBLE);
+ schedule_timeout(1);
hmmm... why not simply call yield() here instead? I think yield() is closer to the intent you wish to achieve...
Gods, no. I believe it is always a bug for drivers to call yield()
in 2.6. What is probably meant here is cond_resched(). I'd support
deleting the EXPORT_SYMBOL(yield) line and fixing the breakage afterwards
as it causes lots of very subtle breakage ("Under certain circumstances,
Linux just stops doing anything for 5 seconds").