Replace the open-coded implementation for reading the PCIe DSN with pci_get_dsn. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Cc: Michael Chan <michael.chan@xxxxxxxxxxxx> --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index 597e6fd5bfea..55f078fc067e 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -11755,20 +11755,14 @@ static int bnxt_init_mac_addr(struct bnxt *bp) static int bnxt_pcie_dsn_get(struct bnxt *bp, u8 dsn[]) { struct pci_dev *pdev = bp->pdev; - int pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_DSN); - u32 dw; + int err; - if (!pos) { + err = pci_get_dsn(pdev, dsn); + if (err) { netdev_info(bp->dev, "Unable do read adapter's DSN"); - return -EOPNOTSUPP; + return err; } - /* DSN (two dw) is at an offset of 4 from the cap pos */ - pos += 4; - pci_read_config_dword(pdev, pos, &dw); - put_unaligned_le32(dw, &dsn[0]); - pci_read_config_dword(pdev, pos + 4, &dw); - put_unaligned_le32(dw, &dsn[4]); bp->flags |= BNXT_FLAG_DSN_VALID; return 0; } -- 2.25.0.368.g28a2d05eebfb