Re: PCI: Limit VPD length for Broadcom 5708S

From: Dean Hildebrand
Date: Thu Aug 07 2008 - 20:31:59 EST



Jesse Barnes wrote:

On Tuesday, August 5, 2008 11:49 am Dean Hildebrand wrote:
I have no idea if 5706S and 5709S also needs this truncation ofVPDlength
It seems that our IBM Blade servers using 5706S also require this
fix. We have confirmed that the patch below works on 2.6.27-rc1.
diff -uprN linux-2.6.27-rc1/drivers/pci/quirks.c
linux-2.6.27-rc1-fix/drivers/pci/quirks.c
--- linux-2.6.27-rc1/drivers/pci/quirks.c 2008-08-05
10:51:42.000000000 -0700
+++ linux-2.6.27-rc1-fix/drivers/pci/quirks.c 2008-08-05
10:50:57.000000000 -0700
@@ -1756,9 +1756,10 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_VI
*/
static void __devinit quirk_brcm_570x_limit_vpd(struct pci_dev *dev)
{
- /* Only disable the VPD capability for 5706, 5708, and 5709
rev. A */
+ /* Only disable the VPD capability for 5706, 5706S, 5708, and
5709 rev. A */
if ((dev->device == PCI_DEVICE_ID_NX2_5706) ||
(dev->device == PCI_DEVICE_ID_NX2_5708) ||
+ (dev->device == PCI_DEVICE_ID_NX2_5706S) ||
((dev->device == PCI_DEVICE_ID_NX2_5709) &&
(dev->revision & 0xf0) == 0x0)) {
if (dev->vpd)
Looks fine. Can you respin against my for-linus branch and resubmit with a signed-off-by and full changelog
<cid:part1.05050500.03020803@xxxxxxxxx>Ok, here it is.
----

BCM5706S wont work correctly unless VPD length truncated to 128

Signed-off-by: Dean Hildebrand <dhildeb@xxxxxxxxxx>
---
drivers/pci/quirks.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 59667e5..9236e7f 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -1757,9 +1757,11 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_VIA, 0x324e, quirk_via_cx700_pci_parking_c
static void __devinit quirk_brcm_570x_limit_vpd(struct pci_dev *dev)
{
/*
- * Only disable the VPD capability for 5706, 5708, 5708S and 5709 rev. A
+ * Only disable the VPD capability for 5706, 5706S, 5708,
+ * 5708S and 5709 rev. A
*/
if ((dev->device == PCI_DEVICE_ID_NX2_5706) ||
+ (dev->device == PCI_DEVICE_ID_NX2_5706S) ||
(dev->device == PCI_DEVICE_ID_NX2_5708) ||
(dev->device == PCI_DEVICE_ID_NX2_5708S) ||
((dev->device == PCI_DEVICE_ID_NX2_5709) &&
--
1.5.2.5



--
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/