From: Vasundhara Volam Date: Sat, 14 Oct 2017 01:09:31 +0000 (-0400) Subject: bnxt_en: Fix VF PCIe link speed and width logic. X-Git-Tag: v4.1.12-124.31.3~949 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=9052ddf760bb0a2f77ec15101882bba03a706c3c;p=users%2Fjedix%2Flinux-maple.git bnxt_en: Fix VF PCIe link speed and width logic. Orabug: 27648355, 27648339 PCIE PCIE_EP_REG_LINK_STATUS_CONTROL register is only defined in PF config space, so we must read it from the PF. Fixes: 90c4f788f6c0 ("bnxt_en: Report PCIe link speed and width during driver load") Signed-off-by: Vasundhara Volam Signed-off-by: Michael Chan Signed-off-by: David S. Miller (cherry picked from commit 7ab0760f5178169c4c218852f51646ea90817d7c) Signed-off-by: Brian Maly Reviewed-by: Jack Vogel --- diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 44cc17bb3896..8d80569ea46f 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -7900,7 +7900,7 @@ static void bnxt_parse_log_pcie_link(struct bnxt *bp) enum pcie_link_width width = PCIE_LNK_WIDTH_UNKNOWN; enum pci_bus_speed speed = PCI_SPEED_UNKNOWN; - if (pcie_get_minimum_link(bp->pdev, &speed, &width) || + if (pcie_get_minimum_link(pci_physfn(bp->pdev), &speed, &width) || speed == PCI_SPEED_UNKNOWN || width == PCIE_LNK_WIDTH_UNKNOWN) netdev_info(bp->dev, "Failed to determine PCIe Link Info\n"); else