Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754610AbYGaS15 (ORCPT ); Thu, 31 Jul 2008 14:27:57 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753424AbYGaS1n (ORCPT ); Thu, 31 Jul 2008 14:27:43 -0400 Received: from smtp20.orange.fr ([80.12.242.26]:4959 "EHLO smtp20.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752503AbYGaS1m (ORCPT ); Thu, 31 Jul 2008 14:27:42 -0400 X-ME-UUID: 20080731182740146.23D751C0008F@mwinf2026.orange.fr Message-ID: <48920413.6080508@cosmosbay.com> Date: Thu, 31 Jul 2008 20:27:31 +0200 From: Eric Dumazet User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) MIME-Version: 1.0 To: benli@broadcom.com, willy@linux.intel.com, jbarnes@virtuousgeek.org Cc: linux kernel , Linux Netdev List Subject: [PATCH] PCI: Limit VPD length for Broadcom 5708S Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3937 Lines: 84 While trying to upgrade kernel from 2.6.25 to 2.6.26 on a ProLiant BL460c G1, I faced this problem on integrated Broadcom 5708S NIC when trying to UP them. bnx2: fw sync timeout, reset code = 1030003 I noticed that commit 99cb233d60cbe644203f19938c729ea2bb004d70 (PCI: Limit VPD read/write lengths for Broadcom 5706, 5708, 5709 rev.A) was probably a good candidate to solve the problem. Apparently, it added PCI quirks for a list of Broadcom NICs, but quirk_brcm_570x_limit_vpd() ignores part of them. I found the following patch useful to restore correct operation on my machine. Some information about this nic : 03:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708S Gigabit Ethernet (rev 12) Subsystem: Hewlett-Packard Company NC373i Integrated Multifunction Gigabit Server Adapter Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr+ Stepping- SERR+ FastB2B- Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 0fb3650..59667e5 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -1756,9 +1756,12 @@ 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, and 5709 rev. A */ + /* + * Only disable the VPD capability for 5706, 5708, 5708S 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_5708S) || ((dev->device == PCI_DEVICE_ID_NX2_5709) && (dev->revision & 0xf0) == 0x0)) { if (dev->vpd) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/