diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-16 12:25:11 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-16 12:25:11 -0400 |
commit | 7c650a0a9dda405ba41df12cf106d1228e50e3ba (patch) | |
tree | 192d743da2ffbe6305a28b4571b5cefc78d6755a /drivers/ata/libata-core.c | |
parent | 012abeea669ea49636cf952d13298bb68654146a (diff) | |
parent | 159a7ff7a13f9a02c75006f40c0561a3a81aefcd (diff) |
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
sata_mv: Prevent PIO commands to be defered too long if traffic in progress.
pata_sc1200: Fix crash on boot
libata: fix internal command failure handling
libata: fix PMP initialization
sata_nv: make sure link is brough up online when skipping hardreset
ahci / atiixp / pci quirks: rename AMD SB900 into Hudson-2
ahci: Add the AHCI controller Linux Device ID for NVIDIA chipsets.
pata_via: extend the rev_max for VT6330
Diffstat (limited to 'drivers/ata/libata-core.c')
-rw-r--r-- | drivers/ata/libata-core.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index b525a0981348..d7f0f1b1ae3e 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c | |||
@@ -5028,12 +5028,14 @@ void ata_qc_complete(struct ata_queued_cmd *qc) | |||
5028 | qc->flags |= ATA_QCFLAG_FAILED; | 5028 | qc->flags |= ATA_QCFLAG_FAILED; |
5029 | 5029 | ||
5030 | if (unlikely(qc->flags & ATA_QCFLAG_FAILED)) { | 5030 | if (unlikely(qc->flags & ATA_QCFLAG_FAILED)) { |
5031 | if (!ata_tag_internal(qc->tag)) { | 5031 | /* always fill result TF for failed qc */ |
5032 | /* always fill result TF for failed qc */ | 5032 | fill_result_tf(qc); |
5033 | fill_result_tf(qc); | 5033 | |
5034 | if (!ata_tag_internal(qc->tag)) | ||
5034 | ata_qc_schedule_eh(qc); | 5035 | ata_qc_schedule_eh(qc); |
5035 | return; | 5036 | else |
5036 | } | 5037 | __ata_qc_complete(qc); |
5038 | return; | ||
5037 | } | 5039 | } |
5038 | 5040 | ||
5039 | WARN_ON_ONCE(ap->pflags & ATA_PFLAG_FROZEN); | 5041 | WARN_ON_ONCE(ap->pflags & ATA_PFLAG_FROZEN); |