summaryrefslogtreecommitdiffstats
path: root/drivers/ata/libata-eh.c
diff options
context:
space:
mode:
authorTejun Heo2008-04-07 15:47:19 +0200
committerJeff Garzik2008-04-17 21:44:23 +0200
commitac371987a81c61c2efbd6931245cdcaf43baad89 (patch)
treef88970931b26d2ad344d7d67ddabc64d9b48181d /drivers/ata/libata-eh.c
parentlibata: implement and use sata_std_hardreset() (diff)
downloadkernel-qcow2-linux-ac371987a81c61c2efbd6931245cdcaf43baad89.tar.gz
kernel-qcow2-linux-ac371987a81c61c2efbd6931245cdcaf43baad89.tar.xz
kernel-qcow2-linux-ac371987a81c61c2efbd6931245cdcaf43baad89.zip
libata: clear SError after link resume
SError used to be cleared in ->postreset. This has small hotplug race condition. If a device is plugged in after reset is complete but postreset hasn't run yet, its hotplug event gets lost when SError is cleared. This patch makes sata_link_resume() clear SError. This kills the race condition and makes a lot of sense as some PMP and host PHYs don't work properly without SError cleared. This change makes sata_pmp_std_{pre|post}_reset()'s unnecessary as they become identical to ata_std counterparts. It also simplifies sata_pmp_hardreset() and ahci_vt8251_hardreset(). Signed-off-by: Tejun Heo <htejun@gmail.com>
Diffstat (limited to 'drivers/ata/libata-eh.c')
0 files changed, 0 insertions, 0 deletions