From cb4b6dcaa2f06b4b24a2fe7c855969ced17cbcba Mon Sep 17 00:00:00 2001 From: Tejun Heo Date: Mon, 19 May 2008 01:15:05 +0900 Subject: [PATCH] --- yaml --- r: 96947 b: refs/heads/master c: 0cbf0711a1ebcc4d3aea8e11def684afc2c07ef8 h: refs/heads/master i: 96945: 655ff9b264d28de14dc59f90ace82ce2433cd49b 96943: 39a8cf97ef8c6c0e74d1f6178b50dfafa30b6be3 v: v3 --- [refs] | 2 +- trunk/drivers/ata/libata-core.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index dbccbd5fbf1c..b1a6277dc0ca 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7715a6f9cdb9c1422d2b1f4fea21b1fe86b5b0fe +refs/heads/master: 0cbf0711a1ebcc4d3aea8e11def684afc2c07ef8 diff --git a/trunk/drivers/ata/libata-core.c b/trunk/drivers/ata/libata-core.c index 927b692d723c..c6c316fc8379 100644 --- a/trunk/drivers/ata/libata-core.c +++ b/trunk/drivers/ata/libata-core.c @@ -3653,9 +3653,13 @@ int sata_link_hardreset(struct ata_link *link, const unsigned long *timing, if (check_ready) rc = ata_wait_ready(link, deadline, check_ready); out: - if (rc && rc != -EAGAIN) + if (rc && rc != -EAGAIN) { + /* online is set iff link is online && reset succeeded */ + if (online) + *online = false; ata_link_printk(link, KERN_ERR, "COMRESET failed (errno=%d)\n", rc); + } DPRINTK("EXIT, rc=%d\n", rc); return rc; }