Thanks for testing this, Anders!

> I did my usual "cat /boot/bzImage > /dev/usb/lp0" immediately after
> turning my printer off, which usually results in an oops and a kernel
> lockup.  With David's patch, however, the kernel just got busy
> printing the line over and over again:
> 
> printer.c: usblp0: failed reading printer status

Looks like usblp_write() line 402 should verify the printer is still
present before calling usblp_check_status and looping.  That
also explains why unplug/replug did nothing:  It's holding the
semaphore that usblp_disconnect() needs to get to do its job,
tying up khubd...


> rmmod usbcore printer usb-ohci
> 
> Besides from stopping the error messages, this also produced an oops,
> see the data below about this.  

Which fingers that same bad usblp_check_status() call.

Updated patch attached.  That usblp_write() routine looks iffier to me
the more I look at it ... 

- Dave


printer-0518.patch

Reply via email to