On Wed, 28 Nov 2007 00:13:59 +0900 Tejun Heo <htejun@xxxxxxxxx> wrote: > ATAPI devices come with plethora of bugs and many ATA controllers have > trouble dealing with odd byte DMA transfers. The problem is currently > somewhat masked by not allowing DMA transfers if the transfer size > isn't aligned to 16 bytes plus partial masking in problematic LLDs. NAK. Same complaint I had originally and which is not addressed. The whole approach being used here is fundamentally in the wrong place. Its also horribly damaging because of our PIO behaviour currently. - Until our PIO works without IRQ masking you can't take this approach for arbitary devices without hurting users badly. - I still see no evidence in the drives I've looked at that all of this is drive side (or indeed that most of it is) - Control over the DMA/PIO strategy belongs with the driver. If we mess that up it will cost us dearly later. What we should be doing IMHO is - Fix the PIO IRQ masking - Creating ata_std_check_atapi_dma() - Let drivers select between the std_check_atapi_dma() and their own rules Finally ata_std_check_atapi_dma should be blacklist based for all but the really generic issues (%15 etc), otherwise we punish the 99.999% of systems that work perfectly well for the sake of a tiny number that are problematic. - 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