diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-07 14:24:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-07 14:24:19 -0400 |
commit | 8e2c4f2844c0e8dcdfe312e5f2204854ca8532c6 (patch) | |
tree | f846fcbf6b756b76834e06e412a8248bbfb55b32 /drivers/pci/pci-sysfs.c | |
parent | 6a5d263866d699ebf6843105497afc86ee53de5b (diff) | |
parent | 72800360fdd782eda3489e555adf3b6b3abc064a (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
PCI: pci_slot: grab refcount on slot's bus
PCI Hotplug: acpiphp: grab refcount on p2p subordinate bus
PCI: allow PCI core hotplug to remove PCI root bus
PCI: Fix oops in pci_vpd_truncate
PCI: don't corrupt enable_cnt when doing manual resource alignment
PCI: annotate pci_rescan_bus as __ref, not __devinit
PCI-IOV: fix missing kernel-doc
PCI: Setup disabled bridges even if buses are added
PCI: SR-IOV quirk for Intel 82576 NIC
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 | */ |