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: ACS ACR122U not working: pn533_usb 1-1:1.0: NFC: Couldn't poweron... From: Arend Van Spriel Message-Id: <5AFE9539.4010106@broadcom.com> Date: Fri, 18 May 2018 10:56:25 +0200 To: Greg KH , Carlos Manuel Santos , Samuel Ortiz , Stephen Hemminger Cc: linux-usb@vger.kernel.org, linux-wireless@vger.kernel.org List-ID: T24gNS8xNy8yMDE4IDY6NDYgUE0sIEdyZWcgS0ggd3JvdGU6Cj4gT24gVGh1LCBNYXkgMTcsIDIw MTggYXQgMDY6NDA6MDRQTSArMDIwMCwgR3JlZyBLSCB3cm90ZToKPj4gQWRkaW5nIHRoZSBuZXR3 b3JrIGFuZCBORkMgZGV2ZWxvcGVycyBhcyB0aGlzIHJlYWxseSBpcyBhIE5GQyBkcml2ZXIKPj4g YnVnLCBub3QgYSBVU0IgY29yZSBpc3N1ZS4uLgo+Pgo+PiBPbiBUaHUsIE1heSAxNywgMjAxOCBh dCAwNDoxMjoxN1BNICswMjAwLCBHcmVnIEtIIHdyb3RlOgo+Pj4gT24gVGh1LCBNYXkgMTcsIDIw MTggYXQgMDI6MTA6NTdQTSArMDEwMCwgQ2FybG9zIE1hbnVlbCBTYW50b3Mgd3JvdGU6Cj4+Pj4g SGVsbG8uCj4+Pj4gSSdtIGhhdmluZyB0cm91YmxlcyB3aXRoIHRoaXMgTkZDIGNhcmQgcmVhZGVy LiBJdCBzZWVtcyBrZXJuZWwgZHJpdmVyCj4+Pj4gcG41MzMgaXMgbm90IHdvcmtpbmcgcHJvcGVy bHkuCj4+Pj4gQXQgdGhpcyBtb21lbnQgSSBoYXZlIG15IHdvcmsgc3RhbGxlZC4gSSBuZWVkIHRv IGFkZCBORkMgc3VwcG9ydCB0byBhCj4+Pj4gc29mdHdhcmUgcHJvZHVjdCBhbmQgSSBjYW4ndCBn ZXQgdGhlIGRldmljZSB0byB3b3JrLiBORkMgdG9vbHMgd29uJ3QKPj4+PiB3b3JrLCB0aGUgZGV2 aWNlIGlzIG5vdCBkZXRlY3RlZC4KPj4+Pgo+Pj4+IFRoaXMgaXMgd2hhdCBJIGdldCBmcm9tICJk bWVzZyI6Cj4+Pj4KPj4+PiBbICAgIDQuMTgyMzAwXSBuZmM6IG5mY19pbml0OiBORkMgQ29yZSB2 ZXIgMC4xCj4+Pj4gWyAgICA0LjE4MjMxOF0gTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWls eSAzOQo+Pj4+IFsgICAgNC4xODQ2NzZdIGhpZHJhdzogcmF3IEhJRCBldmVudHMgZHJpdmVyIChD KSBKaXJpIEtvc2luYQo+Pj4+IFsgICAgNC4xOTMzNjZdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUg XS0tLS0tLS0tLS0tLQo+Pj4+IFsgICAgNC4xOTMzNjZdIHRyYW5zZmVyIGJ1ZmZlciBub3QgZG1h IGNhcGFibGUKPj4+PiBbICAgIDQuMTkzMzk4XSBXQVJOSU5HOiBDUFU6IDIgUElEOiAyNTkgYXQg ZHJpdmVycy91c2IvY29yZS9oY2QuYzoxNTg0Cj4+Pj4gdXNiX2hjZF9tYXBfdXJiX2Zvcl9kbWEr MHg0MTMvMHg1NzAgW3VzYmNvcmVdCj4+Pj4gWyAgICA0LjE5MzM5OV0gTW9kdWxlcyBsaW5rZWQg aW46IHVzYmhpZCgrKSBwbjUzM191c2IoKykgcG41MzMgaGlkIG5mYwo+Pj4+IHNuZF9zb2Nfc2ts KCspIHJ0c3hfdXNiX21zIHNuZF9zb2Nfc2tsX2lwYyBtZW1zdGljayBzbmRfaGRhX2V4dF9jb3Jl Cj4+Pj4gc25kX3NvY19zc3RfZHNwIHNuZF9zb2Nfc3N0X2lwYyBlY2RoX2dlbmVyaWMgc25kX3Nv Y19hY3BpIHNuZF9zb2NfY29yZQo+Pj4+IHNuZF9oZGFfY29kZWNfcmVhbHRlaygrKSBzbmRfaGRh X2NvZGVjX2dlbmVyaWMgc25kX2NvbXByZXNzIGFjOTdfYnVzCj4+Pj4gc25kX3BjbV9kbWFlbmdp bmUgYXJjNCBpbnRlbF9yYXBsIHg4Nl9wa2dfdGVtcF90aGVybWFsCj4+Pj4gaW50ZWxfcG93ZXJj bGFtcCBjb3JldGVtcCBrdm1faW50ZWwgc25kX2hkYV9pbnRlbCBrdm0gaVRDT193ZHQKPj4+PiBz bmRfaGRhX2NvZGVjIGlUQ09fdmVuZG9yX3N1cHBvcnQgaXdsbXZtIGk5MTUgbmxzX2lzbzg4NTlf MSBubHNfY3A0MzcKPj4+PiBtYWM4MDIxMSB2ZmF0IGZhdCBwcGRldiBpcnFieXBhc3MgY3JjdDEw ZGlmX3BjbG11bCBjcmMzMl9wY2xtdWwKPj4+PiBnaGFzaF9jbG11bG5pX2ludGVsIHV2Y3ZpZGVv IHBjYmMgc25kX2hkYV9jb3JlIGl3bHdpZmkKPj4+PiB2aWRlb2J1ZjJfdm1hbGxvYyB2aWRlb2J1 ZjJfbWVtb3BzIGFlc25pX2ludGVsIHZpZGVvYnVmMl92NGwyCj4+Pj4gc25kX2h3ZGVwIGFlc194 ODZfNjQgY3J5cHRvX3NpbWQgZ2x1ZV9oZWxwZXIgY3J5cHRkIHNuZF9wY20KPj4+PiBpbnRlbF9j c3RhdGUgdmlkZW9idWYyX2NvbW1vbiBlMTAwMGUgaW50ZWxfdW5jb3JlIHNuZF90aW1lciBjZmc4 MDIxMQo+Pj4+IGludGVsX3JhcGxfcGVyZiB0cG1fY3JiIHBzbW91c2UKPj4+PiBbICAgIDQuMTkz NDI3XSAgdmlkZW9kZXYgcGNzcGtyIGlucHV0X2xlZHMgaW50ZWxfd21pX3RodW5kZXJib2x0Cj4+ Pj4gd21pX2Jtb2YgcHRwIHNuZCBwcHNfY29yZSBpMmNfaTgwMSBzb3VuZGNvcmUgdG9zaGliYV9h Y3BpIG1laV9tZSBtZWRpYQo+Pj4+IHNwYXJzZV9rZXltYXAgdG9zaGliYV9ibHVldG9vdGggbWVp IGludGVsX2d0dCBpbmR1c3RyaWFsaW8KPj4+PiBpbnRlbF9wY2hfdGhlcm1hbCBzaHBjaHAgcGFy cG9ydF9wYyB0cG1fdGlzIHRwbV90aXNfY29yZSBiYXR0ZXJ5Cj4+Pj4gcmZraWxsIHBhcnBvcnQg ZXZkZXYgcnRjX2Ntb3MgbWFjX2hpZCB0cG0gcm5nX2NvcmUgYWMgc2cgY3J5cHRvX3VzZXIKPj4+ PiBpcF90YWJsZXMgeF90YWJsZXMgcnRzeF91c2Jfc2RtbWMgbW1jX2NvcmUgcnRzeF91c2IgZXh0 NAo+Pj4+IGNyYzMyY19nZW5lcmljIGNyYzE2IG1iY2FjaGUgamJkMiBmc2NyeXB0byBzcl9tb2Qg Y2Ryb20gc2RfbW9kCj4+Pj4gc2VyaW9fcmF3IGF0a2JkIGxpYnBzMiBhaGNpIGxpYmFoY2kgeGhj aV9wY2kgeGhjaV9oY2QgY3JjMzJjX2ludGVsCj4+Pj4gbGliYXRhIHVzYmNvcmUgc2NzaV9tb2Qg dXNiX2NvbW1vbiBpODA0MiBzZXJpbyBub3V2ZWF1IGxlZF9jbGFzcwo+Pj4+IG14bV93bWkgd21p IGkyY19hbGdvX2JpdCBkcm1fa21zX2hlbHBlciBzeXNjb3B5YXJlYSBzeXNmaWxscmVjdAo+Pj4+ IHN5c2ltZ2JsdCBmYl9zeXNfZm9wcyB0dG0gZHJtIGFncGdhcnQKPj4+PiBbICAgIDQuMTkzNDU4 XSBDUFU6IDIgUElEOiAyNTkgQ29tbTogc3lzdGVtZC11ZGV2ZCBOb3QgdGFpbnRlZCA0LjE2Ljgt MS1BUkNIICMxCj4+Pj4gWyAgICA0LjE5MzQ1OV0gSGFyZHdhcmUgbmFtZTogVE9TSElCQSBTQVRF TExJVEUgUFJPIEE1MC1DL1NBVEVMTElURQo+Pj4+IFBSTyBBNTAtQywgQklPUyBWZXJzaW9uIDcu NTAgICAwOS8yNi8yMDE2Cj4+Pj4gWyAgICA0LjE5MzQ2N10gUklQOiAwMDEwOnVzYl9oY2RfbWFw X3VyYl9mb3JfZG1hKzB4NDEzLzB4NTcwIFt1c2Jjb3JlXQo+Pj4+IFsgICAgNC4xOTM0NjhdIFJT UDogMDAxODpmZmZmYTNiNDQyODJmOWY4IEVGTEFHUzogMDAwMTAyODIKPj4+PiBbICAgIDQuMTkz NDY5XSBSQVg6IDAwMDAwMDAwMDAwMDAwMDAgUkJYOiBmZmZmOTgxZmM5ZTMyMGMwIFJDWDogMDAw MDAwMDAwMDAwMDAwMQo+Pj4+IFsgICAgNC4xOTM0NzBdIFJEWDogMDAwMDAwMDA4MDAwMDAwMSBS U0k6IDAwMDAwMDAwMDAwMDAwMDIgUkRJOiAwMDAwMDAwMGZmZmZmZmZmCj4+Pj4gWyAgICA0LjE5 MzQ3MV0gUkJQOiBmZmZmOTgxZmQ0MmYwMDAwIFIwODogMDAwMDAwMDcxM2VkMDFkMiBSMDk6IDAw MDAwMDAwMDAwMDAwMWYKPj4+PiBbICAgIDQuMTkzNDcyXSBSMTA6IDAwMDAwMDAwMDAwMDAzNDQg UjExOiAwMDAwMDAwMDAwMDBmMzAwIFIxMjogMDAwMDAwMDAwMTQwMDBjMAo+Pj4+IFsgICAgNC4x OTM0NzNdIFIxMzogMDAwMDAwMDBmZmZmZmZmNSBSMTQ6IGZmZmY5ODFmZDI1OTJiOTggUjE1OiAw MDAwMDAwMGMwNDEwMjgwCj4+Pj4gWyAgICA0LjE5MzQ3NV0gRlM6ICAwMDAwN2Y0ZmI5OGQwZDQw KDAwMDApIEdTOmZmZmY5ODFmZTZkMDAwMDAoMDAwMCkKPj4+PiBrbmxHUzowMDAwMDAwMDAwMDAw MDAwCj4+Pj4gWyAgICA0LjE5MzQ3Nl0gQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDog MDAwMDAwMDA4MDA1MDAzMwo+Pj4+IFsgICAgNC4xOTM0NzddIENSMjogMDAwMDU2MmI0YTY4ZjZl OCBDUjM6IDAwMDAwMDA0NTMyZDYwMDQgQ1I0OiAwMDAwMDAwMDAwMzYwNmUwCj4+Pj4gWyAgICA0 LjE5MzQ3OF0gQ2FsbCBUcmFjZToKPj4+PiBbICAgIDQuMTkzNDg4XSAgdXNiX2hjZF9zdWJtaXRf dXJiKzB4MzhkLzB4YjIwIFt1c2Jjb3JlXQo+Pj4+IFsgICAgNC4xOTM0OTJdICA/IHBuNTMzX3Vz Yl9wcm9iZSsweDYxLzB4NGQwIFtwbjUzM191c2JdCj4+Pj4gWyAgICA0LjE5MzQ5NV0gID8gX19r bWFsbG9jKzB4MTllLzB4MjIwCj4+Pj4gWyAgICA0LjE5MzQ5OF0gIHBuNTMzX3VzYl9wcm9iZSsw eDM5Ny8weDRkMCBbcG41MzNfdXNiXQo+Pj4+IFsgICAgNC4xOTM1MDddICB1c2JfcHJvYmVfaW50 ZXJmYWNlKzB4ZTQvMHgyZjAgW3VzYmNvcmVdCj4+Pj4gWyAgICA0LjE5MzUxMV0gIGRyaXZlcl9w cm9iZV9kZXZpY2UrMHgyYjkvMHg0NjAKPj4+PiBbICAgIDQuMTkzNTE0XSAgPyBfX2RyaXZlcl9h dHRhY2grMHhiNi8weGUwCj4+Pj4gWyAgICA0LjE5MzUxNl0gID8gZHJpdmVyX3Byb2JlX2Rldmlj ZSsweDQ2MC8weDQ2MAo+Pj4+IFsgICAgNC4xOTM1MThdICA/IGJ1c19mb3JfZWFjaF9kZXYrMHg3 Ni8weGMwCj4+Pj4gWyAgICA0LjE5MzUyMF0gID8gYnVzX2FkZF9kcml2ZXIrMHgxNTIvMHgyMzAK Pj4+PiBbICAgIDQuMTkzNTIyXSAgPyBkcml2ZXJfcmVnaXN0ZXIrMHg2Yi8weGIwCj4+Pj4gWyAg ICA0LjE5MzUzMF0gID8gdXNiX3JlZ2lzdGVyX2RyaXZlcisweDdhLzB4MTMwIFt1c2Jjb3JlXQo+ Pj4+IFsgICAgNC4xOTM1MzFdICA/IDB4ZmZmZmZmZmZjMTNiNjAwMAo+Pj4+IFsgICAgNC4xOTM1 MzRdICA/IGRvX29uZV9pbml0Y2FsbCsweDQ4LzB4MTNiCj4+Pj4gWyAgICA0LjE5MzUzN10gID8g ZnJlZV91bnJlZl9wYWdlX2NvbW1pdCsweDZhLzB4MTAwCj4+Pj4gWyAgICA0LjE5MzUzOV0gID8g a21lbV9jYWNoZV9hbGxvY190cmFjZSsweGRjLzB4MWMwCj4+Pj4gWyAgICA0LjE5MzU0Ml0gID8g ZG9faW5pdF9tb2R1bGUrMHg1YS8weDIxMAo+Pj4+IFsgICAgNC4xOTM1NDRdICA/IGxvYWRfbW9k dWxlKzB4MjQ3YS8weDI5ZjAKPj4+PiBbICAgIDQuMTkzNTQ5XSAgPyBTeVNfaW5pdF9tb2R1bGUr MHgxMzkvMHgxODAKPj4+PiBbICAgIDQuMTkzNTUwXSAgPyBTeVNfaW5pdF9tb2R1bGUrMHgxMzkv MHgxODAKPj4+PiBbICAgIDQuMTkzNTU0XSAgPyBkb19zeXNjYWxsXzY0KzB4NzQvMHgxOTAKPj4+ PiBbICAgIDQuMTkzNTU2XSAgPyBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHgzZC8w eGEyCj4+Pj4gWyAgICA0LjE5MzU1OV0gQ29kZTogNDkgMzkgYzkgNzMgMzAgODAgM2QgN2QgYjUg MDIgMDAgMDAgNDEgYmQgZjUgZmYKPj4+PiBmZiBmZiAwZiA4NSA1NyBmZiBmZiBmZiA0OCBjNyBj NyA4OCA5ZCA2ZSBjMCBjNiAwNSA2MyBiNSAwMiAwMCAwMSBlOAo+Pj4+IDk3IDg1IDlhIGVjIDww Zj4gMGIgOGIgNTMgNjQgZTkgM2EgZmYgZmYgZmYgNjUgNDggOGIgMGMgMjUgMDAgNWMgMDEgMDAK Pj4+PiA0OCA4Ygo+Pj4+IFsgICAgNC4xOTM1ODldIC0tLVsgZW5kIHRyYWNlIDM3ZmYzY2JhZjA0 YTViNWQgXS0tLQo+Pj4+IFsgICAgNC4xOTM2MTJdIHVzYiAxLTE6IE5GQzogUmVhZGVyIHBvd2Vy IG9uIGNtZCBlcnJvciAtMTEKPj4+PiBbICAgIDQuMTkzNjE0XSBwbjUzM191c2IgMS0xOjEuMDog TkZDOiBDb3VsZG4ndCBwb3dlcm9uIHRoZSByZWFkZXIgKGVycm9yIC0xMSkKPj4+PiBbICAgIDQu MTkzNjE4XSBwbjUzM191c2I6IHByb2JlIG9mIDEtMToxLjAgZmFpbGVkIHdpdGggZXJyb3IgLTEx Cj4+Pj4gWyAgICA0LjE5MzYzN10gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRy aXZlciBwbjUzM191c2IKPj4+PiBbICAgIDQuMTk4MjE2XSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5l dyBpbnRlcmZhY2UgZHJpdmVyIHVzYmhpZAo+Pj4+Cj4+Pj4KPj4+PiBQbGVhc2UgZmluZCB0aGUg ZnVsbCBkbWVzZyBpbiB0aGUgbGluayBiZWxvdzoKPj4+PiBodHRwczovL3Bhc3RlYmluLmNvbS9j azRzWnVVWQo+Pj4KPj4+IE9kZCB0aGF0IHRoaXMgZHJpdmVyIGhhcyBldmVyIHdvcmtlZC4gIEhh cyBpdCB3b3JrZWQgZm9yIHlvdSBvbiBvbGRlcgo+Pj4ga2VybmVscz8KPj4+Cj4+PiBJdCBsb29r cyBsaWtlIGl0IGlzIHRyeWluZyB0byBzZW5kIGRhdGEgb2ZmIG9mIHRoZSBzdGFjay4gIEF0IGZp cnN0Cj4+PiBnbGFuY2UsIEkgc2VlIGF0IGxlYXN0IHR3byBwbGFjZXMgaXQgaXMgZG9pbmcgdGhp cywgd2hpY2ggaXMgd2hhdCBpcwo+Pj4gY2F1c2luZyB0aGUgZXJyb3JzIHlvdSBhcmUgc2VlaW5n LiAgIEknbGwgZ28gYXVkaXQgdGhlIHdob2xlIHRoaW5nIGluIGEKPj4+IGZldyBob3VycyB3aGVu IEkgZ2V0IGEgY2hhbmNlLgo+Pj4KPj4+IEFyZSB5b3UgYWJsZSB0byBidWlsZCBhbmQgdGVzdCBh IGtlcm5lbCBwYXRjaCBpZiBJIG1ha2Ugb25lIGZvciB5b3U/Cj4+Cj4+IEhlcmUncyBhIHRvdGFs bHkgdW50ZXN0ZWQsIGFuZCBub3QgZXZlbiBidWlsdCwgcGF0Y2ggdGhhdCBJIGtub2NrZWQgdXAK Pj4gdGhhdCBzaG91bGQgZml4IHRoaXMgdHlwZSBvZiBpc3N1ZS4KPj4KPj4gSSdsbCB0cnkgdG8g YXQgbGVhc3QgYnVpbGQgaXQgbGF0ZXIgdG9uaWdodC4uLgo+Cj4gT2ssIHRoYXQgd2FzIGR1bWIs IHRoaXMgdmVyc2lvbiBhdCBsZWFzdCBjb21waWxlcyA6KQoKSSB0aGluayB0aGVyZSBpcyBhIGJp dCBtb3JlIGR1bWJuZXNzIGJlbG93Li4uIDotcAoKPiAtLS0tLS0tLS0tLS0tLQo+Cj4gRnJvbTog R3JlZyBLcm9haC1IYXJ0bWFuIDxncmVna2hAbGludXhmb3VuZGF0aW9uLm9yZz4KPiBTdWJqZWN0 OiBbUEFUQ0hdIE5GQzogcG41MzM6IGRvbid0IHNlbmQgVVNCIGRhdGEgb2ZmIG9mIHRoZSBzdGFj awo+Cj4gSXQncyBhbWF6aW5nIHRoYXQgdGhpcyBkcml2ZXIgZXZlciB3b3JrZWQsIGJ1dCBub3cg dGhhdCB4ODYgZG9lc24ndAo+IGFsbG93IFVTQiBkYXRhIHRvIGJlIHNlbnQgb2ZmIG9mIHRoZSBz dGFjaywgaXQgcmVhbGx5IGRvZXMgbm90IHdvcmsgYXQKPiBhbGwuICBGaXggdGhpcyB1cCBieSBw cm9wZXJseSBhbGxvY2F0aW5nIHRoZSBkYXRhIGZvciB0aGUgc21hbGwKPiAiY29tbWFuZHMiIHRo YXQgZ2V0IHNlbnQgdG8gdGhlIGRldmljZS4KPgo+IFRoZSBVU0Igc3RhY2sgd2lsbCBmcmVlIHRo ZSBidWZmZXIgd2hlbiB0aGUgZGF0YSBoYXMgYmVlbiB0cmFuc21pdHRlZCwKPiB0aGF0IGlzIHdo eSB0aGVyZSBpcyBubyBrZnJlZSgpIHRvIG1pcnJvciB0aGUgY2FsbCB0byBrbWFsbG9jKCkuCj4K PiBSZXBvcnRlZC1ieTogQ2FybG9zIE1hbnVlbCBTYW50b3MgPGNtbXBzYW50b3NAZ21haWwuY29t Pgo+IENjOiBTYW11ZWwgT3J0aXogPHNhbWVvQGxpbnV4LmludGVsLmNvbT4KPiBDYzogU3RlcGhl biBIZW1taW5nZXIgPHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPgo+IENjOiBzdGFibGUgPHN0 YWJsZUB2Z2VyLmtlcm5lbC5vcmc+Cj4gU2lnbmVkLW9mZi1ieTogR3JlZyBLcm9haC1IYXJ0bWFu IDxncmVna2hAbGludXhmb3VuZGF0aW9uLm9yZz4KPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25m Yy9wbjUzMy91c2IuYyBiL2RyaXZlcnMvbmZjL3BuNTMzL3VzYi5jCj4gaW5kZXggZTE1M2U4YjY0 YmI4Li5hMDU0MmY4NmVmY2YgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9uZmMvcG41MzMvdXNiLmMK PiArKysgYi9kcml2ZXJzL25mYy9wbjUzMy91c2IuYwo+IEBAIC0xNTAsMTAgKzE1MCwxNyBAQCBz dGF0aWMgaW50IHBuNTMzX3VzYl9zZW5kX2FjayhzdHJ1Y3QgcG41MzMgKmRldiwgZ2ZwX3QgZmxh Z3MpCj4gICAJc3RydWN0IHBuNTMzX3VzYl9waHkgKnBoeSA9IGRldi0+cGh5Owo+ICAgCXN0YXRp YyBjb25zdCB1OCBhY2tbNl0gPSB7MHgwMCwgMHgwMCwgMHhmZiwgMHgwMCwgMHhmZiwgMHgwMH07 Cj4gICAJLyogc3BlYyA3LjEuMS4zOiAgUHJlYW1ibGUsIFNvUEMgKDIpLCBBQ0sgQ29kZSAoMiks IFBvc3RhbWJsZSAqLwo+ICsJY2hhciAqYnVmZmVyOwo+ICAgCWludCByYzsKPgo+ICsJYnVmZmVy ID0ga21hbGxvYyhzaXplb2YoYWNrKSwgR0ZQX0tFUk5FTCk7Cj4gKwlpZiAoIWJ1ZmZlcikKPiAr CQlyZXR1cm4gLUVOT01FTTsKPiArCW1lbWNweShidWZmZXIsIGFjaywgc2l6ZW9mKGFjaykpOwo+ ICsKPiAgIAlwaHktPm91dF91cmItPnRyYW5zZmVyX2J1ZmZlciA9ICh1OCAqKWFjazsKClNob3Vs ZG4ndCB0aGlzIGJlIGFzc2lnbmVkIHRvIHRoZSBhbGxvY2F0ZWQgYnVmZmZlciBpbnN0ZWFkPwoK PiAgIAlwaHktPm91dF91cmItPnRyYW5zZmVyX2J1ZmZlcl9sZW5ndGggPSBzaXplb2YoYWNrKTsK PiArCXBoeS0+b3V0X3VyYi0+dHJhbnNmZXJfZmxhZ3MgfD0gVVJCX0ZSRUVfQlVGRkVSOwo+ICAg CXJjID0gdXNiX3N1Ym1pdF91cmIocGh5LT5vdXRfdXJiLCBmbGFncyk7Cj4KPiAgIAlyZXR1cm4g cmM7Cj4gQEAgLTE3MCw2ICsxNzcsNyBAQCBzdGF0aWMgaW50IHBuNTMzX3VzYl9zZW5kX2ZyYW1l KHN0cnVjdCBwbjUzMyAqZGV2LAo+Cj4gICAJcGh5LT5vdXRfdXJiLT50cmFuc2Zlcl9idWZmZXIg PSBvdXQtPmRhdGE7Cj4gICAJcGh5LT5vdXRfdXJiLT50cmFuc2Zlcl9idWZmZXJfbGVuZ3RoID0g b3V0LT5sZW47Cj4gKwlwaHktPm91dF91cmItPnRyYW5zZmVyX2ZsYWdzICY9IH5VUkJfRlJFRV9C VUZGRVI7Cj4KPiAgIAlwcmludF9oZXhfZHVtcF9kZWJ1ZygiUE41MzMgVFg6ICIsIERVTVBfUFJF RklYX05PTkUsIDE2LCAxLAo+ICAgCQkJICAgICBvdXQtPmRhdGEsIG91dC0+bGVuLCBmYWxzZSk7 Cj4gQEAgLTM3NSwxMiArMzgzLDE4IEBAIHN0YXRpYyBpbnQgcG41MzNfYWNyMTIyX3Bvd2Vyb25f cmRyKHN0cnVjdCBwbjUzM191c2JfcGh5ICpwaHkpCj4gICAJLyogUG93ZXIgb24gdGggcmVhZGVy IChDQ0lEIGNtZCkgKi8KPiAgIAl1OCBjbWRbMTBdID0ge1BONTMzX0FDUjEyMl9QQ19UT19SRFJf SUNDUE9XRVJPTiwKPiAgIAkJICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMywgMCwgMH07Cj4gKwlj aGFyICpidWZmZXI7Cj4gICAJaW50IHJjOwo+ICAgCXZvaWQgKmNudHg7Cj4gICAJc3RydWN0IHBu NTMzX2FjcjEyMl9wb3dlcm9uX3Jkcl9hcmcgYXJnOwo+Cj4gICAJZGV2X2RiZygmcGh5LT51ZGV2 LT5kZXYsICIlc1xuIiwgX19mdW5jX18pOwo+Cj4gKwlidWZmZXIgPSBrbWFsbG9jKHNpemVvZihj bWQpLCBHRlBfS0VSTkVMKTsKPiArCWlmICghYnVmZmVyKQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ ICsJbWVtY3B5KGJ1ZmZlciwgY21kLCBzaXplb2YoY21kKSk7Cj4gKwo+ICAgCWluaXRfY29tcGxl dGlvbigmYXJnLmRvbmUpOwo+ICAgCWNudHggPSBwaHktPmluX3VyYi0+Y29udGV4dDsgIC8qIGJh Y2t1cCBjb250ZXh0ICovCj4KPiBAQCAtMzg5LDYgKzQwMyw3IEBAIHN0YXRpYyBpbnQgcG41MzNf YWNyMTIyX3Bvd2Vyb25fcmRyKHN0cnVjdCBwbjUzM191c2JfcGh5ICpwaHkpCj4KPiAgIAlwaHkt Pm91dF91cmItPnRyYW5zZmVyX2J1ZmZlciA9IGNtZDsKCmFuZCBzYW1lIGhlcmUuCgpSZWdhcmRz LApBcmVuZAoKPiAgIAlwaHktPm91dF91cmItPnRyYW5zZmVyX2J1ZmZlcl9sZW5ndGggPSBzaXpl b2YoY21kKTsKPiArCXBoeS0+b3V0X3VyYi0+dHJhbnNmZXJfZmxhZ3MgJj0gflVSQl9GUkVFX0JV RkZFUjsKPgo+ICAgCXByaW50X2hleF9kdW1wX2RlYnVnKCJBQ1IxMjIgVFg6ICIsIERVTVBfUFJF RklYX05PTkUsIDE2LCAxLAo+ICAgCQkgICAgICAgY21kLCBzaXplb2YoY21kKSwgZmFsc2UpOwo+ Ci0tLQpUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJz Y3JpYmUgbGludXgtdXNiIiBpbgp0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZn ZXIua2VybmVsLm9yZwpNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJuZWwu b3JnL21ham9yZG9tby1pbmZvLmh0bWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-wm0-f65.google.com ([74.125.82.65]:39676 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751750AbeERI42 (ORCPT ); Fri, 18 May 2018 04:56:28 -0400 Received: by mail-wm0-f65.google.com with SMTP id f8-v6so13729299wmc.4 for ; Fri, 18 May 2018 01:56:28 -0700 (PDT) Subject: Re: ACS ACR122U not working: pn533_usb 1-1:1.0: NFC: Couldn't poweron... To: Greg KH , Carlos Manuel Santos , Samuel Ortiz , Stephen Hemminger References: <20180517141217.GA32551@kroah.com> <20180517164004.GA8413@kroah.com> <20180517164624.GA28341@kroah.com> Cc: linux-usb@vger.kernel.org, linux-wireless@vger.kernel.org From: Arend van Spriel Message-ID: <5AFE9539.4010106@broadcom.com> (sfid-20180518_105700_905753_8ABAEE10) Date: Fri, 18 May 2018 10:56:25 +0200 MIME-Version: 1.0 In-Reply-To: <20180517164624.GA28341@kroah.com> Content-Type: text/plain; charset=windows-1252; format=flowed Sender: linux-wireless-owner@vger.kernel.org List-ID: On 5/17/2018 6:46 PM, Greg KH wrote: > On Thu, May 17, 2018 at 06:40:04PM +0200, Greg KH wrote: >> Adding the network and NFC developers as this really is a NFC driver >> bug, not a USB core issue... >> >> On Thu, May 17, 2018 at 04:12:17PM +0200, Greg KH wrote: >>> On Thu, May 17, 2018 at 02:10:57PM +0100, Carlos Manuel Santos wrote: >>>> Hello. >>>> I'm having troubles with this NFC card reader. It seems kernel driver >>>> pn533 is not working properly. >>>> At this moment I have my work stalled. I need to add NFC support to a >>>> software product and I can't get the device to work. NFC tools won't >>>> work, the device is not detected. >>>> >>>> This is what I get from "dmesg": >>>> >>>> [ 4.182300] nfc: nfc_init: NFC Core ver 0.1 >>>> [ 4.182318] NET: Registered protocol family 39 >>>> [ 4.184676] hidraw: raw HID events driver (C) Jiri Kosina >>>> [ 4.193366] ------------[ cut here ]------------ >>>> [ 4.193366] transfer buffer not dma capable >>>> [ 4.193398] WARNING: CPU: 2 PID: 259 at drivers/usb/core/hcd.c:1584 >>>> usb_hcd_map_urb_for_dma+0x413/0x570 [usbcore] >>>> [ 4.193399] Modules linked in: usbhid(+) pn533_usb(+) pn533 hid nfc >>>> snd_soc_skl(+) rtsx_usb_ms snd_soc_skl_ipc memstick snd_hda_ext_core >>>> snd_soc_sst_dsp snd_soc_sst_ipc ecdh_generic snd_soc_acpi snd_soc_core >>>> snd_hda_codec_realtek(+) snd_hda_codec_generic snd_compress ac97_bus >>>> snd_pcm_dmaengine arc4 intel_rapl x86_pkg_temp_thermal >>>> intel_powerclamp coretemp kvm_intel snd_hda_intel kvm iTCO_wdt >>>> snd_hda_codec iTCO_vendor_support iwlmvm i915 nls_iso8859_1 nls_cp437 >>>> mac80211 vfat fat ppdev irqbypass crct10dif_pclmul crc32_pclmul >>>> ghash_clmulni_intel uvcvideo pcbc snd_hda_core iwlwifi >>>> videobuf2_vmalloc videobuf2_memops aesni_intel videobuf2_v4l2 >>>> snd_hwdep aes_x86_64 crypto_simd glue_helper cryptd snd_pcm >>>> intel_cstate videobuf2_common e1000e intel_uncore snd_timer cfg80211 >>>> intel_rapl_perf tpm_crb psmouse >>>> [ 4.193427] videodev pcspkr input_leds intel_wmi_thunderbolt >>>> wmi_bmof ptp snd pps_core i2c_i801 soundcore toshiba_acpi mei_me media >>>> sparse_keymap toshiba_bluetooth mei intel_gtt industrialio >>>> intel_pch_thermal shpchp parport_pc tpm_tis tpm_tis_core battery >>>> rfkill parport evdev rtc_cmos mac_hid tpm rng_core ac sg crypto_user >>>> ip_tables x_tables rtsx_usb_sdmmc mmc_core rtsx_usb ext4 >>>> crc32c_generic crc16 mbcache jbd2 fscrypto sr_mod cdrom sd_mod >>>> serio_raw atkbd libps2 ahci libahci xhci_pci xhci_hcd crc32c_intel >>>> libata usbcore scsi_mod usb_common i8042 serio nouveau led_class >>>> mxm_wmi wmi i2c_algo_bit drm_kms_helper syscopyarea sysfillrect >>>> sysimgblt fb_sys_fops ttm drm agpgart >>>> [ 4.193458] CPU: 2 PID: 259 Comm: systemd-udevd Not tainted 4.16.8-1-ARCH #1 >>>> [ 4.193459] Hardware name: TOSHIBA SATELLITE PRO A50-C/SATELLITE >>>> PRO A50-C, BIOS Version 7.50 09/26/2016 >>>> [ 4.193467] RIP: 0010:usb_hcd_map_urb_for_dma+0x413/0x570 [usbcore] >>>> [ 4.193468] RSP: 0018:ffffa3b44282f9f8 EFLAGS: 00010282 >>>> [ 4.193469] RAX: 0000000000000000 RBX: ffff981fc9e320c0 RCX: 0000000000000001 >>>> [ 4.193470] RDX: 0000000080000001 RSI: 0000000000000002 RDI: 00000000ffffffff >>>> [ 4.193471] RBP: ffff981fd42f0000 R08: 0000000713ed01d2 R09: 000000000000001f >>>> [ 4.193472] R10: 0000000000000344 R11: 000000000000f300 R12: 00000000014000c0 >>>> [ 4.193473] R13: 00000000fffffff5 R14: ffff981fd2592b98 R15: 00000000c0410280 >>>> [ 4.193475] FS: 00007f4fb98d0d40(0000) GS:ffff981fe6d00000(0000) >>>> knlGS:0000000000000000 >>>> [ 4.193476] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 >>>> [ 4.193477] CR2: 0000562b4a68f6e8 CR3: 00000004532d6004 CR4: 00000000003606e0 >>>> [ 4.193478] Call Trace: >>>> [ 4.193488] usb_hcd_submit_urb+0x38d/0xb20 [usbcore] >>>> [ 4.193492] ? pn533_usb_probe+0x61/0x4d0 [pn533_usb] >>>> [ 4.193495] ? __kmalloc+0x19e/0x220 >>>> [ 4.193498] pn533_usb_probe+0x397/0x4d0 [pn533_usb] >>>> [ 4.193507] usb_probe_interface+0xe4/0x2f0 [usbcore] >>>> [ 4.193511] driver_probe_device+0x2b9/0x460 >>>> [ 4.193514] ? __driver_attach+0xb6/0xe0 >>>> [ 4.193516] ? driver_probe_device+0x460/0x460 >>>> [ 4.193518] ? bus_for_each_dev+0x76/0xc0 >>>> [ 4.193520] ? bus_add_driver+0x152/0x230 >>>> [ 4.193522] ? driver_register+0x6b/0xb0 >>>> [ 4.193530] ? usb_register_driver+0x7a/0x130 [usbcore] >>>> [ 4.193531] ? 0xffffffffc13b6000 >>>> [ 4.193534] ? do_one_initcall+0x48/0x13b >>>> [ 4.193537] ? free_unref_page_commit+0x6a/0x100 >>>> [ 4.193539] ? kmem_cache_alloc_trace+0xdc/0x1c0 >>>> [ 4.193542] ? do_init_module+0x5a/0x210 >>>> [ 4.193544] ? load_module+0x247a/0x29f0 >>>> [ 4.193549] ? SyS_init_module+0x139/0x180 >>>> [ 4.193550] ? SyS_init_module+0x139/0x180 >>>> [ 4.193554] ? do_syscall_64+0x74/0x190 >>>> [ 4.193556] ? entry_SYSCALL_64_after_hwframe+0x3d/0xa2 >>>> [ 4.193559] Code: 49 39 c9 73 30 80 3d 7d b5 02 00 00 41 bd f5 ff >>>> ff ff 0f 85 57 ff ff ff 48 c7 c7 88 9d 6e c0 c6 05 63 b5 02 00 01 e8 >>>> 97 85 9a ec <0f> 0b 8b 53 64 e9 3a ff ff ff 65 48 8b 0c 25 00 5c 01 00 >>>> 48 8b >>>> [ 4.193589] ---[ end trace 37ff3cbaf04a5b5d ]--- >>>> [ 4.193612] usb 1-1: NFC: Reader power on cmd error -11 >>>> [ 4.193614] pn533_usb 1-1:1.0: NFC: Couldn't poweron the reader (error -11) >>>> [ 4.193618] pn533_usb: probe of 1-1:1.0 failed with error -11 >>>> [ 4.193637] usbcore: registered new interface driver pn533_usb >>>> [ 4.198216] usbcore: registered new interface driver usbhid >>>> >>>> >>>> Please find the full dmesg in the link below: >>>> https://pastebin.com/ck4sZuUY >>> >>> Odd that this driver has ever worked. Has it worked for you on older >>> kernels? >>> >>> It looks like it is trying to send data off of the stack. At first >>> glance, I see at least two places it is doing this, which is what is >>> causing the errors you are seeing. I'll go audit the whole thing in a >>> few hours when I get a chance. >>> >>> Are you able to build and test a kernel patch if I make one for you? >> >> Here's a totally untested, and not even built, patch that I knocked up >> that should fix this type of issue. >> >> I'll try to at least build it later tonight... > > Ok, that was dumb, this version at least compiles :) I think there is a bit more dumbness below... :-p > -------------- > > From: Greg Kroah-Hartman > Subject: [PATCH] NFC: pn533: don't send USB data off of the stack > > It's amazing that this driver ever worked, but now that x86 doesn't > allow USB data to be sent off of the stack, it really does not work at > all. Fix this up by properly allocating the data for the small > "commands" that get sent to the device. > > The USB stack will free the buffer when the data has been transmitted, > that is why there is no kfree() to mirror the call to kmalloc(). > > Reported-by: Carlos Manuel Santos > Cc: Samuel Ortiz > Cc: Stephen Hemminger > Cc: stable > Signed-off-by: Greg Kroah-Hartman > > diff --git a/drivers/nfc/pn533/usb.c b/drivers/nfc/pn533/usb.c > index e153e8b64bb8..a0542f86efcf 100644 > --- a/drivers/nfc/pn533/usb.c > +++ b/drivers/nfc/pn533/usb.c > @@ -150,10 +150,17 @@ static int pn533_usb_send_ack(struct pn533 *dev, gfp_t flags) > struct pn533_usb_phy *phy = dev->phy; > static const u8 ack[6] = {0x00, 0x00, 0xff, 0x00, 0xff, 0x00}; > /* spec 7.1.1.3: Preamble, SoPC (2), ACK Code (2), Postamble */ > + char *buffer; > int rc; > > + buffer = kmalloc(sizeof(ack), GFP_KERNEL); > + if (!buffer) > + return -ENOMEM; > + memcpy(buffer, ack, sizeof(ack)); > + > phy->out_urb->transfer_buffer = (u8 *)ack; Shouldn't this be assigned to the allocated bufffer instead? > phy->out_urb->transfer_buffer_length = sizeof(ack); > + phy->out_urb->transfer_flags |= URB_FREE_BUFFER; > rc = usb_submit_urb(phy->out_urb, flags); > > return rc; > @@ -170,6 +177,7 @@ static int pn533_usb_send_frame(struct pn533 *dev, > > phy->out_urb->transfer_buffer = out->data; > phy->out_urb->transfer_buffer_length = out->len; > + phy->out_urb->transfer_flags &= ~URB_FREE_BUFFER; > > print_hex_dump_debug("PN533 TX: ", DUMP_PREFIX_NONE, 16, 1, > out->data, out->len, false); > @@ -375,12 +383,18 @@ static int pn533_acr122_poweron_rdr(struct pn533_usb_phy *phy) > /* Power on th reader (CCID cmd) */ > u8 cmd[10] = {PN533_ACR122_PC_TO_RDR_ICCPOWERON, > 0, 0, 0, 0, 0, 0, 3, 0, 0}; > + char *buffer; > int rc; > void *cntx; > struct pn533_acr122_poweron_rdr_arg arg; > > dev_dbg(&phy->udev->dev, "%s\n", __func__); > > + buffer = kmalloc(sizeof(cmd), GFP_KERNEL); > + if (!buffer) > + return -ENOMEM; > + memcpy(buffer, cmd, sizeof(cmd)); > + > init_completion(&arg.done); > cntx = phy->in_urb->context; /* backup context */ > > @@ -389,6 +403,7 @@ static int pn533_acr122_poweron_rdr(struct pn533_usb_phy *phy) > > phy->out_urb->transfer_buffer = cmd; and same here. Regards, Arend > phy->out_urb->transfer_buffer_length = sizeof(cmd); > + phy->out_urb->transfer_flags &= ~URB_FREE_BUFFER; > > print_hex_dump_debug("ACR122 TX: ", DUMP_PREFIX_NONE, 16, 1, > cmd, sizeof(cmd), false); >