Terry Qiu | 15 Mar 08:27
Picon

Re: PATCH dm9ks interrupt handling


I just got the new driver for the dm9ks from vendor. 

I quick look through it, it seems fix this problem. But they don't clean
out the code about the CONT_RX_PKT_CNT and the timer. 
They now set the CONT_RX_PKT_CNT=0xFFFF and set the
db->cont_rx_pkt_cnt=0 first in  dmfe_packet_receive() 

I will merge it into OSD, if any of you want to see the original code
from vendor, The attachment is.

regards

/tqiu

On Thu, 2007-03-08 at 14:14 +0800, Terry Qiu wrote:
> I have sent a mail to DAVICOM about this, will let you know what we got.
> 
> regards
> 
> /tqiu
> 
> On Wed, 2007-03-07 at 15:57 +0100, Anders Gustafsson wrote:
> > Michael Gao wrote:
> > > 5 second timer seems crazy to me too. However if we remove it
> > > completely, this may bring us a situation where the interrupt is held
> > > too long?
> > 
> > I checked the original davicom driver
> > (http://www.davicom.com.tw/eng/download/Driver/driver_9000a.htm) it also
> > has this disable interrupts after X consecutive rx packets without tx
> > thing.
> > 
> > It smells quite a bit like a workaround for some hardware bug to me. But
> > it could be something different it tries to solve; or just a clueless
> > engineer implementing the driver :)
> > 
> > I'd really like to know why that code is there, and what purpose it has.
> > 
> > (as a side note the changes from the original davicom driver "06/17/2006
> >     Butchered for NTR3 OSD" are quite big and messy)
> > 
> > Are there documentation for this NIC available btw?
> > 
> > >> I have removed this mechanism and also removed the bogus ioctl handler
> > >> that just returned success to all calls, which makes things like the
> > >> mii interface look like they work, but always return junk!
> > >>
> > > MG: Not sure about this, do we need this stub for driver compatibility
> > > purpose? thus not getting NULL pointer if somewhere upper layer will
> > > ever call the ioctl?
> > 
> > It is not needed, upper layer takes care of that
> > (http://lxr.linux.no/source/net/core/dev.c#L2612)
> > 
> >  anders
> > 
> > 
> > > 
> 
> 
> > 


Gmane