On Thu, Feb 27, 2020 at 02:36:32PM -0800, Jacob Keller wrote: > 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"); "Unable *to* read..." Not your fault, I guess :) > - 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 >