Patchwork [HARDY,SRU] Add support for Broadcom Ethernet 5716 & 5716S

login
register
mail settings
Submitter Jerone Young
Date March 1, 2010, 12:14 a.m.
Message ID <1267402494.2316.20.camel@laptop>
Download mbox | patch
Permalink /patch/46518/
State Accepted
Delegated to: Stefan Bader
Headers show

Comments

Jerone Young - March 1, 2010, 12:14 a.m.
Impact:
	Many servers shipped last year have Broadcom Ethernet 5716 & 5716S
cards. They currently are not functional with 8.04.

https://bugs.launchpad.net/ubuntu/hardy/+source/linux/+bug/435185

Fix:
	Two patches attached to this email add PCI IDs to the driver. Patches
based on upstream stable commits.

Testcase:
	Ethernet works after patches are applied.
Based on upstream commit, though modification made for 2.6.26:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.27.y.git;a=commit;h=7bb0a04fcd610e5db59690332b2a46b6068c8bc3

Adding support for BCM5716

Signed-off-by: Jerone Young <jerone.young@canonical.com>
Based on upstream commit, though modification made for 2.6.26:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.29.y.git;a=commit;h=1caacecb7cb2b72e798f06a32b5061075cf397fa

Add support for BCM5716S

Signed-off-by: Jerone Young <jerone.young@canonical.com>

diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 51b163a..49ebb50 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -89,6 +89,7 @@ typedef enum {
 	BCM5709,
 	BCM5709S,
 	BCM5716,
+	BCM5716S,
 } board_t;
 
 /* indexed by board_t, above */
@@ -105,6 +106,7 @@ static struct {
 	{ "Broadcom NetXtreme II BCM5709 1000Base-T" },
 	{ "Broadcom NetXtreme II BCM5709 1000Base-SX" },
 	{ "Broadcom NetXtreme II BCM5716 1000Base-T" },
+	{ "Broadcom NetXtreme II BCM5716 1000Base-SX" },
 	};
 
 static struct pci_device_id bnx2_pci_tbl[] = { 
@@ -128,6 +130,8 @@ static DEFINE_PCI_DEVICE_TABLE(bnx2_pci_tbl) = {
 	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5709S },
 	{ PCI_VENDOR_ID_BROADCOM, 0x163b,
 	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5716 },
+	{ PCI_VENDOR_ID_BROADCOM, 0x163c,
+	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5716 },
 	{ 0, }
 };
Tim Gardner - March 1, 2010, 12:26 a.m.
On 02/28/2010 05:14 PM, Jerone Young wrote:
> Impact:
> 	Many servers shipped last year have Broadcom Ethernet 5716&  5716S
> cards. They currently are not functional with 8.04.
>
> https://bugs.launchpad.net/ubuntu/hardy/+source/linux/+bug/435185
>
> Fix:
> 	Two patches attached to this email add PCI IDs to the driver. Patches
> based on upstream stable commits.
>
> Testcase:
> 	Ethernet works after patches are applied.
>
>

Looks fine, though you should note that this won't solve installation 
problems since the last Hardy point release is already out.

Acked-by: Tim Gardner <tim.gardner@canonical.com>
Stefan Bader - March 17, 2010, 6:04 p.m.
Jerone Young wrote:
> Impact:
> 	Many servers shipped last year have Broadcom Ethernet 5716 & 5716S
> cards. They currently are not functional with 8.04.
> 
> https://bugs.launchpad.net/ubuntu/hardy/+source/linux/+bug/435185
> 
> Fix:
> 	Two patches attached to this email add PCI IDs to the driver. Patches
> based on upstream stable commits.
> 
> Testcase:
> 	Ethernet works after patches are applied.
> 
> 
Also note that these were clean cherry picks. No modification from the upstream
patches required.

Acked and applied to hardy master

Patch

diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index e9cfb02..989d4b6 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -87,6 +87,7 @@  typedef enum {
 	BCM5708S,
 	BCM5709,
 	BCM5709S,
+	BCM5716,
 } board_t;
 
 /* indexed by board_t, above */
@@ -102,9 +103,10 @@  static struct {
 	{ "Broadcom NetXtreme II BCM5708 1000Base-SX" },
 	{ "Broadcom NetXtreme II BCM5709 1000Base-T" },
 	{ "Broadcom NetXtreme II BCM5709 1000Base-SX" },
+	{ "Broadcom NetXtreme II BCM5716 1000Base-T" },
 	};
 
 static struct pci_device_id bnx2_pci_tbl[] = {
 	{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5706,
 	  PCI_VENDOR_ID_HP, 0x3101, 0, 0, NC370T },
 	{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5706,
@@ -123,6 +125,8 @@  static struct pci_device_id bnx2_pci_tbl[] = {
 	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5709 },
 	{ PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_NX2_5709S,
 	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5709S },
+	{ PCI_VENDOR_ID_BROADCOM, 0x163b,
+	  PCI_ANY_ID, PCI_ANY_ID, 0, 0, BCM5716 },
 	{ 0, }
 };