Andrew, You had mentioned at OLS I should send you this patch even though jgarzik (maintainer) has rejected them. Jeff rejected them because the patches can delay up to 1.5ms (originally 2.5ms) while interrupts are blocked. Maybe now one could use msleep() or something like that?
Not quite... originally it was 500ms or so :)
I "maintain" this patch in the parisc-linux CVS tree because it Works For Me (tm). AFAIK, no one has submitted better fixes to date.
This patch is also available from: ftp://ftp.parisc-linux.org/patches/diff-tulip_phy_reset-03
I described the solution years ago ;-)
The sleep is fine, the context is problem.
Make phy reset occur in process context, and you can sleep as long as you wish.
Jeff
- : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html