Hi Greg,

please apply this patch to 2.6.

Thanks,
        Vojtech

On Mon, Sep 20, 2004 at 02:44:13PM -0400, Alan Stern wrote:

> 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

Alan, thanks for the patch.

Signed-off-by: Vojtech Pavlik <[EMAIL PROTECTED]>
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);


-- 
Vojtech Pavlik
SuSE Labs, SuSE CR


-------------------------------------------------------
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