smsc911x.c driver and SMP (was Re: Kernel related (?) user space crash at ARM11 MPCore)

Catalin Marinas catalin.marinas at arm.com
Fri Sep 11 09:00:34 EDT 2009


On Fri, 2009-09-11 at 07:55 -0500, Bill Gatliff wrote:
> Catalin Marinas wrote:
> > (sorry for the repost Antti, the message was sent to the old list and
> > didn't like the "was:" stuff in the subject and the reply headers)
> >
> > On Thu, 2009-08-13 at 00:05 +0300, Antti P Miettinen wrote:
> >   
> >> BTW - the smsc911x does not work for me in the
> >> recent kernels. I had to change back to smc911x. Otherwise my boot
> >> from NFS root hangs pretty early. I think it used to be the other way
> >> around in some kernel version.
> >>     
> >
> > I added the commit below to my tree and the new driver now seems to work
> > fine with ARM11MPCore systems:
> >
> > http://www.linux-arm.org/git?p=linux-2.6.git;a=commitdiff;h=246a6cc1f1fa52e96a08f327337c5616eb634825
> >
> > I'm waiting for the SMSC guys to look into this issue. It may just be
> > that some of the read-after-write or read-after-read timing constraints
> > are violated when more than one CPU tries to access the Ethernet chip.
> 
> Why take the lock in smsc911x_tx_writefifo?  It looks like you take the 
> same lock again in smsc911x_reg_write.

Ah, ok, I haven't tried the 16-bit mode, only the 32-bit one and was
working fine, no deadlocks. But I can't say whether that's the right
fix, it's better for SMSC to look into it.

-- 
Catalin




More information about the linux-arm-kernel mailing list