Hi! There seems to be a longstanding problem with certain ATAPI drives and SATA bridges. This usually manifests itself in the device being disabled on boot, with log messages similar to this: kernel: ata5.00: qc timeout (cmd 0xa0) kernel: ata5.00: failed to clear UNIT ATTENTION (err_mask=0x5) kernel: ata5.00: disabled At least for the bridge I have (an Abit Serillel 2) setting DMADIR option and making sure even the internal commands use it seems to fix the issue. I have copied the code from atapi_xlat. Maybe some refactoring would be in order, because apparently some other things might have to be done too (such as setting lbam/lbah). Also I am not sure whether we need to check that it's in fact an ATAPI command (maybe by putting this in the if (cdb) block). Cheers, Csaba Halasz
Attachment:
dmadir.diff
Description: Binary data