Comment 80 for bug 228302

Revision history for this message
Conn O Griofa (psyke83) wrote :

Igor,

Let's try to get a summary of action needed.

Problem: the "pata_ali" kernel driver does not support ATAPI DMA transfers properly on certain ALI chipsets (even if force-enabled via the driver option "atapi_dma=1"). The "ata_generic" kernel driver supports ATAPI DMA transfers for such chipsets and has a special kernel boot option, "all_generic_ide", which causes it to override the manufacturer-specific drivers. However, this option does not work correctly when the "ata_generic" and "pata_ali" drivers are compiled-in to the kernel, which means that the "ata_generic" driver is impossible to use.

Solution:

Change these kernel config parameters:
CONFIG_PATA_ALI=y
CONFIG_ATA_GENERIC=y

To the following:
CONFIG_PATA_ALI=m
CONFIG_ATA_GENERIC=m

Result:
1. For all other users: there will be no functional difference between the original and modified kernel configuration (as long as the logic to automatically modprobe the "ata_generic"/"pata_ali" kernel modules is properly in place)
2. For users with buggy ALI chipsets, they can now take advantage of the kernel boot options "all_generic_ide" and/or to manually blacklist the "pata_ali" driver, which will cause the ata_generic driver to be used (and as a result, ATAPI DMA will work properly).

Am I missing anything, Igor?