summaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/usb-serial.c
diff options
context:
space:
mode:
authorPete Zaitcev <zaitcev@redhat.com>2006-05-24 20:04:04 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2006-06-22 00:04:14 +0200
commit2f8ad9a1b91bc6856860a2fea8b07e0c82c0ad0a (patch)
tree8ee7eba6bfd0c955dfcd455e32e305466f53f829 /drivers/usb/serial/usb-serial.c
parent[PATCH] improved TT scheduling for EHCI (diff)
downloadlinux-2f8ad9a1b91bc6856860a2fea8b07e0c82c0ad0a.tar.xz
linux-2f8ad9a1b91bc6856860a2fea8b07e0c82c0ad0a.zip
[PATCH] USB: rmmod pl2303 after -28
Wait for the scheduled work to finish before freeing memory, prevent oops. http://bugzilla.kernel.org/show_bug.cgi?id=6596 Signed-off-by: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to '')
-rw-r--r--drivers/usb/serial/usb-serial.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c
index 7a1cc1b04979..cbca3402d6cd 100644
--- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c
@@ -162,6 +162,8 @@ static void destroy_serial(struct kref *kref)
}
}
+ flush_scheduled_work(); /* port->work */
+
usb_put_dev(serial->dev);
/* free up any memory that we allocated */