Messages in this thread Patch in this message | | | Date | Fri, 26 Jun 1998 21:04:33 +0200 (CEST) | From | Andrea Arcangeli <> | Subject | Re: 2.1.106 and Epson Stylus Color II |
| |
On Thu, 25 Jun 1998, Andrea Arcangeli wrote:
>On Thu, 25 Jun 1998, Henrik Storner wrote: > >>Polled mode printing works fine for me with this patch applied. Interrupt > >Good, so I' ll start sending you some debugging patches. Everybody is >interested in this process (for testing or developing a fix) can ask to >me and will be included in To:.
Here the fix (thanks to Henrik Storner for the testing!). This patch has nothing to do with my lp workaround logic in 107 and so now that polling mode returned to work for all (I hope ;-) also the interrupt mode started to work also for people that never got it working.
Patch against 107. I' d like to hear some other succesfully report before forward the patch to Linus.
Andrea[s] Arcangeli
--- linux/drivers/char/lp.c 1998/06/20 13:09:57 1.1 +++ linux/drivers/char/lp.c 1998/06/26 10:37:15 @@ -74,9 +74,9 @@ * BUSY _________ _______ * |____________| * - * I discovered this using the printer scanner: + * I discovered this using the printer scanner that you can find at: * - * http://www.cs.unibo.it/~arcangel/pscan/pscan-0.4.tar.gz + * ftp://e-mind.com/pub/linux/pscan/ * * 11 May 98, Andrea Arcangeli */ @@ -326,8 +326,7 @@ lp_table[minor].irq_detected = 0; lp_table[minor].irq_missed = 0; - if (!LP_POLLED(minor)) - w_ctr(minor, LP_PSELECP | LP_PINITP | LP_PINTEN); + w_ctr(minor, LP_PSELECP | LP_PINITP); do { bytes_written = 0; @@ -335,7 +334,7 @@ if (copy_from_user(lp->lp_buffer, buf, copy_size)) { - w_ctr(minor, LP_PINITP); + w_ctr(minor, LP_PSELECP | LP_PINITP); return -EFAULT; } @@ -357,7 +356,7 @@ if (signal_pending(current)) { - w_ctr(minor, LP_PINITP); + w_ctr(minor, LP_PSELECP | LP_PINITP); if (total_bytes_written + bytes_written) return total_bytes_written + bytes_written; else @@ -370,7 +369,7 @@ if (lp_check_status(minor)) { - w_ctr(minor, LP_PINITP); + w_ctr(minor, LP_PSELECP | LP_PINITP); return rc ? rc : -EIO; } @@ -414,7 +413,7 @@ } while (count > 0); - w_ctr(minor, LP_PINITP); + w_ctr(minor, LP_PSELECP | LP_PINITP); return total_bytes_written; }
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu
| |