diff options
| -rw-r--r-- | drivers/video/via/via-gpio.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/video/via/via-gpio.c b/drivers/video/via/via-gpio.c index 44537be1f070..63cb7acc0faf 100644 --- a/drivers/video/via/via-gpio.c +++ b/drivers/video/via/via-gpio.c | |||
| @@ -246,7 +246,6 @@ static int viafb_gpio_remove(struct platform_device *platdev) | |||
| 246 | unsigned long flags; | 246 | unsigned long flags; |
| 247 | int ret = 0, i; | 247 | int ret = 0, i; |
| 248 | 248 | ||
| 249 | spin_lock_irqsave(&gpio_config.vdev->reg_lock, flags); | ||
| 250 | /* | 249 | /* |
| 251 | * Get unregistered. | 250 | * Get unregistered. |
| 252 | */ | 251 | */ |
| @@ -254,16 +253,16 @@ static int viafb_gpio_remove(struct platform_device *platdev) | |||
| 254 | ret = gpiochip_remove(&gpio_config.gpio_chip); | 253 | ret = gpiochip_remove(&gpio_config.gpio_chip); |
| 255 | if (ret) { /* Somebody still using it? */ | 254 | if (ret) { /* Somebody still using it? */ |
| 256 | printk(KERN_ERR "Viafb: GPIO remove failed\n"); | 255 | printk(KERN_ERR "Viafb: GPIO remove failed\n"); |
| 257 | goto out; | 256 | return ret; |
| 258 | } | 257 | } |
| 259 | } | 258 | } |
| 260 | /* | 259 | /* |
| 261 | * Disable the ports. | 260 | * Disable the ports. |
| 262 | */ | 261 | */ |
| 262 | spin_lock_irqsave(&gpio_config.vdev->reg_lock, flags); | ||
| 263 | for (i = 0; i < gpio_config.gpio_chip.ngpio; i += 2) | 263 | for (i = 0; i < gpio_config.gpio_chip.ngpio; i += 2) |
| 264 | viafb_gpio_disable(gpio_config.active_gpios[i]); | 264 | viafb_gpio_disable(gpio_config.active_gpios[i]); |
| 265 | gpio_config.gpio_chip.ngpio = 0; | 265 | gpio_config.gpio_chip.ngpio = 0; |
| 266 | out: | ||
| 267 | spin_unlock_irqrestore(&gpio_config.vdev->reg_lock, flags); | 266 | spin_unlock_irqrestore(&gpio_config.vdev->reg_lock, flags); |
| 268 | return ret; | 267 | return ret; |
| 269 | } | 268 | } |
