lkml.org 
[lkml]   [2002]   [Dec]   [7]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSat, 07 Dec 2002 18:16:33 -0500
FromJeff Garzik <>
SubjectRe: Oops with 3c59x module (3com 3c595 NIC)
Andrew Morton wrote:
> That's a transmit underrun - data is not being fed into the NIC
> across the PCI bus fast enough.  Possibly something has gone
> wrong with the busmastering logic on the mainboard, or the NIC.
> 
> The driver will reset the transmitter when this happens, as per the
> manual.  There's not much else we can do.


pci-skeleton.c and several of Don's drivers actually do do something 
else on TxUnderrun, twiddle DMA burst settings:

         if ((intr_status & TxUnderrun)
                 && (np->tx_config & TxThresholdField) != 
TxThresholdField) {
                 long ioaddr = dev->base_addr;
                 np->tx_config += TxThresholdInc;
                 writel(np->tx_config, ioaddr + TxMode);
                 np->stats.tx_fifo_errors++;
         }
I wonder how feasible it is to do that on 3c59x hardware?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:31    [from the cache]
©2003-2008