Messages in this thread | | | Date | Sat, 07 Dec 2002 18:16:33 -0500 | From | Jeff Garzik <> | Subject | Re: 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/
| |