patch-2.3.30 linux/drivers/char/lp.c
Next file: linux/drivers/char/mem.c
Previous file: linux/drivers/char/drm/proc.c
Back to the patch index
Back to the overall index
- Lines: 41
- Date:
Thu Dec 2 14:56:27 1999
- Orig file:
v2.3.29/linux/drivers/char/lp.c
- Orig date:
Mon Aug 9 10:23:09 1999
diff -u --recursive --new-file v2.3.29/linux/drivers/char/lp.c linux/drivers/char/lp.c
@@ -278,7 +278,7 @@
int error = 0;
unsigned int last = lp_table[minor].last_error;
unsigned char status = r_str(minor);
- if (status & LP_PERRORP)
+ if ((status & LP_PERRORP) && !(LP_F(minor) & LP_CAREFUL))
/* No error. */
last = 0;
else if ((status & LP_POUTPA)) {
@@ -293,12 +293,15 @@
printk(KERN_INFO "lp%d off-line\n", minor);
}
error = -EIO;
- } else {
+ } else if (!(status & LP_PERRORP)) {
if (last != LP_PERRORP) {
last = LP_PERRORP;
printk(KERN_INFO "lp%d on fire\n", minor);
}
error = -EIO;
+ } else {
+ last = 0; /* Come here if LP_CAREFUL is set and no
+ errors are reported. */
}
lp_table[minor].last_error = last;
@@ -542,14 +545,12 @@
else
LP_F(minor) &= ~LP_ABORTOPEN;
break;
-#ifdef OBSOLETED
case LPCAREFUL:
if (arg)
LP_F(minor) |= LP_CAREFUL;
else
LP_F(minor) &= ~LP_CAREFUL;
break;
-#endif
case LPWAIT:
LP_WAIT(minor) = arg;
break;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)