Andrea Arcangeli (arcangeli@mbox.queen.it)
Wed, 15 Apr 1998 00:26:09 +0200 (CEST)
On Sun, 12 Apr 1998, Philip Blundell wrote:
>- if ((!(status & LP_PACK) || (status & LP_PBUSY))
>- && LP_CAREFUL_READY(minor, status)) {
>- w_ctr(minor, LP_PSELECP | LP_PINITP);
>- sti();
>+ if (!(status & LP_PACK) || LP_CAREFUL_READY(minor, status)) {
>+ /* The printer went ready while we weren't looking. */
>+ w_ctr(minor, LP_PSELECP|LP_PINITP);
> continue;
> }
The patch fix the interrupt handling since force lp to not use interrupt
at all. If you don' t set in LP_F(minor) LP_CAREFUL the test you changed
force lp to not sleep on over the interrupt.
This:
if (!(status & LP_PACK) || LP_CAREFUL_READY(minor, status)) {
is the same of this:
if (!(status & LP_PACK) || 1)
in the default case.
I suggest people is having troubles to use lp polled (pratically the
same that this patch does) while we fix really the bug. Please reject
the patch if it' s been applyed to the offcial kernel.
Andrea[s] Arcangeli
-- To unsubscribe, send mail to: linux-parport-request@torque.net --
-- with the single word "unsubscribe" in the body of the message. --
This archive was generated by hypermail 2.0b3 on Wed 30 Dec 1998 - 10:17:37 EST