I got assigned a bug report:
 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=34551
Basically, when user's process loops it does not allow
khubd to run. I found that write() never returns an error,
and did not know if it was safe to change that behaviour.
So, here it is, the best band-aid I could do.

-- Pete

--- linux-2.4.3/drivers/usb/printer.c   Fri Mar  2 17:50:22 2001
+++ linux-2.4.3-p3/drivers/usb/printer.c        Sat Apr  7 21:04:14 2001
@@ -357,13 +357,17 @@
                                if (usblp->writeurb.status != -EINPROGRESS)
                                        err("usblp%d: error %d writing to printer",
                                                usblp->minor, usblp->writeurb.status);
-                               err = usblp->writeurb.status;
-                               continue;
                        }
                        else {
                                err = usblp_check_status(usblp, err);
-                               continue;
                        }
+                       if (writecount)
+                               return writecount;
+                       schedule_timeout(50);
+                       set_current_state(TASK_RUNNING);
+                       if (signal_pending(current))
+                               return -EINTR;
+                       continue;
                }
 
                writecount += usblp->writeurb.transfer_buffer_length;


_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
http://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to