From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: usb: dwc3: gadget: Correct the logic for queuing sgs From: Felipe Balbi Message-Id: <87lgejni7v.fsf@linux.intel.com> Date: Fri, 23 Mar 2018 13:29:08 +0200 To: Anurag Kumar Vulisha , Greg Kroah-Hartman Cc: "v.anuragkumar@gmail.com" , Ajay Yugalkishore Pandey , "linux-usb@vger.kernel.org" , "linux-kernel@vger.kernel.org" List-ID: KHBsZWFzZSBjb25maWd1cmUgeW91ciBlbWFpbCBjbGllbnQgdG8gYnJlYWsgbGluZXMgYXQgODAg Y29sdW1ucyA7LSkKCkhpLAoKQW51cmFnIEt1bWFyIFZ1bGlzaGEgPGFudXJhZ2t1QHhpbGlueC5j b20+IHdyaXRlczoKPiBIaSBGZWxpcGUsCj4KPiBUaGFua3MgZm9yIHJldmlld2luZyB0aGUgcGF0 Y2ggLCBwbGVhc2UgZmluZCBteSBjb21tZW50cyBpbmxpbmUKCm5vIGlzc3VlcyA6LSkKCj4+QW51 cmFnIEt1bWFyIFZ1bGlzaGEgPGFudXJhZy5rdW1hci52dWxpc2hhQHhpbGlueC5jb20+IHdyaXRl czoKPj4+IFRoaXMgcGF0Y2ggZml4ZXMgdHdvIGlzc3Vlcwo+Pj4KPj4+IDEuIFRoZSBjb2RlIGxv Z2ljIGluIGR3YzNfcHJlcGFyZV9vbmVfdHJiKCkgaW5jb3JyZWN0bHkgdXNlcyB0aGUKPj4+IGFk ZHJlc3MgYW5kIGxlbmd0aCBnaXZlbiBpbiByZXEgcGFja2V0IGV2ZW4gZm9yIHNjYXR0ZXJnYXRo ZXIgbGlzdHMuCj4+PiBUaGlzIHBhdGNoIGNvcnJlY3QncyB0aGUgY29kZSB0byB1c2Ugc2ctPmFk ZHJlc3MgYW5kIHNnLT5sZW5ndGggd2hlbgo+Pj4gc2NhdHRlcmdhdGhlciBsaXN0cyBhcmUgcHJl c2VudC4KPj4+Cj4+PiAyLiBUaGUgcHJlc2VudCBjb2RlIGNvcnJlY3RseSBmZXRjaGVzIHRoZSBy ZXEncyB3aGljaCB3ZXJlIG5vdCBxdWV1ZWQKPj4+IGZyb20gdGhlIHN0YXJ0ZWRfbGlzdCBidXQg ZmFpbHMgdG8gc3RhcnQgZnJvbSB0aGUgc2cgd2hlcmUgaXQKPj4+IHByZXZpb3VzbHkgc3RvcHBl ZCBxdWV1aW5nIGJlY2F1c2Ugb2YgdGhlIHVuYXZhaWxhYmxlIFRSQidzLiBUaGlzCj4+PiBwYXRj aCBjb3JyZWN0J3MgdGhlIGNvZGUgdG8gc3RhcnQgcXVldWluZyBmcm9tIHRoZSBjb3JyZWN0IHNn IGluIHNnbGlzdC4KPj4KPj50aGVzZSB0d28gc2hvdWxkIGJlIGluIHNlcGFyYXRlIHBhdGNoZXMs IHRoZW4uCj4+Cj4gV2lsbCBjcmVhdGUgc2VwYXJhdGUgcGF0Y2hlcyBpbiBuZXh0IHZlcnNpb24K CnRoYW5rcywgdGhhdCBoZWxwcyA6LSkKCj4+PiBTaWduZWQtb2ZmLWJ5OiBBbnVyYWcgS3VtYXIg VnVsaXNoYSA8YW51cmFna3VAeGlsaW54LmNvbT4KPj4+IC0tLQo+Pj4gIGRyaXZlcnMvdXNiL2R3 YzMvY29yZS5oICAgfCAgNCArKysrCj4+PiAgZHJpdmVycy91c2IvZHdjMy9nYWRnZXQuYyB8IDQy Cj4+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KPj4+ICAyIGZp bGVzIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4+Pgo+Pj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2R3YzMvY29yZS5oIGIvZHJpdmVycy91c2IvZHdjMy9jb3Jl LmggaW5kZXgKPj4+IDg2MGQyYmMuLjI3NzllNTggMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL3Vz Yi9kd2MzL2NvcmUuaAo+Pj4gKysrIGIvZHJpdmVycy91c2IvZHdjMy9jb3JlLmgKPj4+IEBAIC03 MTgsNyArNzE4LDkgQEAgc3RydWN0IGR3YzNfaHdwYXJhbXMgewo+Pj4gICAqIEBsaXN0OiBhIGxp c3RfaGVhZCB1c2VkIGZvciByZXF1ZXN0IHF1ZXVlaW5nCj4+PiAgICogQGRlcDogc3RydWN0IGR3 YzNfZXAgb3duaW5nIHRoaXMgcmVxdWVzdAo+Pj4gICAqIEBzZzogcG9pbnRlciB0byBmaXJzdCBp bmNvbXBsZXRlIHNnCj4+PiArICogQHNnX3RvX3N0YXJ0OiBwb2ludGVyIHRvIHRoZSBzZyB3aGlj aCBzaG91bGQgYmUgcXVldWVkIG5leHQKPj4+ICAgKiBAbnVtX3BlbmRpbmdfc2dzOiBjb3VudGVy IHRvIHBlbmRpbmcgc2dzCj4+PiArICogQG51bV9xdWV1ZWRfc2dzOiBjb3VudGVyIHRvIHRoZSBu dW1iZXIgb2Ygc2dzIHdoaWNoIGFscmVhZHkgZ290Cj4+PiArIHF1ZXVlZAo+Pgo+PnRoaXMgaXMg dGhlIHNhbWUgYXMgbnVtX3BlbmRpbmdfc2dzLgo+Cj4gbnVtX3BlbmRpbmdfc2dzIGlzIGluaXRp YWxseSBwb2ludGluZyB0byBudW1fbWFwcGVkX3Nncywgd2hpY2ggZ2V0cwo+IGRlY3JlbWVudGVk IGluIGR3YzNfY2xlYW51cF9kb25lX3JlcXMoKS4KPgo+IENvbnNpZGVyIGEgY2FzZSB3aGVyZSB0 aGUgZHJpdmVyIGZhaWxlZCB0byBxdWV1ZSBhbGwgc2dzIGludG8gVFJCcwo+IGJlY2F1c2Ugb2Yg aW5zdWZmaWNpZW50IFRSQiBudW1iZXIuIEZvciBleGFtcGxlLCBsZXRzIGFzc3VtZSByZXEgaGFz IDUKPiBzZ3MgYW5kIG9ubHkgMyBnb3QgcXVldWVkLiBJbiB0aGlzIHNjZW5hcmlvICx3aGVuIHRo ZQo+IGR3YzNfY2xlYW51cF9kb25lX3JlcXMoKSBnZXRzIGNhbGxlZCB0aGUgdmFsdWUgb2YgbnVt X3BlbmRpbmdfc2dzID0KPiA1LiBTaW5jZSB0aGUgdmFsdWUgb2YgbnVtX3BlbmRpbmdfc2dzIGlz IGdyZWF0ZXIgdGhhbiAwLAo+IF9fZHdjM19nYWRnZXRfa2lja190cmFuc2ZlcigpIGdldHMgY2Fs bGVkIHdpdGggbnVtX3BlbmRpbmdfc2dzID0gNS0xID0KPiA0Lgo+Cj4gRXZlbnR1YWxseSBfX2R3 YzNfZ2FkZ2V0X2tpY2tfdHJhbnNmZXIoKSBjYWxscwo+IGR3YzNfcHJlcGFyZV9vbmVfdHJiX3Nn KCkgd2hpY2ggaGFzIGZvcl9lYWNoX3NnKCkgY2FsbCB3aGljaCBsb29wcyBmb3IKPiBudW1fcGVu ZGluZ19zZ3MgdGltZXMgKDQgdGltZXMgaW4gb3VyIGV4YW1wbGUpLiBUaGlzIGlzIGluY29ycmVj dCwKPiBpZGVhbGx5IGl0IHNob3VsZCBiZSBjYWxsZWQgb25seSBmb3IgMiB0aW1lcyBiZWNhdXNl IHdlIGhhdmUgb25seSAyCj4gc2dzIHdoaWNoIHByZXZpb3VzbHkgd2VyZSBub3QgcXVldWVkLgo+ Cj4gU28sIHdlIGFkZGVkIGFuIGV4dHJhIGZsYWcgbnVtX3F1ZXVlZF9zZ3Mgd2hpY2ggY291bnRz IHRoZSBudW1iZXIgb2YKPiBzZ3MgdGhhdCBnb3QgcXVldWVkIHN1Y2Nlc3NmdWxseSBhbmQgbWFr ZSBmb3JfZWFjaF9zZygpIGxvb3AgZm9yCj4gbnVtX21hcHBlZF9zZ3MgLSBudW1fcXVldWVkX3Nn cyB0aW1lcyBvbmx5IC4gSW4gb3VyIGV4YW1wbGUgY2FzZSB3aXRoCj4gdGhlIHVwZGF0ZWQgbG9n aWMsIGl0IHdpbGwgbG9vcCBmb3IgNSAtIDMgPSAyIHRpbWVzIG9ubHkuIEJlY2F1c2Ugb2YKPiB0 aGlzIHJlYXNvbiBhZGRlZCBudW1fcXVldWVkX3NncyBmbGFnLiBQbGVhc2UgY29ycmVjdCBtZSBp ZiBJIGFtCj4gd3JvbmcuCgpUaGF0J3MgdHJ1ZS4gU2VlbXMgbGlrZSB3ZSBkbyBuZWVkIGEgbmV3 IGNvdW50ZXIuCgo+Pj4gc3RhdGljIGludCBkd2MzX2NsZWFudXBfZG9uZV9yZXFzKHN0cnVjdCBk d2MzICpkd2MsIHN0cnVjdCBkd2MzX2VwCj4+PiAqZGVwLAo+Pj4KPj4+ICAgICAgICAgICAgICAg ICByZXEtPnJlcXVlc3QuYWN0dWFsID0gbGVuZ3RoIC0gcmVxLT5yZW1haW5pbmc7Cj4+Pgo+Pj4g LSAgICAgICAgICAgICAgIGlmICgocmVxLT5yZXF1ZXN0LmFjdHVhbCA8IGxlbmd0aCkgJiYgcmVx LT5udW1fcGVuZGluZ19zZ3MpCj4+PiAtICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX19k d2MzX2dhZGdldF9raWNrX3RyYW5zZmVyKGRlcCk7Cj4+PiArICAgICAgICAgICAgICAgaWYgKHJl cS0+cmVxdWVzdC5hY3R1YWwgPCBsZW5ndGggfHwKPj4+ICsgcmVxLT5udW1fcGVuZGluZ19zZ3Mp IHsKPj4KPj53aHkgZG8geW91IHRoaW5rIHRoaXMgbmVlZHMgdG8gYmUgfHwgaW5zdGVhZCBvZiAm Jj8gSWYgYWN0dWFsID09IGxlbmd0aCB3ZSdyZQo+PmRvbmUsIHRoZXJlJ3Mgbm90aGluZyBtb3Jl IGxlZnQgdG8gZG8uIElmIHRoZXJlIGlzIGVpdGhlciBob3N0IHNlbnQgbW9yZSBkYXRhIHRoYW4K Pj5pdCBzaG91bGQsIG9yIHdlIG1pc2NhbGN1bGF0ZWQgbnVtX3BlbmRpbmdfc2dzLCBvciB3ZSBo YWQgdGhlIHdyb25nIGxlbmd0aAo+PnNvbWV3aGVyZSBpbiBzb21lIFRSQnMuIEVpdGhlciBvZiB0 aG9zZSBjYXNlcyBpcyBhbiBlcnJvciBjb25kaXRpb24gd2UgZG9uJ3QKPj53YW50IHRvIGhpZGUu IFdlIHdhbnQgdGhpbmdzIHRvIGZhaWwgaW4gdGhhdCBjYXNlLgo+Pgo+Cj4gQ29uc2lkZXIgdGhl IHNhbWUgZXhhbXBsZSB0aGF0IHdlIGhhZCBwcmV2aW91c2x5IGRpc2N1c3NlZCwgYW1vbmcgdGhl Cj4gNSBzZ3Mgb25seSAzIHNncyBnb3QgcXVldWVkIGFuZCBhbGwgMyBzZ3MgZ290IGNvbXBsZXRl ZAo+IHN1Y2Nlc3NmdWxseS4gVGhlIHJlcS0+cmVtYWluaW5nIGZpZWxkIHJlcHJlc2VudHMgdGhl IHNpemUgb2YgVFJCCj4gd2hpY2ggd2FzIG5vdCB0cmFuc2ZlcnJlZC4gSW4gdGhpcyBleGFtcGxl ICwgYXMgMyBzZ3MgZ290IGNvbXBsZXRlZAo+IHN1Y2Nlc3NmdWxseSB0aGUgcmVxLT4gcmVtYWlu aW5nID0gMC4gU28gLCByZXF1ZXN0LmFjdHVhbCA9IGxlbmd0aCAtIDAKPiAocmVxLT5yZW1haW5p bmcpIHdoaWNoIG1lYW5zIHJlcXVlc3QuYWN0dWFsID09IGxlbmd0aC4gIEJlY2F1c2Ugb2YKPiB0 aGlzICwgdGhlIGNvbmRpdGlvbiBjaGVjayBpZiAoKHJlcS0+cmVxdWVzdC5hY3R1YWwgPCBsZW5n dGgpICYmCj4gcmVxLT5udW1fcGVuZGluZ19zZ3MpICkgZmFpbHMgZXZlbiB0aG91Z2ggd2UgaGF2 ZSByZXEtPm51bV9wZW5kaW5nX3Nncwo+ID4gMC4gIFNvLCBjb3JyZWN0ZWQgdGhlIGxvZ2ljIHRv IGFsd2F5cyBraWNrIHRyYW5zZmVyIGZvciB0d28KPiBjb25kaXRpb25zIDEpIGlmIHJlcS0+bnVt X3BlbmRpbmdfc2dzID4gMCAyKSBpZiAoKHJlcS0+cmVxdWVzdC5hY3R1YWwKPiA8IGxlbmd0aCkg JiYgcmVxLT5udW1fcGVuZGluZ19zZ3MpKSBjb25kaXRpb24gc2F0aXNmaWVzLiBQbGVhc2UKPiBj b3JyZWN0IG1lIElmIG15IHVuZGVyc3RhbmRpbmcgaXMgd3JvbmcuCgpmYWlyIGVub3VnaCwgYnV0 IHRoZW4gd2UgbWlzcyBhbiBpbXBvcnRhbnQgKElNTywgdGhhdCBpcykgZXJyb3IgY2FzZS4gSWYK cmVxLT5udW1fcGVuZGluZ19zZ3MgPiAwICYmIGFjdHVhbCA9PSBsZW5ndGgsIHRoZW4gc29tZXRo aW5nIGlzIHN1cGVyCndyb25nLiBXZSBtYXkganVzdCBhZGQgaXQgYXMgYW4gZXh0cmEgY2hlY2s6 CgoJZGV2X1dBUk5fT05DRSguLi4uIGFjdHVhbCA9PSBsZW4gJiYgbnVtX3BlbmRpbmdfc2dzKTsK