David, Kevin, Here is an update on the DM9000 issue.
I spent some time on debugging DM9000 issue - "tx timeout and a kernel crash". In the current version of dm9000 driver (1.3), the hard_start_xmit API for DM9000 - dm9000_start_xmiit() uses spin_lock_irqsave(&db->lock, flags); to disable the interrupts, before accessing/setting DM9000 TX registers. It also calls spin_unlock_irqrestore(&db->lock, flags); after initiating a tx. In an older version of the dm9000.c (1.2 from kernel 2.6.18 to 2.6.22) we just disabled dm9000 rx/tx interrupts by writing to the dm9000 register and enabled them after initiating the tx. It does look like, dm9000 stopped receiving the tx interrupts (at least dm9000_interrupt is not getting called for tx completion) and thus we starting seeing tx timeout from the netdev. I can get NFS working, if I change the spin_lock/spin_unlock function calls to dm9000 specific rx/tx interrupt disable/enable functions. I believe, dm9000 specific rx/tx interrupt functions were replaced by the spin_lock/spin_unlock functions to a fix a hang problem under heavy load. I will continue to debug this further, wanted to see, if you have any inputs in this area. I did not see this issue being reported on the netdev kernel.org mailing list, so not sure, if there is a DM355 specific irq initialization we have missed. Thanks Sneha > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf > Of Kevin Hilman > Sent: Friday, December 19, 2008 11:01 AM > To: David Brownell > Cc: [email protected] > Subject: Re: [patch 2.6.28-rc8-davinci-git] dm355: mmc0 works for pio > > David Brownell <[email protected]> writes: > > > On Thursday 18 December 2008, Kevin Hilman wrote: > >> Strange. I get NETDEV WATCHDOG timeouts whether I try to mount over > >> NFS, or whether I simply ssh from a MMC rootfs to linux box. This is > >> with current davinci git head. Have I missed any of your patches? > > > > Nothing related to the dm9000 or AEMIF, it seems. Does using > > > > CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL=y > > > > change things? > > > > Nope. > > Kevin > > > > > _______________________________________________ > Davinci-linux-open-source mailing list > [email protected] > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
