Vojtech:

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.

Alan Stern



Signed-off-by: Alan Stern <[EMAIL PROTECTED]>

===== drivers/usb/class/usblp.c 1.108 vs edited =====
--- 1.108/drivers/usb/class/usblp.c     2004-09-09 05:24:11 -04:00
+++ edited/drivers/usb/class/usblp.c    2004-09-20 14:33:03 -04: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: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to