patch-2.2.16 linux/drivers/char/lp.c

Next file: linux/drivers/char/misc.c
Previous file: linux/drivers/char/ip2main.c
Back to the patch index
Back to the overall index

diff -urN v2.2.15/linux/drivers/char/lp.c linux/drivers/char/lp.c
@@ -202,7 +202,7 @@
 /* Test if the printer is not acking the strobe */
 #define	LP_NO_ACKING(status)	((status) & LP_PACK)
 /* Test if the printer has error conditions */
-#define LP_NO_ERROR(status)	((status) & LP_PERRORP)
+#define LP_NO_ERROR(minor, status)	((!(LP_F(minor) & LP_CAREFUL)) ? ((status) & LP_PERRORP) : (((status) & (LP_PERRORP|LP_POUTPA|LP_PSELECD)) == (LP_PERRORP|LP_PSELECD)))
 
 #undef LP_DEBUG
 #undef LP_READ_DEBUG
@@ -289,7 +289,7 @@
 		lp_yield(minor);
 
 		status = r_str(minor);
-		if (LP_NO_ERROR(status))
+		if (LP_NO_ERROR(minor, status))
 		{
 			if (LP_READY(status))
 				break;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)