[HARDY] [SRU] Add support for Broadcom Ethernet 5716 & 5716S
Jerone Young
jerone.young at canonical.com
Mon Mar 1 00:14:54 UTC 2010
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.
-------------- next part --------------
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 at canonical.com>
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, }
};
-------------- next part --------------
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 at 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, }
};
More information about the kernel-team
mailing list