ChangeSet 1.1867.3.48, 2004/09/21 15:56:32-07:00, [EMAIL PROTECTED]

[PATCH] USB: Fix oops in usblp driver

This bug was reported back in July, and I sent out a patch but apparently
it never got to you.  The usblp driver was calling usb_buffer_free() from
usblp_cleanup(), which runs after disconnect() if a user process holds the
device open.  But once the usb_device is gone usb_buffer_free() will
oops.  The patch frees the buffers in usb_disconnect() instead.

Recently Joost Witteveen reported the same oops and found that the
patch solved it for him.  So there shouldn't be problems with accepting
it.


Signed-off-by: Alan Stern <[EMAIL PROTECTED]>
Signed-off-by: Vojtech Pavlik <[EMAIL PROTECTED]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>


 drivers/usb/class/usblp.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)


diff -Nru a/drivers/usb/class/usblp.c b/drivers/usb/class/usblp.c
--- a/drivers/usb/class/usblp.c 2004-10-19 08:10:23 -07:00
+++ b/drivers/usb/class/usblp.c 2004-10-19 08:10:23 -07:00
@@ -397,10 +397,6 @@
 {
        info("usblp%d: removed", usblp->minor);
 
-       usb_buffer_free (usblp->dev, USBLP_BUF_SIZE,
-                       usblp->writebuf, usblp->writeurb->transfer_dma);
-       usb_buffer_free (usblp->dev, USBLP_BUF_SIZE,
-                       usblp->readbuf, usblp->readurb->transfer_dma);
        kfree (usblp->device_id_string);
        kfree (usblp->statusbuf);
        usb_free_urb(usblp->writeurb);
@@ -1159,6 +1155,10 @@
        usb_set_intfdata (intf, NULL);
 
        usblp_unlink_urbs(usblp);
+       usb_buffer_free (usblp->dev, USBLP_BUF_SIZE,
+                       usblp->writebuf, usblp->writeurb->transfer_dma);
+       usb_buffer_free (usblp->dev, USBLP_BUF_SIZE,
+                       usblp->readbuf, usblp->readurb->transfer_dma);
 
        if (!usblp->used)
                usblp_cleanup (usblp);



-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to