From: Tejun Heo Date: Sun, 23 Sep 2007 04:19:53 +0000 (+0900) Subject: libata-pmp: update ata_eh_reset() for PMP X-Git-Tag: v2.6.24-rc1~1391^2~32 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=3495de733633d24ee97852080b737b436c110d6e;p=linux.git libata-pmp: update ata_eh_reset() for PMP PMP always requires SRST to be enabled. Also, hardreset reports classification code from the first device when PMP is attached, not from the PMP. Update ata_eh_reset() such that followup softreset is performed if the controller is PMP capable and the host link is being reset. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik --- diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c index 60186f8ac3a1..687419b66708 100644 --- a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c @@ -2003,6 +2003,8 @@ static int ata_eh_followup_srst_needed(struct ata_link *link, return 1; if (rc != 0) return 0; + if ((link->ap->flags & ATA_FLAG_PMP) && ata_is_host_link(link)) + return 1; if (classify && !(link->flags & ATA_LFLAG_ASSUME_CLASS) && classes[0] == ATA_DEV_UNKNOWN) return 1;