On Fri, Sep 24, 2004 at 04:12:09PM -0400, Jeff Garzik wrote: > Grant Grundler wrote: > >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 :) Jeff, Not quite. :^) I never submitted anything with 500ms udelay. The 802.3 spec only asks for 2ms. I tacked on another 500us because the one phy spec mentioned don't poke for the first 500us after a phy reset. Maybe that 500us is causing some confusion. > >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. Uhm...you did. (and I'm sure you mean "udelay", not sleep). But changing that context has always meant a rewrite of the init sequence. And no one has done it. Certainly neither of us cares enough to do it. The current code is still not compliant with 802.3 spec. Any volunteers? Regardless, my patch could serve as an interim solution until someone is motivated to rewrite the init sequence. thanks, grant - : 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