usb-serial: ftdi_sio: fix reference counting of ftdi_private
authorAlan Stern <stern@rowland.harvard.edu>
Thu, 30 Apr 2009 14:06:19 +0000 (10:06 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 9 May 2009 02:34:57 +0000 (19:34 -0700)
commitc45d63202fbaccef7ef7946c03f27f72c809b1cc
treef9dd1d104167b9443a6d7c7a5f1f693052023675
parent031defd11ee11753110098603236a4257b2cc03d
usb-serial: ftdi_sio: fix reference counting of ftdi_private

This patch (as1238) adds proper reference counting for ftdi_sio's
private data structure.  Without it, the driver will free the
structure while it is still in use if the user unplugs the serial
device before closing the device file.

The patch also replaces a slightly dangerous
cancel_delayed_work/flush_scheduled_work pair with
cancel_delayed_work_sync, which is always safer.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Reported-by: Daniel Mack <daniel@caiaq.de>
Tested-by: Daniel Mack <daniel@caiaq.de>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/serial/ftdi_sio.c