On Thu, Jan 04, 2001 at 03:39:10PM +0100, Andrea Arcangeli wrote: > As noted yesterday falling into parport_write will silenty lose data when the > printer is off. (Actually it depends; I think FIFO/DMA paths are fine, but yes, the software implementation can lose data.) > If it's not feasible to make parport_write reliable against > power-off printer, then I recommend to loop in interruptible mode > before entering the main loop (waiting the printer to power-on) like > in latest patch from Peter. Have I missed a patch? How do you know whether or not the printer is on yet? As I understand it, you can't guarantee anything about any of the signals when the printer is off, so all you can do is look for 'suspicous' things (like 'no error' and 'paper out'). But some printers do this during normal operation, and hence the LP_CAREFUL switch. Return -EIO when the printer is on and off-line is a bug, sure enough. That's what the -EAGAIN patch was for, and Peter's patch fixes this too. But if you want to avoid losing data when your printer is off you need to use LP_CAREFUL, and hope printing still works at all (depends on your printer). If this goes away: if ((status & LP_PERRORP) && !(LP_F(minor) & LP_CAREFUL)) /* No error. */ last = 0; then some people might not be able to print at all. Tim. */