diff options
Diffstat (limited to 'drivers/gpio/gpiolib.c')
| -rw-r--r-- | drivers/gpio/gpiolib.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 3ca36542e338..4e51fe3c1fc4 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c | |||
| @@ -893,10 +893,12 @@ EXPORT_SYMBOL_GPL(gpio_sysfs_set_active_low); | |||
| 893 | void gpio_unexport(unsigned gpio) | 893 | void gpio_unexport(unsigned gpio) |
| 894 | { | 894 | { |
| 895 | struct gpio_desc *desc; | 895 | struct gpio_desc *desc; |
| 896 | int status = -EINVAL; | 896 | int status = 0; |
| 897 | 897 | ||
| 898 | if (!gpio_is_valid(gpio)) | 898 | if (!gpio_is_valid(gpio)) { |
| 899 | status = -EINVAL; | ||
| 899 | goto done; | 900 | goto done; |
| 901 | } | ||
| 900 | 902 | ||
| 901 | mutex_lock(&sysfs_lock); | 903 | mutex_lock(&sysfs_lock); |
| 902 | 904 | ||
| @@ -911,7 +913,6 @@ void gpio_unexport(unsigned gpio) | |||
| 911 | clear_bit(FLAG_EXPORT, &desc->flags); | 913 | clear_bit(FLAG_EXPORT, &desc->flags); |
| 912 | put_device(dev); | 914 | put_device(dev); |
| 913 | device_unregister(dev); | 915 | device_unregister(dev); |
| 914 | status = 0; | ||
| 915 | } else | 916 | } else |
| 916 | status = -ENODEV; | 917 | status = -ENODEV; |
| 917 | } | 918 | } |
