aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorRajat Jain <rajatxjain@gmail.com>2014-02-04 21:30:21 -0500
committerBjorn Helgaas <bhelgaas@google.com>2014-02-11 18:08:44 -0500
commit02e93a8a7c1dcecc1a33ea762a0c041cbb6a0a66 (patch)
tree512f033f19542ae614ec7899031dda18a6b4df06 /drivers/pci
parentb1811d2455f32754cc3d8725bf2e961c5eda2a72 (diff)
PCI: pciehp: Don't check adapter or latch status while disabling
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>
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/hotplug/pciehp_ctrl.c18
1 files changed, 0 insertions, 18 deletions
diff --git a/drivers/pci/hotplug/pciehp_ctrl.c b/drivers/pci/hotplug/pciehp_ctrl.c
index 56082842b265..b418e3b09aa4 100644
--- a/drivers/pci/hotplug/pciehp_ctrl.c
+++ b/drivers/pci/hotplug/pciehp_ctrl.c
@@ -582,24 +582,6 @@ int pciehp_disable_slot(struct slot *p_slot)
582 if (!p_slot->ctrl) 582 if (!p_slot->ctrl)
583 return 1; 583 return 1;
584 584
585 if (!HP_SUPR_RM(p_slot->ctrl)) {
586 pciehp_get_adapter_status(p_slot, &getstatus);
587 if (!getstatus) {
588 ctrl_info(ctrl, "No adapter on slot(%s)\n",
589 slot_name(p_slot));
590 return -ENODEV;
591 }
592 }
593
594 if (MRL_SENS(p_slot->ctrl)) {
595 pciehp_get_latch_status(p_slot, &getstatus);
596 if (getstatus) {
597 ctrl_info(ctrl, "Latch open on slot(%s)\n",
598 slot_name(p_slot));
599 return -ENODEV;
600 }
601 }
602
603 if (POWER_CTRL(p_slot->ctrl)) { 585 if (POWER_CTRL(p_slot->ctrl)) {
604 pciehp_get_power_status(p_slot, &getstatus); 586 pciehp_get_power_status(p_slot, &getstatus);
605 if (!getstatus) { 587 if (!getstatus) {