Re: patch tulip-natsemi-dp83840a-phy-fix.patch added to -mm tree

From: Jeff Garzik
Date: Mon May 16 2005 - 11:47:06 EST


Simply ensure that tulip_select_media() is always called from a process context. Then can you delay all you want. Several of the calls are already this way, so that leaves two cases:

1) called from timer context, from the media poll timer

2) called from spin_lock_irqsave() context, in the ->tx_timeout hook.

The first case can be fixed by moved all the timer code to a workqueue. Then when the existing timer fires, kick the workqueue.

The second case can be fixed by kicking the workqueue upon tx_timeout (which is the reason why I did not suggest queue_delayed_work() use).

See, it's not rocket science :)

Jeff



-
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/