Jeff Garzik wrote: > > Applied, though I think its an open question what happens with > CDB-interrupt ATAPI devices want to do DMA. Perhaps we just get an > interrupt event that we clear, then life proceeds as normal. Not sure. I have no such device at hand for test; currently relying on the SFF-8020i spec (http://www.bswd.com/sff8020i.pdf) as reference. According to p.31, we have to send out the CDB after receiving the CDB interrupt. So, just clearing the irq looks not enough. > > Does anybody actually have such a device anywhere? :) > Maybe Alan or Mark knows? We really need tester for such device. How about the attached patch? --- Albert --- 07_followup/drivers/scsi/libata-core.c 2006-03-13 16:25:52.000000000 +0800 +++ 08_need_tester/drivers/scsi/libata-core.c 2006-03-14 12:45:09.000000000 +0800 @@ -1294,8 +1294,12 @@ static int ata_dev_configure(struct ata_ } dev->cdb_len = (unsigned int) rc; - if (ata_id_cdb_intr(dev->id)) + if (ata_id_cdb_intr(dev->id)) { dev->flags |= ATA_DFLAG_CDB_INTR; + printk(KERN_INFO "This ATAPI device generates CDB intr.\n" + "Please send an email to linux-ide@xxxxxxxxxxxxxxx\n" + "if you are interested to help testing such device.\n"); + } /* print device info to dmesg */ if (print_info) - : 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