Messages in this thread | | | Date | Tue, 4 Jan 2005 23:09:35 +0100 | From | Francois Romieu <> | Subject | Re: PROBLEM: Network hang: "eth0: Tx timed out (f0080), is buffer full?" |
| |
Jon Mason <jdmason@gmail.com> : [...] > @@ -1005,10 +1018,36 @@ rio_error (struct net_device *dev, int i > /* PCI Error, a catastronphic error related to the bus interface > occurs, set GlobalReset and HostReset to reset. */ > if (int_status & HostError) { > - printk (KERN_ERR "%s: HostError! IntStatus %4.4x.\n", > - dev->name, int_status); > + printk (KERN_ERR "%s: HostError! IntStatus %4.4x. %d > %d %x %x\n", > + dev->name, int_status, np->cur_tx, np->cur_rx, > + readl (ioaddr + MACCtrl), readw(ioaddr + IntEnable)); > writew (GlobalReset | HostReset, ioaddr + ASICCtrl + 2); > + > + /* Free all the skbuffs in the queue. */ > + for (i = 0; i < RX_RING_SIZE; i++) { > + np->rx_ring[i].status = 0; > + np->rx_ring[i].fraginfo = 0; > + skb = np->rx_skbuff[i]; > + if (skb) { > + pci_unmap_single (np->pdev, np->rx_ring[i].fraginfo, > + skb->len, PCI_DMA_FROMDEVICE); > + dev_kfree_skb (skb);
It is probably a minor issue right now but skb->len seems inaccurate (there is no guaranty that skb_put() was issued).
-- Ueimor - 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/
| |