Actually, it looked to me like there was a bus hang, a device reset, the
driver returned a complete reset to the error handler thread, then the
error handler thread kicked the queue before the CD was ready to accept
commands again and as a result of sense info saying as much the mid layer
took the device off line. So, in short, the mid layer isn't waiting long
enough, or when it gets sense indicated not ready it needs to implement a
waiting queue with a timeout to try rekicking things a few times and don't
actually mark the device off line until a longer period of time has
elasped without the device coming back.
As for getting it to be not off line without rebooting, just do a this:
echo "scsi-remove-single-device 0 0 6 0" > /proc/scsi/scsi
echo "scsi-add-single-device 0 0 6 0" > /proc/scsi/scsi
That'll remove the device and then rescan it. Assuming it's had enough
time to complete the reset by the time you do this and it's once again
ready to accept commands, this should get your CD back working.
-- Doug Ledford <dledford@redhat.com> 919-754-3700 x44233 Red Hat, Inc. 1801 Varsity Dr. Raleigh, NC 27606 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/