diff options
Diffstat (limited to 'drivers/media/radio/si470x/radio-si470x-usb.c')
| -rw-r--r-- | drivers/media/radio/si470x/radio-si470x-usb.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/media/radio/si470x/radio-si470x-usb.c b/drivers/media/radio/si470x/radio-si470x-usb.c index a96e1b9dd646..6f60841828da 100644 --- a/drivers/media/radio/si470x/radio-si470x-usb.c +++ b/drivers/media/radio/si470x/radio-si470x-usb.c | |||
| @@ -590,8 +590,9 @@ int si470x_fops_release(struct file *file) | |||
| 590 | video_unregister_device(radio->videodev); | 590 | video_unregister_device(radio->videodev); |
| 591 | kfree(radio->int_in_buffer); | 591 | kfree(radio->int_in_buffer); |
| 592 | kfree(radio->buffer); | 592 | kfree(radio->buffer); |
| 593 | mutex_unlock(&radio->disconnect_lock); | ||
| 593 | kfree(radio); | 594 | kfree(radio); |
| 594 | goto unlock; | 595 | goto done; |
| 595 | } | 596 | } |
| 596 | 597 | ||
| 597 | /* cancel read processes */ | 598 | /* cancel read processes */ |
| @@ -601,7 +602,6 @@ int si470x_fops_release(struct file *file) | |||
| 601 | retval = si470x_stop(radio); | 602 | retval = si470x_stop(radio); |
| 602 | usb_autopm_put_interface(radio->intf); | 603 | usb_autopm_put_interface(radio->intf); |
| 603 | } | 604 | } |
| 604 | unlock: | ||
| 605 | mutex_unlock(&radio->disconnect_lock); | 605 | mutex_unlock(&radio->disconnect_lock); |
| 606 | done: | 606 | done: |
| 607 | return retval; | 607 | return retval; |
| @@ -842,9 +842,11 @@ static void si470x_usb_driver_disconnect(struct usb_interface *intf) | |||
| 842 | kfree(radio->int_in_buffer); | 842 | kfree(radio->int_in_buffer); |
| 843 | video_unregister_device(radio->videodev); | 843 | video_unregister_device(radio->videodev); |
| 844 | kfree(radio->buffer); | 844 | kfree(radio->buffer); |
| 845 | mutex_unlock(&radio->disconnect_lock); | ||
| 845 | kfree(radio); | 846 | kfree(radio); |
| 847 | } else { | ||
| 848 | mutex_unlock(&radio->disconnect_lock); | ||
| 846 | } | 849 | } |
| 847 | mutex_unlock(&radio->disconnect_lock); | ||
| 848 | } | 850 | } |
| 849 | 851 | ||
| 850 | 852 | ||
