Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 27922b4260f65d317aabda37e42bbbff > files > 3174

kernel-2.6.18-238.el5.src.rpm

From: John Feeney <jfeeney@redhat.com>
Date: Thu, 30 Sep 2010 21:21:25 -0400
Subject: [net] tg3: re-enable 5717 B0 support
Message-id: <4CA4FF55.504@redhat.com>
Patchwork-id: 28529
O-Subject: [RHEL5.6 PATCH] tg3: Re-enable 5717 B0 support
Bugzilla: 634320
RH-Acked-by: Stanislaw Gruszka <sgruszka@redhat.com>
RH-Acked-by: David S. Miller <davem@redhat.com>

bz634320
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=634320
tg3: Re-enable 5717 B0 support

Description of problem:
The 5717 B0 was disabled.

Solution:
Re-enable it.

>From the commit:
"This patch adjusts the driver to use the tg3_start_xmit_dma_bug()
transmit routine for all revisions of 5717 asic rev devices and then
allows the driver to attach to B0 and later devices."

Upstream commits:
1. tg3: Unlock 5717 B0+ support
2e9f7a7408d264f01d4477c564ef5c6b610cd10f

Note: Only one piece of this upstream patch was used. The
second piece was not needed because RHEL-5 does not have
netdev_ops.

2. tg3: Relax 5717 serdes restriction
2138c002173abe3e439e213e5cc03b385b20508c

Note: Only tg3_get_invariants() piece was used. The RHEL5
version of tg3.c did not have the TG3_FLG2_5780_CLASS change
so it did not need to be modified.

Brew:
Successfully built in Brew for all architectures (task_2785135).

Testing:
Sanity tested on a number of rhts/beaker systems.

Note: We don't have any 5717s in Beaker. Asked Broadcom to test
but have not received any feedback yet. Will provide feedback
when it comes.

Acks would be appreciated. Thanks.

Signed-off-by: Jarod Wilson <jarod@redhat.com>

diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index 9a2e452..e3390f2 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -13682,11 +13682,6 @@ static int __devinit tg3_get_invariants(struct tg3 *tp)
 	    GET_CHIP_REV(tp->pci_chip_rev_id) != CHIPREV_5700_BX)
 		tp->coalesce_mode |= HOSTCC_MODE_32BYTE;
 
-	if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5717 &&
-	    (tp->pci_chip_rev_id != CHIPREV_ID_5717_A0 ||
-	  	 (tp->tg3_flags2 & TG3_FLG2_MII_SERDES)))
-		return -ENOTSUPP;
-
 	/* Initialize data/descriptor byte/word swapping. */
 	val = tr32(GRC_MODE);
 	val &= GRC_MODE_HOST_STACKUP;