Messages in this thread Patch in this message | | | Subject | Re: TG3 network data corruption regression 2.6.24/2.6.23.4 | From | "Michael Chan" <> | Date | Mon, 18 Feb 2008 17:04:06 -0800 |
| |
On Mon, 2008-02-18 at 16:35 -0800, David Miller wrote:
> One consequence of Herbert's change is that the chip will see a > different datastream. The initial skb->data linear area will be > smaller, and the transition to the fragmented area of pages will be > quicker. >
I see. Perhaps when we get to the end of the data-stream, there is a tiny frag that the chip cannot handle. That's the only thing I can think of.
Please try this patch to see if the problem goes away. This will disable SG on 5701 so we always get linear SKBs.
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index db606b6..bb37e76 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -12717,6 +12717,9 @@ static int __devinit tg3_init_one(struct pci_dev *pdev, } else tp->tg3_flags &= ~TG3_FLAG_RX_CHECKSUMS; + if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5701) + dev->features &= ~(NETIF_F_IP_CSUM | NETIF_F_SG); + /* flow control autonegotiation is default behavior */ tp->tg3_flags |= TG3_FLAG_PAUSE_AUTONEG; tp->link_config.flowctrl = TG3_FLOW_CTRL_TX | TG3_FLOW_CTRL_RX;
| |