Mikael Pettersson wrote: >> You really don't wanna schedule ATA_EH_SOFTRESET and freeze the port on >> every error. If you do that, ATAPI devices will be reset after each >> CHECK CONDITION and it probably won't work properly. > > Would that be hal polling to see if media has been inserted? Yes, it can be hal. It can be anything. Raising CHECK CONDITION and reporting the details via sense data is part of normal operations for ATAPI devices. >> FWIW, libata EH >> automatically issues softreset if the port is frozen (as that's the only >> way to thaw the port), so setting EH_SOFTRESET is optional if you freeze >> the port. >> >> Another problem is that EH may issue other commands to while trying to >> recover - e.g. PACKET - REQUEST SENSE or READ LOG PAGE. This only >> happens if the port is ready for commands, IOW, !frozen. Before, the >> pdc_reset_port() used to be called on entry to EH if it's not frozen but >> it's not after this patch. Is this safe? > > Oh dear. I assumed EH would only want to inspect the standard > status registers, and that's why I wanted to delay the reset. > If EH wants to talk to the device then it's a very bad idea to > not have issued a pdc_reset_port() first. Yeap, if port reset clears some registers, they need to be saved into appropriate fields in ehi/c or qc. If something isn't there, please let me know. Thanks. -- tejun - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html