My previous patch (several months ago) missed one instance of changing usblp status data from local stack to alloc-ed memory.
This patch to 2.5.70-bk13 (but should still apply AFAIK) corrects the missing instance. Please apply. -- ~Randy --- ./drivers/usb/class/usblp.c.orig 2003-06-10 20:31:48.000000000 -0700 +++ ./drivers/usb/class/usblp.c 2003-06-12 00:02:28.000000000 -0700 @@ -426,7 +426,7 @@ static int usblp_ioctl(struct inode *ino { struct usblp *usblp = file->private_data; int length, err, i; - unsigned char lpstatus, newChannel; + unsigned char newChannel; int status; int twoints[2]; int retval = 0; @@ -578,12 +578,12 @@ static int usblp_ioctl(struct inode *ino switch (cmd) { case LPGETSTATUS: - if (usblp_read_status(usblp, &lpstatus)) { + if (usblp_read_status(usblp, usblp->statusbuf)) { err("usblp%d: failed reading printer status", usblp->minor); retval = -EIO; goto done; } - status = lpstatus; + status = *usblp->statusbuf; if (copy_to_user ((int *)arg, &status, sizeof(int))) retval = -EFAULT; break; ------------------------------------------------------- This SF.NET email is sponsored by: eBay Great deals on office technology -- on eBay now! Click here: http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5 _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel