From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hannes Reinecke Subject: [PATCHv3 01/14] libata: do not attempt to retrieve sense code twice Date: Mon, 25 Apr 2016 12:45:43 +0200 Message-ID: <1461581156-92581-2-git-send-email-hare@suse.de> References: <1461581156-92581-1-git-send-email-hare@suse.de> Return-path: In-Reply-To: <1461581156-92581-1-git-send-email-hare@suse.de> Sender: linux-scsi-owner@vger.kernel.org To: Tejun Heo Cc: linux-ide@vger.kernel.org, Shaun Tancheff , Damien Le Moal , "Martin K. Petersen" , linux-scsi@vger.kernel.org, Hannes Reinecke , Hannes Reinecke List-Id: linux-ide@vger.kernel.org Do not call ata_request_sense() if the sense code is already present. Signed-off-by: Hannes Reinecke --- drivers/ata/libata-eh.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c index 5b340ce..e816619 100644 --- a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c @@ -1660,7 +1660,7 @@ static void ata_eh_request_sense(struct ata_queued_cmd *qc, return; } - if (!cmd) + if (!cmd || qc->flags & ATA_QCFLAG_SENSE_VALID) return; if (!ata_id_sense_reporting_enabled(dev->id)) { @@ -1849,7 +1849,7 @@ void ata_eh_analyze_ncq_error(struct ata_link *link) memcpy(&qc->result_tf, &tf, sizeof(tf)); qc->result_tf.flags = ATA_TFLAG_ISADDR | ATA_TFLAG_LBA | ATA_TFLAG_LBA48; qc->err_mask |= AC_ERR_DEV | AC_ERR_NCQ; - if (qc->result_tf.auxiliary) { + if ((qc->result_tf.command & ATA_SENSE) || qc->result_tf.auxiliary) { char sense_key, asc, ascq; sense_key = (qc->result_tf.auxiliary >> 16) & 0xff; -- 1.8.5.6