Gwendal Grignou f13e220161 libata: make ata_eh_qc_retry() bump scmd->allowed on bogus failures
libata EH decrements scmd->retries when the command failed for reasons
unrelated to the command itself so that, for example, commands aborted
due to suspend / resume cycle don't get penalized; however,
decrementing scmd->retries isn't enough for ATA passthrough commands.

Without this fix, ATA passthrough commands are not resend to the
drive, and no error is signalled to the caller because:

- allowed retry count is 1
- ata_eh_qc_complete fill the sense data, so result is valid
- sense data is filled with untouched ATA registers.

Signed-off-by: Gwendal Grignou <gwendal@google.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: stable@vger.kernel.org
2013-10-07 15:18:25 -04:00
..
2012-07-25 15:12:11 -04:00
2013-07-26 08:57:56 -04:00
2013-06-02 22:22:03 -07:00
2013-06-02 22:22:03 -07:00
2013-06-02 22:22:03 -07:00
2013-07-30 08:59:24 -04:00
2013-07-30 08:59:24 -04:00
2013-06-02 22:22:03 -07:00
2013-06-02 22:22:03 -07:00
2013-06-02 22:22:03 -07:00
2013-06-02 22:22:03 -07:00
2013-06-02 22:22:03 -07:00
2012-07-25 15:12:11 -04:00
2012-07-25 15:12:11 -04:00
2012-07-25 15:12:11 -04:00
2012-07-25 15:12:11 -04:00
2013-06-02 22:22:03 -07:00
2012-07-25 15:12:11 -04:00
2013-06-02 22:22:03 -07:00
2013-06-02 22:22:03 -07:00
2012-07-25 15:12:11 -04:00
2013-07-30 08:59:24 -04:00
2012-07-25 15:12:11 -04:00
2013-06-02 22:22:03 -07:00
2012-07-25 15:12:11 -04:00
2012-07-25 15:12:11 -04:00
2012-07-25 15:12:11 -04:00
2013-06-02 22:22:03 -07:00
2012-07-25 15:12:11 -04:00
2013-06-02 22:22:03 -07:00
2013-07-30 08:59:24 -04:00
2012-07-25 15:12:11 -04:00
2012-07-25 15:12:11 -04:00
2012-07-25 15:12:11 -04:00
2012-07-25 15:12:11 -04:00
2013-06-02 22:22:03 -07:00
2012-07-25 15:12:11 -04:00
2013-07-30 08:59:24 -04:00
2013-07-30 08:59:24 -04:00
2012-07-25 15:12:11 -04:00
2013-06-02 22:22:03 -07:00
2013-06-02 22:22:03 -07:00
2012-07-25 15:12:11 -04:00
2012-07-25 15:12:11 -04:00
2013-06-02 22:22:03 -07:00
2013-06-02 22:22:03 -07:00
2013-06-02 22:22:03 -07:00
2013-06-02 22:22:03 -07:00
2013-06-02 22:22:03 -07:00
2013-06-02 22:22:03 -07:00
2013-06-02 22:22:03 -07:00
2012-07-25 15:12:11 -04:00
2013-06-02 22:22:03 -07:00
2012-07-25 15:12:11 -04:00
2013-04-09 14:13:28 -04:00
2012-07-25 15:12:11 -04:00