Commit bc590b47 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Paolo Abeni
Browse files

r8169: check for PCI read error in probe



Check whether first PCI read returns 0xffffffff. Currently, if this is
the case, the user sees the following misleading message:
unknown chip XID fcf, contact r8169 maintainers (see MAINTAINERS file)

Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: default avatarSimon Horman <simon.horman@corigine.com>
Link: https://lore.kernel.org/r/75b54d23-fefe-2bf4-7e80-c9d3bc91af11@gmail.com


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 3ea3c9cf
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -5164,6 +5164,7 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
	int jumbo_max, region, rc;
	enum mac_version chipset;
	struct net_device *dev;
	u32 txconfig;
	u16 xid;

	dev = devm_alloc_etherdev(&pdev->dev, sizeof (*tp));
@@ -5218,7 +5219,13 @@ static int rtl_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)

	tp->mmio_addr = pcim_iomap_table(pdev)[region];

	xid = (RTL_R32(tp, TxConfig) >> 20) & 0xfcf;
	txconfig = RTL_R32(tp, TxConfig);
	if (txconfig == ~0U) {
		dev_err(&pdev->dev, "PCI read failed\n");
		return -EIO;
	}

	xid = (txconfig >> 20) & 0xfcf;

	/* Identify chip attached to board */
	chipset = rtl8169_get_mac_version(xid, tp->supports_gmii);