From 3c5a72d70d5ae7e7bc2adb42af6531e8577ae102 Mon Sep 17 00:00:00 2001 From: Praveen Kalamegham Date: Thu, 20 May 2010 12:15:01 -0500 Subject: [PATCH] --- yaml --- r: 206095 b: refs/heads/master c: 0ba10bc75271e4139eb9ca67d107624d581e3a94 h: refs/heads/master i: 206093: 69cfeb602f40f455ce04af65d7778393f8cb7b85 206091: 9f54e1947aa127d89c64382f2ecdd1713421df30 206087: 2024188d3e1e4700a48ce513d835f789dee4388d 206079: e87a7352760a0eb7acd1b27d537cd68f3e07da3a v: v3 --- [refs] | 2 +- trunk/drivers/pci/hotplug/shpchp_pci.c | 19 ++++--------------- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/[refs] b/[refs] index a30426874ddb..f36de12d4b79 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 01b666df487b80c956cef3ce3253776ddeebd41e +refs/heads/master: 0ba10bc75271e4139eb9ca67d107624d581e3a94 diff --git a/trunk/drivers/pci/hotplug/shpchp_pci.c b/trunk/drivers/pci/hotplug/shpchp_pci.c index 8c3d3219f227..a2ccfcd3c298 100644 --- a/trunk/drivers/pci/hotplug/shpchp_pci.c +++ b/trunk/drivers/pci/hotplug/shpchp_pci.c @@ -60,12 +60,6 @@ int __ref shpchp_configure_device(struct slot *p_slot) dev = pci_get_slot(parent, PCI_DEVFN(p_slot->device, fn)); if (!dev) continue; - if ((dev->class >> 16) == PCI_BASE_CLASS_DISPLAY) { - ctrl_err(ctrl, "Cannot hot-add display device %s\n", - pci_name(dev)); - pci_dev_put(dev); - continue; - } if ((dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) || (dev->hdr_type == PCI_HEADER_TYPE_CARDBUS)) { /* Find an unused bus number for the new bridge */ @@ -114,17 +108,11 @@ int shpchp_unconfigure_device(struct slot *p_slot) ctrl_dbg(ctrl, "%s: domain:bus:dev = %04x:%02x:%02x\n", __func__, pci_domain_nr(parent), p_slot->bus, p_slot->device); - for (j=0; j<8 ; j++) { - struct pci_dev* temp = pci_get_slot(parent, + for (j = 0; j < 8 ; j++) { + struct pci_dev *temp = pci_get_slot(parent, (p_slot->device << 3) | j); if (!temp) continue; - if ((temp->class >> 16) == PCI_BASE_CLASS_DISPLAY) { - ctrl_err(ctrl, "Cannot remove display device %s\n", - pci_name(temp)); - pci_dev_put(temp); - continue; - } if (temp->hdr_type == PCI_HEADER_TYPE_BRIDGE) { pci_read_config_byte(temp, PCI_BRIDGE_CONTROL, &bctl); if (bctl & PCI_BRIDGE_CTL_VGA) { @@ -132,7 +120,8 @@ int shpchp_unconfigure_device(struct slot *p_slot) "Cannot remove display device %s\n", pci_name(temp)); pci_dev_put(temp); - continue; + rc = -EINVAL; + break; } } pci_remove_bus_device(temp);