PCI: pciehp: Don't check adapter or latch status while disabling
authorRajat Jain <rajatxjain@gmail.com>
Wed, 5 Feb 2014 02:30:21 +0000 (18:30 -0800)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 11 Feb 2014 23:08:44 +0000 (16:08 -0700)
It does not make much sense to refuse to disable a slot if an adapter is
not present or the latch is open. If an adapter is not present, it provides
an even better reason to disable the device slot.

This is specially a problem for link state hot-plug, because some ports use
in band mechanism for presence detection. Thus when link goes down,
presence detect also goes down. We _want_ that the removal should take
place in such case.

Thus remove the checks for adapter and latch in pciehp_disable_slot()

Signed-off-by: Rajat Jain <rajatxjain@gmail.com>
Signed-off-by: Rajat Jain <rajatjain@juniper.net>
Signed-off-by: Guenter Roeck <groeck@juniper.net>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/hotplug/pciehp_ctrl.c

index 56082842b2654c08940c97650379db9a7bfa02f2..b418e3b09aa48054da3b9b1b3b50fba538edf8fb 100644 (file)
@@ -582,24 +582,6 @@ int pciehp_disable_slot(struct slot *p_slot)
        if (!p_slot->ctrl)
                return 1;
 
-       if (!HP_SUPR_RM(p_slot->ctrl)) {
-               pciehp_get_adapter_status(p_slot, &getstatus);
-               if (!getstatus) {
-                       ctrl_info(ctrl, "No adapter on slot(%s)\n",
-                                 slot_name(p_slot));
-                       return -ENODEV;
-               }
-       }
-
-       if (MRL_SENS(p_slot->ctrl)) {
-               pciehp_get_latch_status(p_slot, &getstatus);
-               if (getstatus) {
-                       ctrl_info(ctrl, "Latch open on slot(%s)\n",
-                                 slot_name(p_slot));
-                       return -ENODEV;
-               }
-       }
-
        if (POWER_CTRL(p_slot->ctrl)) {
                pciehp_get_power_status(p_slot, &getstatus);
                if (!getstatus) {