1 Mar 2010 01:14
[HARDY] [SRU] Add support for Broadcom Ethernet 5716 & 5716S
Jerone Young <jerone.young <at> canonical.com>
2010-03-01 00:14:54 GMT
2010-03-01 00:14:54 GMT
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 <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 <at> <at> -87,6 +87,7 <at> <at> typedef enum { BCM5708S, BCM5709, BCM5709S, + BCM5716, } board_t; /* indexed by board_t, above */ <at> <at> -102,9 +103,10 <at> <at> 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, <at> <at> -123,6 +125,8 <at> <at> 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, } };
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 <at> <at> -89,6 +89,7 <at> <at> typedef enum { BCM5709, BCM5709S, BCM5716, + BCM5716S, } board_t; /* indexed by board_t, above */ <at> <at> -105,6 +106,7 <at> <at> 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[] = { <at> <at> -128,6 +130,8 <at> <at> 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, } };
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 <at> <at> -89,6 +89,7 <at> <at> typedef enum { BCM5709, BCM5709S, BCM5716, + BCM5716S, } board_t; /* indexed by board_t, above */ <at> <at> -105,6 +106,7 <at> <at> 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[] = { <at> <at> -128,6 +130,8 <at> <at> 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, } };
RSS Feed