summaryrefslogtreecommitdiff
path: root/drivers/ata/libata-core.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2009-10-15 14:37:32 (GMT)
committerJeff Garzik <jgarzik@redhat.com>2009-10-16 10:21:54 (GMT)
commit4f7c2874995ac48a4622755b8bd159eb2fb6d8f4 (patch)
treeab355d2b7392a8db4807bb7b31eb61190afa01e0 /drivers/ata/libata-core.c
parent6489e3262e6b188a1a009b65e8a94b7aa17645b7 (diff)
downloadlinux-4f7c2874995ac48a4622755b8bd159eb2fb6d8f4.tar.xz
libata: fix PMP initialization
Commit 842faa6c1a1d6faddf3377948e5cf214812c6c90 fixed error handling during attach by not committing detected device class to dev->class while attaching a new device. However, this change missed the PMP class check in the configuration loop causing a new PMP device to go through ata_dev_configure() as if it were an ATA or ATAPI device. As PMP device doesn't have a regular IDENTIFY data, this makes ata_dev_configure() tries to configure a PMP device using an invalid data. For the most part, it wasn't too harmful and went unnoticed but this ends up clearing dev->flags which may have ATA_DFLAG_AN set by sata_pmp_attach(). This means that SATA_PMP_FEAT_NOTIFY ends up being disabled on PMPs and on PMPs which honor the flag breaks hotplug support. This problem was discovered and reported by Ethan Hsiao. Signed-off-by: Tejun Heo <tj@kernel.org> Reported-by: Ethan Hsiao <ethanhsiao@jmicron.com> Cc: stable@kernel.org Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata/libata-core.c')
0 files changed, 0 insertions, 0 deletions