Message ID | 1461262544-115408-9-git-send-email-andriy.shevchenko@linux.intel.com |
---|---|
State | Not Applicable |
Delegated to: | David Miller |
Headers | show |
RnJvbTogQW5keSBTaGV2Y2hlbmtvDQo+IFNlbnQ6IDIxIEFwcmlsIDIwMTYgMTk6MTUNCj4gYXRh X3NmZl9xY19pc3N1ZSgpIGNhbid0IGhhbmRsZSBETUEgY29tbWFuZHMgYW5kIHRodXMgd2UgaGF2 ZSB0byBhdm9pZCBpdCBmb3INCj4gdGhlbS4gRG8gY2FsbCBhdGFfYm1kbWFfcWNfaXNzdWUoKSBp bnN0ZWFkIGZvciB0aGlzIGNhc2UuDQo+IA0KPiBTdWdnZXN0ZWQtYnk6IENocmlzdGlhbiBMYW1w YXJ0ZXIgPGNodW5rZWV5QGdvb2dsZW1haWwuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBBbmR5IFNo ZXZjaGVua28gPGFuZHJpeS5zaGV2Y2hlbmtvQGxpbnV4LmludGVsLmNvbT4NCj4gLS0tDQo+ICBk cml2ZXJzL2F0YS9zYXRhX2R3Y180NjBleC5jIHwgNiArKysrLS0NCj4gIDEgZmlsZSBjaGFuZ2Vk LCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9hdGEvc2F0YV9kd2NfNDYwZXguYyBiL2RyaXZlcnMvYXRhL3NhdGFfZHdjXzQ2MGV4LmMN Cj4gaW5kZXggMDM4ZTVmYi4uODQ1YzM1ZCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9hdGEvc2F0 YV9kd2NfNDYwZXguYw0KPiArKysgYi9kcml2ZXJzL2F0YS9zYXRhX2R3Y180NjBleC5jDQo+IEBA IC0xMDYxLDEwICsxMDYxLDEyIEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgc2F0YV9kd2NfcWNfaXNz dWUoc3RydWN0IGF0YV9xdWV1ZWRfY21kICpxYykNCj4gIAkJCV9fZnVuY19fLCB0YWcsIHFjLT5h cC0+bGluay5zYWN0aXZlLCBzYWN0aXZlKTsNCj4gDQo+ICAJCWFwLT5vcHMtPnNmZl90Zl9sb2Fk KGFwLCAmcWMtPnRmKTsNCj4gLQkJc2F0YV9kd2NfZXhlY19jb21tYW5kX2J5X3RhZyhhcCwgJnFj LT50ZiwgcWMtPnRhZywNCj4gKwkJc2F0YV9kd2NfZXhlY19jb21tYW5kX2J5X3RhZyhhcCwgJnFj LT50ZiwgdGFnLA0KPiAgCQkJCQkgICAgIFNBVEFfRFdDX0NNRF9JU1NVRURfUEVORCk7DQo+ICsJ fSBlbHNlIGlmIChhdGFfaXNfZG1hKHFjLT50Zi5wcm90b2NvbCkpIHsNCj4gKwkJcmV0dXJuIGF0 YV9ibWRtYV9xY19pc3N1ZShxYyk7DQo+ICAJfSBlbHNlIHsNCj4gLQkJYXRhX3NmZl9xY19pc3N1 ZShxYyk7DQo+ICsJCXJldHVybiBhdGFfc2ZmX3FjX2lzc3VlKHFjKTsNCj4gIAl9DQo+ICAJcmV0 dXJuIDA7DQo+ICB9DQoNCkknZCBudWtlIHRob3NlICdlbHNlIGlmJywgdGhleSBtYWtlIGl0IHZl cnkgaGFyZCB0byByZWFkLg0KSSBUaGluayB0aGUgY29kZSBpczoNCg0KCQlzYXRhX2R3Y19leGVj X2NvbW1hbmRfYnlfdGFnKC4uLik7DQoJCXJldHVybiAwOw0KCX0NCg0KCWlmIChhdGFfaXNfZG1h KHFjLT50Zi5wcm90b2NvbCkpDQoJCXJldHVybiBhdGFfYm1kbWFfcWNfaXNzdWUocWMpOw0KDQoJ cmV0dXJuIGF0YV9zZmZfcWNfaXNzdWUocWMpOw0KfQ0KDQoJRGF2aWQNCg0K -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/ata/sata_dwc_460ex.c b/drivers/ata/sata_dwc_460ex.c index 038e5fb..845c35d 100644 --- a/drivers/ata/sata_dwc_460ex.c +++ b/drivers/ata/sata_dwc_460ex.c @@ -1061,10 +1061,12 @@ static unsigned int sata_dwc_qc_issue(struct ata_queued_cmd *qc) __func__, tag, qc->ap->link.sactive, sactive); ap->ops->sff_tf_load(ap, &qc->tf); - sata_dwc_exec_command_by_tag(ap, &qc->tf, qc->tag, + sata_dwc_exec_command_by_tag(ap, &qc->tf, tag, SATA_DWC_CMD_ISSUED_PEND); + } else if (ata_is_dma(qc->tf.protocol)) { + return ata_bmdma_qc_issue(qc); } else { - ata_sff_qc_issue(qc); + return ata_sff_qc_issue(qc); } return 0; }
ata_sff_qc_issue() can't handle DMA commands and thus we have to avoid it for them. Do call ata_bmdma_qc_issue() instead for this case. Suggested-by: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/ata/sata_dwc_460ex.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)