diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index cce2f4c..3b5269a 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -240,6 +240,11 @@ static int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type, pci_read_config_dword(dev, pos, &l); pci_write_config_dword(dev, pos, mask); pci_read_config_dword(dev, pos, &sz); + + /* sticky and non changable */ + if (sz == l) + goto fail; + pci_write_config_dword(dev, pos, l); /*