| From dcb21ad4385731b7fc3ef39d255685f2f63c8c5d Mon Sep 17 00:00:00 2001 |
| From: Sudip Mukherjee <sudipm.mukherjee@gmail.com> |
| Date: Mon, 30 May 2016 19:16:33 +0530 |
| Subject: USB: mos7720: delete parport |
| |
| From: Sudip Mukherjee <sudipm.mukherjee@gmail.com> |
| |
| commit dcb21ad4385731b7fc3ef39d255685f2f63c8c5d upstream. |
| |
| parport subsystem has introduced parport_del_port() to delete a port |
| when it is going away. Without parport_del_port() the registered port |
| will not be unregistered. |
| To reproduce and verify the error: |
| Command to be used is : ls /sys/bus/parport/devices |
| 1) without the device attached there is no output as there is no |
| registered parport. |
| 2) Attach the device, and the command will show "parport0". |
| 3) Remove the device and the command still shows "parport0". |
| 4) Attach the device again and we get "parport1". |
| |
| With the patch applied: |
| 1) without the device attached there is no output as there is no |
| registered parport. |
| 2) Attach the device, and the command will show "parport0". |
| 3) Remove the device and there is no output as "parport0" is now |
| removed. |
| 4) Attach device again to get "parport0" again. |
| |
| Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/usb/serial/mos7720.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/drivers/usb/serial/mos7720.c |
| +++ b/drivers/usb/serial/mos7720.c |
| @@ -2007,6 +2007,7 @@ static void mos7720_release(struct usb_s |
| urblist_entry) |
| usb_unlink_urb(urbtrack->urb); |
| spin_unlock_irqrestore(&mos_parport->listlock, flags); |
| + parport_del_port(mos_parport->pp); |
| |
| kref_put(&mos_parport->ref_count, destroy_mos_parport); |
| } |