pciehp - fix wrong return value
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Wed, 20 Sep 2006 00:04:33 +0000 (17:04 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 27 Sep 2006 00:43:54 +0000 (17:43 -0700)
This patch fixes the problem that trying to enable already enabled
slot disables the slot by returning the proper value from
pciehp_enable_slot()/pciehp_disable_slot().

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pci/hotplug/pciehp_ctrl.c

index 33d19876835626a6be7e4aa226aa459c3a5c9860..41290a106bd8c4661fd1f1204c213a5db64c32ef 100644 (file)
@@ -762,14 +762,14 @@ int pciehp_enable_slot(struct slot *p_slot)
        if (rc || !getstatus) {
                info("%s: no adapter on slot(%x)\n", __FUNCTION__, p_slot->number);
                mutex_unlock(&p_slot->ctrl->crit_sect);
-               return 1;
+               return -ENODEV;
        }
        if (MRL_SENS(p_slot->ctrl->ctrlcap)) {  
                rc = p_slot->hpc_ops->get_latch_status(p_slot, &getstatus);
                if (rc || getstatus) {
                        info("%s: latch open on slot(%x)\n", __FUNCTION__, p_slot->number);
                        mutex_unlock(&p_slot->ctrl->crit_sect);
-                       return 1;
+                       return -ENODEV;
                }
        }
        
@@ -778,7 +778,7 @@ int pciehp_enable_slot(struct slot *p_slot)
                if (rc || getstatus) {
                        info("%s: already enabled on slot(%x)\n", __FUNCTION__, p_slot->number);
                        mutex_unlock(&p_slot->ctrl->crit_sect);
-                       return 1;
+                       return -EINVAL;
                }
        }
        mutex_unlock(&p_slot->ctrl->crit_sect);
@@ -813,7 +813,7 @@ int pciehp_disable_slot(struct slot *p_slot)
                if (ret || !getstatus) {
                        info("%s: no adapter on slot(%x)\n", __FUNCTION__, p_slot->number);
                        mutex_unlock(&p_slot->ctrl->crit_sect);
-                       return 1;
+                       return -ENODEV;
                }
        }
 
@@ -822,7 +822,7 @@ int pciehp_disable_slot(struct slot *p_slot)
                if (ret || getstatus) {
                        info("%s: latch open on slot(%x)\n", __FUNCTION__, p_slot->number);
                        mutex_unlock(&p_slot->ctrl->crit_sect);
-                       return 1;
+                       return -ENODEV;
                }
        }
 
@@ -831,7 +831,7 @@ int pciehp_disable_slot(struct slot *p_slot)
                if (ret || !getstatus) {
                        info("%s: already disabled slot(%x)\n", __FUNCTION__, p_slot->number);
                        mutex_unlock(&p_slot->ctrl->crit_sect);
-                       return 1;
+                       return -EINVAL;
                }
        }