lkml.org 
[lkml]   [2017]   [Feb]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 18/66] libata: Fix ATA request sense
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Damien Le Moal <damien.lemoal@wdc.com>

    commit 2dae99558e86894e9e5dbf097477baaa5eb70134 upstream.

    For an ATA device supporting the sense data reporting feature set, a
    failed command will trigger the execution of ata_eh_request_sense if
    the result task file of the failed command has the ATA_SENSE bit set
    (sense data available bit). ata_eh_request_sense executes the REQUEST
    SENSE DATA EXT command to retrieve the sense data of the failed
    command. On success of REQUEST SENSE DATA EXT, the ATA_SENSE bit will
    NOT be set (the command succeeded) but ata_eh_request_sense
    nevertheless tests the availability of sense data by testing that bit
    presence in the result tf of the REQUEST SENSE DATA EXT command. This
    leads us to falsely assume that request sense data failed and to the
    warning message:

    atax.xx: request sense failed stat 50 emask 0

    Upon success of REQUEST SENSE DATA EXT, set the ATA_SENSE bit in the
    result task file command so that sense data can be returned by
    ata_eh_request_sense.

    Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/ata/libata-core.c | 2 ++
    1 file changed, 2 insertions(+)

    --- a/drivers/ata/libata-core.c
    +++ b/drivers/ata/libata-core.c
    @@ -1695,6 +1695,8 @@ unsigned ata_exec_internal_sg(struct ata

    if (qc->err_mask & ~AC_ERR_OTHER)
    qc->err_mask &= ~AC_ERR_OTHER;
    + } else if (qc->tf.command == ATA_CMD_REQ_SENSE_DATA) {
    + qc->result_tf.command |= ATA_SENSE;
    }

    /* finish up */

    \
     
     \ /
      Last update: 2017-02-07 14:20    [W:3.306 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site