2008-08-05 18:49:37

by Dean

[permalink] [raw]
Subject: Re: PCI: Limit VPD length for Broadcom 5708S



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

Please cc me on the response. Thanks,
Dean Hildebrand
IBM Almaden
[email protected]


2008-08-07 15:56:48

by Jesse Barnes

[permalink] [raw]
Subject: Re: PCI: Limit VPD length for Broadcom 5708S

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?

Thanks,
Jesse

2008-08-08 00:31:58

by Dean

[permalink] [raw]
Subject: Re: PCI: Limit VPD length for Broadcom 5708S


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:[email protected]>Ok, here it is.
----

BCM5706S wont work correctly unless VPD length truncated to 128

Signed-off-by: Dean Hildebrand <[email protected]>
---
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


2008-08-08 00:50:43

by Jesse Barnes

[permalink] [raw]
Subject: Re: PCI: Limit VPD length for Broadcom 5708S

On Thursday, August 7, 2008 5:31 pm Dean Hildebrand wrote:
> BCM5706S wont work correctly unless VPD length truncated to 128
>
> Signed-off-by: Dean Hildebrand <[email protected]>

Looks like it got wrapped, but I fixed it up by hand, thanks.

Jesse