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: Heiner Kallweit <hkallweit1@gmail.com> Reviewed-by: Simon Horman <simon.horman@corigine.com> Link: https://lore.kernel.org/r/75b54d23-fefe-2bf4-7e80-c9d3bc91af11@gmail.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
3ea3c9cff7
commit
bc590b4754
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user