Re: TG3 network data corruption regression 2.6.24/2.6.23.4

From: Michael Chan
Date: Mon Feb 18 2008 - 20:01:58 EST


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;


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