diff options
Diffstat (limited to 'drivers/pci/pci-sysfs.c')
-rw-r--r-- | drivers/pci/pci-sysfs.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c index e9a8706a6401..a7eb1b46a5a8 100644 --- a/drivers/pci/pci-sysfs.c +++ b/drivers/pci/pci-sysfs.c | |||
@@ -148,7 +148,7 @@ static ssize_t is_enabled_store(struct device *dev, | |||
148 | return -EPERM; | 148 | return -EPERM; |
149 | 149 | ||
150 | if (!val) { | 150 | if (!val) { |
151 | if (atomic_read(&pdev->enable_cnt) != 0) | 151 | if (pci_is_enabled(pdev)) |
152 | pci_disable_device(pdev); | 152 | pci_disable_device(pdev); |
153 | else | 153 | else |
154 | result = -EIO; | 154 | result = -EIO; |
@@ -277,14 +277,10 @@ remove_store(struct device *dev, struct device_attribute *dummy, | |||
277 | { | 277 | { |
278 | int ret = 0; | 278 | int ret = 0; |
279 | unsigned long val; | 279 | unsigned long val; |
280 | struct pci_dev *pdev = to_pci_dev(dev); | ||
281 | 280 | ||
282 | if (strict_strtoul(buf, 0, &val) < 0) | 281 | if (strict_strtoul(buf, 0, &val) < 0) |
283 | return -EINVAL; | 282 | return -EINVAL; |
284 | 283 | ||
285 | if (pci_is_root_bus(pdev->bus)) | ||
286 | return -EBUSY; | ||
287 | |||
288 | /* An attribute cannot be unregistered by one of its own methods, | 284 | /* An attribute cannot be unregistered by one of its own methods, |
289 | * so we have to use this roundabout approach. | 285 | * so we have to use this roundabout approach. |
290 | */ | 286 | */ |