]> www.infradead.org Git - users/jedix/linux-maple.git/commit
[libata] Add " 2GB ATA Flash Disk"/"ADMA428M" to DMA blacklist
authorPrarit Bhargava <prarit@redhat.com>
Tue, 8 May 2012 13:08:02 +0000 (09:08 -0400)
committerMaxim Uvarov <maxim.uvarov@oracle.com>
Thu, 29 Nov 2012 06:51:00 +0000 (22:51 -0800)
commita7fb6cb25860b26d6fe6165d6de02d7e6d1458b5
treeee969f0ef878bcb900eb8a5fcf80e944aaa132c6
parent75b3a6d762d42b43d5d6c19d119ce9eda9951152
[libata] Add " 2GB ATA Flash Disk"/"ADMA428M" to DMA blacklist

Orabug: 15929836
A user has several systems with a couple of models of flash disks with IDE
connectors.  These disks work fine in 2.6.18-ish kernels but corrupt data on
new kernels.

The difference appears to be with the default I/O method used by the IDE
controller driver between the kernels.  In the older kernels, the
configuration is very conservative and the driver stays in PIO mode.  With
new kernels, the ata driver (pata_serverworks) attempts to use UDMA/66
which the drive claims to support.  This mode, however, does not appear to
work in DMA mode.  The drive does work correctly and no corruption is
seen if the kernel parameter "libata.force=5:pio0,6:pio0" is used to force
the driver to use PIO instead of DMA mode.

Blacklist these drives.  Unfortunately the model name of the drive is very
generic, " 2GB ATA Flash Disk", but the revision is specific, "ADMA428M".

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
(cherry picked from commit d70e551c8e1ecb6f20422f8db6bfe6a0049edcb8)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/ata/libata-core.c