diff options
| author | Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> | 2006-09-19 20:04:33 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-09-26 20:43:54 -0400 |
| commit | c9d86d76c1cdd76d67292ab75643db66573ca7dd (patch) | |
| tree | 29c781cce06b90472cccc3e2cc6668bcb13d9e0b | |
| parent | aa4f63cad4f70a52adbabb66ac6c8b6072910fdf (diff) | |
pciehp - fix wrong return value
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>
| -rw-r--r-- | drivers/pci/hotplug/pciehp_ctrl.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/pci/hotplug/pciehp_ctrl.c b/drivers/pci/hotplug/pciehp_ctrl.c index 33d198768356..41290a106bd8 100644 --- a/drivers/pci/hotplug/pciehp_ctrl.c +++ b/drivers/pci/hotplug/pciehp_ctrl.c | |||
| @@ -762,14 +762,14 @@ int pciehp_enable_slot(struct slot *p_slot) | |||
| 762 | if (rc || !getstatus) { | 762 | if (rc || !getstatus) { |
| 763 | info("%s: no adapter on slot(%x)\n", __FUNCTION__, p_slot->number); | 763 | info("%s: no adapter on slot(%x)\n", __FUNCTION__, p_slot->number); |
| 764 | mutex_unlock(&p_slot->ctrl->crit_sect); | 764 | mutex_unlock(&p_slot->ctrl->crit_sect); |
| 765 | return 1; | 765 | return -ENODEV; |
| 766 | } | 766 | } |
| 767 | if (MRL_SENS(p_slot->ctrl->ctrlcap)) { | 767 | if (MRL_SENS(p_slot->ctrl->ctrlcap)) { |
| 768 | rc = p_slot->hpc_ops->get_latch_status(p_slot, &getstatus); | 768 | rc = p_slot->hpc_ops->get_latch_status(p_slot, &getstatus); |
| 769 | if (rc || getstatus) { | 769 | if (rc || getstatus) { |
| 770 | info("%s: latch open on slot(%x)\n", __FUNCTION__, p_slot->number); | 770 | info("%s: latch open on slot(%x)\n", __FUNCTION__, p_slot->number); |
| 771 | mutex_unlock(&p_slot->ctrl->crit_sect); | 771 | mutex_unlock(&p_slot->ctrl->crit_sect); |
| 772 | return 1; | 772 | return -ENODEV; |
| 773 | } | 773 | } |
| 774 | } | 774 | } |
| 775 | 775 | ||
| @@ -778,7 +778,7 @@ int pciehp_enable_slot(struct slot *p_slot) | |||
| 778 | if (rc || getstatus) { | 778 | if (rc || getstatus) { |
| 779 | info("%s: already enabled on slot(%x)\n", __FUNCTION__, p_slot->number); | 779 | info("%s: already enabled on slot(%x)\n", __FUNCTION__, p_slot->number); |
| 780 | mutex_unlock(&p_slot->ctrl->crit_sect); | 780 | mutex_unlock(&p_slot->ctrl->crit_sect); |
| 781 | return 1; | 781 | return -EINVAL; |
| 782 | } | 782 | } |
| 783 | } | 783 | } |
| 784 | mutex_unlock(&p_slot->ctrl->crit_sect); | 784 | mutex_unlock(&p_slot->ctrl->crit_sect); |
| @@ -813,7 +813,7 @@ int pciehp_disable_slot(struct slot *p_slot) | |||
| 813 | if (ret || !getstatus) { | 813 | if (ret || !getstatus) { |
| 814 | info("%s: no adapter on slot(%x)\n", __FUNCTION__, p_slot->number); | 814 | info("%s: no adapter on slot(%x)\n", __FUNCTION__, p_slot->number); |
| 815 | mutex_unlock(&p_slot->ctrl->crit_sect); | 815 | mutex_unlock(&p_slot->ctrl->crit_sect); |
| 816 | return 1; | 816 | return -ENODEV; |
| 817 | } | 817 | } |
| 818 | } | 818 | } |
| 819 | 819 | ||
| @@ -822,7 +822,7 @@ int pciehp_disable_slot(struct slot *p_slot) | |||
| 822 | if (ret || getstatus) { | 822 | if (ret || getstatus) { |
| 823 | info("%s: latch open on slot(%x)\n", __FUNCTION__, p_slot->number); | 823 | info("%s: latch open on slot(%x)\n", __FUNCTION__, p_slot->number); |
| 824 | mutex_unlock(&p_slot->ctrl->crit_sect); | 824 | mutex_unlock(&p_slot->ctrl->crit_sect); |
| 825 | return 1; | 825 | return -ENODEV; |
| 826 | } | 826 | } |
| 827 | } | 827 | } |
| 828 | 828 | ||
| @@ -831,7 +831,7 @@ int pciehp_disable_slot(struct slot *p_slot) | |||
| 831 | if (ret || !getstatus) { | 831 | if (ret || !getstatus) { |
| 832 | info("%s: already disabled slot(%x)\n", __FUNCTION__, p_slot->number); | 832 | info("%s: already disabled slot(%x)\n", __FUNCTION__, p_slot->number); |
| 833 | mutex_unlock(&p_slot->ctrl->crit_sect); | 833 | mutex_unlock(&p_slot->ctrl->crit_sect); |
| 834 | return 1; | 834 | return -EINVAL; |
| 835 | } | 835 | } |
| 836 | } | 836 | } |
| 837 | 837 | ||
