From 1373e76334d33b71957623c398cf0a0dd22045a4 Mon Sep 17 00:00:00 2001 From: Tejun Heo Date: Mon, 16 Jul 2007 14:29:40 +0900 Subject: [PATCH] --- yaml --- r: 62007 b: refs/heads/master c: 5335b729064e03319cd2d5219770451dbb1d7f67 h: refs/heads/master i: 62005: bf805be341187fadfa4fdbb44467dc233c0cb84f 62003: 9bb8729162d4558b8f5ed012d598652bf55f4e62 61999: 2065b9161134f2ac0f34a2cf7ea2aa2d140128ba v: v3 --- [refs] | 2 +- trunk/drivers/ata/libata-eh.c | 7 ++++--- trunk/include/linux/libata.h | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index eeeb409b0013..73dd5620c874 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b64bbc39f2122a2276578e40144af69ef01decd4 +refs/heads/master: 5335b729064e03319cd2d5219770451dbb1d7f67 diff --git a/trunk/drivers/ata/libata-eh.c b/trunk/drivers/ata/libata-eh.c index 96b184ebf708..19f9947bd96b 100644 --- a/trunk/drivers/ata/libata-eh.c +++ b/trunk/drivers/ata/libata-eh.c @@ -1195,7 +1195,7 @@ static void ata_eh_analyze_ncq_error(struct ata_port *ap) /* we've got the perpetrator, condemn it */ qc = __ata_qc_from_tag(ap, tag); memcpy(&qc->result_tf, &tf, sizeof(tf)); - qc->err_mask |= AC_ERR_DEV; + qc->err_mask |= AC_ERR_DEV | AC_ERR_NCQ; ehc->i.err_mask &= ~AC_ERR_DEV; } @@ -1616,7 +1616,7 @@ static void ata_eh_report(struct ata_port *ap) "cmd %02x/%02x:%02x:%02x:%02x:%02x/%02x:%02x:%02x:%02x:%02x/%02x " "tag %d cdb 0x%x data %u %s\n " "res %02x/%02x:%02x:%02x:%02x:%02x/%02x:%02x:%02x:%02x:%02x/%02x " - "Emask 0x%x (%s)\n", + "Emask 0x%x (%s)%s\n", cmd->command, cmd->feature, cmd->nsect, cmd->lbal, cmd->lbam, cmd->lbah, cmd->hob_feature, cmd->hob_nsect, @@ -1627,7 +1627,8 @@ static void ata_eh_report(struct ata_port *ap) res->lbal, res->lbam, res->lbah, res->hob_feature, res->hob_nsect, res->hob_lbal, res->hob_lbam, res->hob_lbah, - res->device, qc->err_mask, ata_err_string(qc->err_mask)); + res->device, qc->err_mask, ata_err_string(qc->err_mask), + qc->err_mask & AC_ERR_NCQ ? " " : ""); } } diff --git a/trunk/include/linux/libata.h b/trunk/include/linux/libata.h index 94b37d180680..cb181713d9b5 100644 --- a/trunk/include/linux/libata.h +++ b/trunk/include/linux/libata.h @@ -323,6 +323,7 @@ enum ata_completion_errors { AC_ERR_INVALID = (1 << 7), /* invalid argument */ AC_ERR_OTHER = (1 << 8), /* unknown */ AC_ERR_NODEV_HINT = (1 << 9), /* polling device detection hint */ + AC_ERR_NCQ = (1 << 10), /* marker for offending NCQ qc */ }; /* forward declarations */