Jon Mason <jdmason@xxxxxxxxx> : [...] > @@ -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 - : send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html