Re: [PATCH v5 5/6] lib: utils/irqchip/imsic: track IRQ enable state and restore EIE on warm init
Anup Patel <[email protected]> Wed, 22 Jul 2026 12:02:43 +0530
| Newsgroups | org.infradead.lists.opensbi |
|---|---|
| Message-ID | <CABBgwmv6vYhhP_CEM7drCuWB9KYDOmB8-FZPyBcsDAnAof-cfg@mail.gmail.com> |
T24gV2VkLCBKdWwgMjIsIDIwMjYgYXQgMzo0M+KAr0FNIFBhd2FuZGVlcCBPemEKPHBhd2FuZGVl cC5vemFAb3NzLnF1YWxjb21tLmNvbT4gd3JvdGU6Cj4KPiBBZGQgYW4gaXJxX3N0YXRlIGZpZWxk IHRvIHN0cnVjdCBzYmlfaXJxY2hpcF9od2lycV9kYXRhIHdpdGggYSBzaW5nbGUKPiBJUlFfRU5B QkxFRCBmbGFnIChiaXQgMCkgdG8gdHJhY2sgd2hldGhlciBhIGhhcmR3YXJlIGludGVycnVwdCBo YXMgYmVlbgo+IGVuYWJsZWQgdmlhIHRoZSBpcnFjaGlwIGZyYW1ld29yay4gU2V0IElSUV9FTkFC TEVEIGluCj4gc2JpX2lycWNoaXBfdW5tYXNrX2h3aXJxKCkgd2hlbiB0aGUgdW5tYXNrIGNhbGxi YWNrIGlzIGludm9rZWQuCj4KPiBBZGQgc2JpX2lycWNoaXBfZ2V0X2lycV9zdGF0ZSgpIGFzIGEg cHJpdmF0ZSBpbmxpbmUgYWNjZXNzb3IgYW5kIGV4cG9zZQo+IHNiaV9pcnFjaGlwX2lzX2lycV9l bmFibGVkKCkgYXMgYSBwdWJsaWMgQVBJIGZvciBkcml2ZXJzIHRvIHF1ZXJ5IHRoZQo+IGVuYWJs ZWQgc3RhdGUgb2YgYSBoYXJkd2FyZSBpbnRlcnJ1cHQgYnkgY2hpcCBwb2ludGVyIGFuZCBod2ly cSBudW1iZXIuCj4KPiBSZWZhY3RvciBpbXNpY19sb2NhbF9laXhfdXBkYXRlKCkgdG8gb3BlcmF0 ZSBvbiBhIHNpbmdsZSBpbnRlcnJ1cHQgSUQKPiBpbnN0ZWFkIG9mIGEgYmFzZStjb3VudCByYW5n ZSwgc2ltcGxpZnlpbmcgdGhlIENTUiBiaXQgbWFuaXB1bGF0aW9uIHRvCj4gYSBkaXJlY3QgQklU KGlkKSB3cml0ZSB3aXRob3V0IHRoZSBpbm5lciBsb29wLiBVcGRhdGUgYWxsIGNhbGwgc2l0ZXMK PiBhY2NvcmRpbmdseS4KPgo+IFVzZSBzYmlfaXJxY2hpcF9pc19pcnFfZW5hYmxlZCgpIGluIGlt c2ljX3dhcm1faXJxY2hpcF9pbml0KCkgdG8KPiByZXN0b3JlIHBlci1FSUlEIEVJRSBDU1Igc3Rh dGUgb24gd2FybSBib290IGFuZCBIU00gcmVzdW1lIGJhc2VkIG9uCj4gdGhlIHNhdmVkIGlycV9z dGF0ZSwgcmVwbGFjaW5nIHRoZSBwcmV2aW91cyBibGFua2V0IGRpc2FibGUgb2YgYWxsCj4gaW50 ZXJydXB0cy4gVGhpcyBlbnN1cmVzIHRoYXQgRUlJRHMgZW5hYmxlZCBkdXJpbmcgaG90cGx1Zy93 YXJtaW5pdAo+IGN5Y2xlIGFyZSBjb3JyZWN0bHkgcmUtZW5hYmxlZCBvbiB0aGUgcmVzdW1pbmcg aGFydCB3aXRob3V0IHJlcXVpcmluZwo+IHNvZnR3YXJlIHRvIHJlLXJlZ2lzdGVyIG9yIHJlLXVu bWFzayBlYWNoIGludGVycnVwdC4KPgo+IFNpZ25lZC1vZmYtYnk6IE96YSBQYXdhbmRlZXAgPHBh d2FuZGVlcC5vemFAb3NzLnF1YWxjb21tLmNvbT4KCkxHVE0uCgpSZXZpZXdlZC1ieTogQW51cCBQ YXRlbCA8YW51cEBicmFpbmZhdWx0Lm9yZz4KClRoYW5rcywKQW51cAoKPiAtLS0KPiAgaW5jbHVk ZS9zYmkvc2JpX2lycWNoaXAuaCB8ICA0ICsrKwo+ICBsaWIvc2JpL3NiaV9pcnFjaGlwLmMgICAg IHwgMzYgKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBsaWIvdXRpbHMvaXJxY2hpcC9pbXNp Yy5jIHwgNTUgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDMgZmls ZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0t Z2l0IGEvaW5jbHVkZS9zYmkvc2JpX2lycWNoaXAuaCBiL2luY2x1ZGUvc2JpL3NiaV9pcnFjaGlw LmgKPiBpbmRleCBlYTAxMjYzNS4uZjNhZTlhMTMgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9zYmkv c2JpX2lycWNoaXAuaAo+ICsrKyBiL2luY2x1ZGUvc2JpL3NiaV9pcnFjaGlwLmgKPiBAQCAtMTY4 LDQgKzE2OCw4IEBAIGludCBzYmlfaXJxY2hpcF9pbml0KHN0cnVjdCBzYmlfc2NyYXRjaCAqc2Ny YXRjaCwgYm9vbCBjb2xkX2Jvb3QpOwo+ICAvKiogRXhpdCBpbnRlcnJ1cHQgY29udHJvbGxlcnMg Ki8KPiAgdm9pZCBzYmlfaXJxY2hpcF9leGl0KHN0cnVjdCBzYmlfc2NyYXRjaCAqc2NyYXRjaCk7 Cj4KPiArLyoqIENoZWNrIGlmIHRoZSBpbnRlcnJ1cHQgaXMgZW5hYmxlZCAqLwo+ICtib29sIHNi aV9pcnFjaGlwX2lzX2h3aXJxX2VuYWJsZWQoc3RydWN0IHNiaV9pcnFjaGlwX2RldmljZSAqY2hp cCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBo d2lycSk7Cj4gKwo+ICAjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvbGliL3NiaS9zYmlfaXJxY2hpcC5j IGIvbGliL3NiaS9zYmlfaXJxY2hpcC5jCj4gaW5kZXggMTJkNGUyNzIuLmQ1ZjQ3YTA1IDEwMDY0 NAo+IC0tLSBhL2xpYi9zYmkvc2JpX2lycWNoaXAuYwo+ICsrKyBiL2xpYi9zYmkvc2JpX2lycWNo aXAuYwo+IEBAIC0yMCw2ICsyMCwxMSBAQCBzdHJ1Y3Qgc2JpX2lycWNoaXBfaHdpcnFfZGF0YSB7 Cj4gICAgICAgICAvKiogcmF3IGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyICovCj4gICAgICAg ICBpbnQgKCpyYXdfaGFuZGxlcikoc3RydWN0IHNiaV9pcnFjaGlwX2RldmljZSAqY2hpcCwgdTMy IGh3aXJxKTsKPgo+ICsjZGVmaW5lIElSUV9FTkFCTEVEICAgIEJJVCgwKQo+ICsgICAgICAgLyoq IGludGVycnVwdCBzdGF0ZQo+ICsgICAgICAgICogYml0IDAgLSAxOiBlbmFibGVkLCAwOiBkaXNh YmxlZCAqLwo+ICsgICAgICAgdTMyIGlycV9zdGF0ZTsKPiArCj4gICAgICAgICAvKiogdGFyZ2V0 IGhhcnQgaW5kZXggKi8KPiAgICAgICAgIHUzMiBoYXJ0X2luZGV4Owo+Cj4gQEAgLTgwLDIzICs4 NSw1NCBAQCBpbnQgc2JpX2lycWNoaXBfcHJvY2Vzc19od2lycShzdHJ1Y3Qgc2JpX2lycWNoaXBf ZGV2aWNlICpjaGlwLCB1MzIgaHdpcnEpCj4gICAgICAgICByZXR1cm4gZGF0YS0+cmF3X2hhbmRs ZXIoY2hpcCwgaHdpcnEpOwo+ICB9Cj4KPiArc3RhdGljIGlubGluZSB1MzIgc2JpX2lycWNoaXBf Z2V0X2lycV9zdGF0ZShzdHJ1Y3Qgc2JpX2lycWNoaXBfZGV2aWNlICpjaGlwLAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBod2lycSkKPiArewo+ICsg ICAgICAgaWYgKCFjaGlwIHx8ICFjaGlwLT5od2lycXMgfHwgaHdpcnEgPj0gY2hpcC0+bnVtX2h3 aXJxKQo+ICsgICAgICAgICAgICAgICByZXR1cm4gMDsKPiArCj4gKyAgICAgICByZXR1cm4gY2hp cC0+aHdpcnFzW2h3aXJxXS5pcnFfc3RhdGU7Cj4gK30KPiArCj4gK2Jvb2wgc2JpX2lycWNoaXBf aXNfaHdpcnFfZW5hYmxlZChzdHJ1Y3Qgc2JpX2lycWNoaXBfZGV2aWNlICpjaGlwLAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTMyIGh3aXJxKQo+ICt7 Cj4gKyAgICAgICByZXR1cm4gISEoc2JpX2lycWNoaXBfZ2V0X2lycV9zdGF0ZShjaGlwLCBod2ly cSkgJiBJUlFfRU5BQkxFRCk7Cj4gK30KPiArCj4gIGludCBzYmlfaXJxY2hpcF91bm1hc2tfaHdp cnEoc3RydWN0IHNiaV9pcnFjaGlwX2RldmljZSAqY2hpcCwgdTMyIGh3aXJxKQo+ICB7Cj4gKyAg ICAgICBzdHJ1Y3Qgc2JpX2lycWNoaXBfaHdpcnFfZGF0YSAqZGF0YTsKPiArCj4gICAgICAgICBp ZiAoIWNoaXAgfHwgY2hpcC0+bnVtX2h3aXJxIDw9IGh3aXJxKQo+ICAgICAgICAgICAgICAgICBy ZXR1cm4gU0JJX0VJTlZBTDsKPgo+ICsgICAgICAgZGF0YSA9ICZjaGlwLT5od2lycXNbaHdpcnFd Owo+ICsgICAgICAgaWYgKHNiaV9pcnFjaGlwX2lzX2h3aXJxX2VuYWJsZWQoY2hpcCwgaHdpcnEp ID09IHRydWUpCj4gKyAgICAgICAgICAgICAgIHJldHVybiBTQklfRUFMUkVBRFk7Cj4gKwo+ICAg ICAgICAgaWYgKGNoaXAtPmh3aXJxX3VubWFzaykKPiAgICAgICAgICAgICAgICAgY2hpcC0+aHdp cnFfdW5tYXNrKGNoaXAsIGh3aXJxKTsKPiArCj4gKyAgICAgICBkYXRhLT5pcnFfc3RhdGUgfD0g SVJRX0VOQUJMRUQ7Cj4gICAgICAgICByZXR1cm4gMDsKPiAgfQo+Cj4gIGludCBzYmlfaXJxY2hp cF9tYXNrX2h3aXJxKHN0cnVjdCBzYmlfaXJxY2hpcF9kZXZpY2UgKmNoaXAsIHUzMiBod2lycSkK PiAgewo+ICsgICAgICAgc3RydWN0IHNiaV9pcnFjaGlwX2h3aXJxX2RhdGEgKmRhdGE7Cj4gKwo+ ICAgICAgICAgaWYgKCFjaGlwIHx8IGNoaXAtPm51bV9od2lycSA8PSBod2lycSkKPiAgICAgICAg ICAgICAgICAgcmV0dXJuIFNCSV9FSU5WQUw7Cj4KPiArICAgICAgIGlmIChzYmlfaXJxY2hpcF9p c19od2lycV9lbmFibGVkKGNoaXAsIGh3aXJxKSA9PSBmYWxzZSkKPiArICAgICAgICAgICAgICAg cmV0dXJuIFNCSV9FQUxSRUFEWTsKPiArCj4gICAgICAgICBpZiAoY2hpcC0+aHdpcnFfbWFzaykK PiAgICAgICAgICAgICAgICAgY2hpcC0+aHdpcnFfbWFzayhjaGlwLCBod2lycSk7Cj4gKwo+ICsg ICAgICAgZGF0YSA9ICZjaGlwLT5od2lycXNbaHdpcnFdOwo+ICsgICAgICAgZGF0YS0+aXJxX3N0 YXRlICY9IH5JUlFfRU5BQkxFRDsKPiAgICAgICAgIHJldHVybiAwOwo+ICB9Cj4KPiBkaWZmIC0t Z2l0IGEvbGliL3V0aWxzL2lycWNoaXAvaW1zaWMuYyBiL2xpYi91dGlscy9pcnFjaGlwL2ltc2lj LmMKPiBpbmRleCA0MGJmZmNjMC4uODJhNzRmNDMgMTAwNjQ0Cj4gLS0tIGEvbGliL3V0aWxzL2ly cWNoaXAvaW1zaWMuYwo+ICsrKyBiL2xpYi91dGlscy9pcnFjaGlwL2ltc2ljLmMKPiBAQCAtMjI1 LDI5ICsyMjUsMjAgQEAgc3RhdGljIHN0cnVjdCBzYmlfaXBpX2RldmljZSBpbXNpY19pcGlfZGV2 aWNlID0gewo+ICAgICAgICAgLmlwaV9zZW5kICAgICAgID0gaW1zaWNfaXBpX3NlbmQKPiAgfTsK Pgo+IC1zdGF0aWMgdm9pZCBpbXNpY19sb2NhbF9laXhfdXBkYXRlKHVuc2lnbmVkIGxvbmcgYmFz ZV9pZCwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcg bnVtX2lkLCBib29sIHBlbmQsIGJvb2wgdmFsKQo+ICtzdGF0aWMgdm9pZCBpbXNpY19sb2NhbF9l aXhfdXBkYXRlKHVuc2lnbmVkIGxvbmcgaWQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBib29sIHBlbmQsIGJvb2wgdmFsKQo+ICB7Cj4gLSAgICAgICB1bnNpZ25lZCBsb25n IGksIGlzZWwsIGlyZWc7Cj4gLSAgICAgICB1bnNpZ25lZCBsb25nIGlkID0gYmFzZV9pZCwgbGFz dF9pZCA9IGJhc2VfaWQgKyBudW1faWQ7Cj4gLQo+IC0gICAgICAgd2hpbGUgKGlkIDwgbGFzdF9p ZCkgewo+IC0gICAgICAgICAgICAgICBpc2VsID0gaWQgLyBfX3Jpc2N2X3hsZW47Cj4gLSAgICAg ICAgICAgICAgIGlzZWwgKj0gX19yaXNjdl94bGVuIC8gSU1TSUNfRUlQeF9CSVRTOwo+IC0gICAg ICAgICAgICAgICBpc2VsICs9IChwZW5kKSA/IElNU0lDX0VJUDAgOiBJTVNJQ19FSUUwOwo+IC0K PiAtICAgICAgICAgICAgICAgaXJlZyA9IDA7Cj4gLSAgICAgICAgICAgICAgIGZvciAoaSA9IGlk ICYgKF9fcmlzY3ZfeGxlbiAtIDEpOwo+IC0gICAgICAgICAgICAgICAgICAgIChpZCA8IGxhc3Rf aWQpICYmIChpIDwgX19yaXNjdl94bGVuKTsgaSsrKSB7Cj4gLSAgICAgICAgICAgICAgICAgICAg ICAgaXJlZyB8PSBCSVQoaSk7Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgaWQrKzsKPiAtICAg ICAgICAgICAgICAgfQo+ICsgICAgICAgdW5zaWduZWQgbG9uZyBpc2VsLCBpcmVnID0gMDsKPgo+ IC0gICAgICAgICAgICAgICBpZiAodmFsKQo+IC0gICAgICAgICAgICAgICAgICAgICAgIGltc2lj X2Nzcl9zZXQoaXNlbCwgaXJlZyk7Cj4gLSAgICAgICAgICAgICAgIGVsc2UKPiAtICAgICAgICAg ICAgICAgICAgICAgICBpbXNpY19jc3JfY2xlYXIoaXNlbCwgaXJlZyk7Cj4gLSAgICAgICB9Cj4g KyAgICAgICBpc2VsID0gaWQgLyBfX3Jpc2N2X3hsZW47Cj4gKyAgICAgICBpc2VsICo9IF9fcmlz Y3ZfeGxlbiAvIElNU0lDX0VJUHhfQklUUzsKPiArICAgICAgIGlzZWwgKz0gKHBlbmQpID8gSU1T SUNfRUlQMCA6IElNU0lDX0VJRTA7Cj4gKyAgICAgICBpcmVnIHw9IEJJVChpZCk7Cj4gKwo+ICsg ICAgICAgaWYgKHZhbCkKPiArICAgICAgICAgICAgICAgaW1zaWNfY3NyX3NldChpc2VsLCBpcmVn KTsKPiArICAgICAgIGVsc2UKPiArICAgICAgICAgICAgICAgaW1zaWNfY3NyX2NsZWFyKGlzZWws IGlyZWcpOwo+ICB9Cj4KPiAgdm9pZCBpbXNpY19sb2NhbF9pcnFjaGlwX2luaXQodm9pZCkKPiBA QCAtMjc1LDEzICsyNjYsMTQgQEAgdm9pZCBpbXNpY19sb2NhbF9pcnFjaGlwX2luaXQodm9pZCkK PiAgICAgICAgIGltc2ljX2Nzcl93cml0ZShJTVNJQ19FSURFTElWRVJZLCBJTVNJQ19FTkFCTEVf RUlERUxJVkVSWSk7Cj4KPiAgICAgICAgIC8qIEVuYWJsZSBJUEkgKi8KPiAtICAgICAgIGltc2lj X2xvY2FsX2VpeF91cGRhdGUoSU1TSUNfSVBJX0lELCAxLCBmYWxzZSwgdHJ1ZSk7Cj4gKyAgICAg ICBpbXNpY19sb2NhbF9laXhfdXBkYXRlKElNU0lDX0lQSV9JRCwgZmFsc2UsIHRydWUpOwo+ICB9 Cj4KPiAgc3RhdGljIGludCBpbXNpY193YXJtX2lycWNoaXBfaW5pdChzdHJ1Y3Qgc2JpX2lycWNo aXBfZGV2aWNlICpkZXYpCj4gIHsKPiAgICAgICAgIHN0cnVjdCBpbXNpY19kYXRhICppbXNpYzsK PiAgICAgICAgIHN0cnVjdCBpbXNpY19kYXRhICpoYXJ0X2ltc2ljOwo+ICsgICAgICAgaW50IGk7 Cj4KPiAgICAgICAgIGltc2ljID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IGltc2ljX2RhdGEs IGlycWNoaXApOwo+ICAgICAgICAgaGFydF9pbXNpYyA9IGltc2ljX2dldF9kYXRhKGN1cnJlbnRf aGFydGluZGV4KCkpOwo+IEBAIC0yOTEsMTEgKzI4MywxNiBAQCBzdGF0aWMgaW50IGltc2ljX3dh cm1faXJxY2hpcF9pbml0KHN0cnVjdCBzYmlfaXJxY2hpcF9kZXZpY2UgKmRldikKPiAgICAgICAg ICAgICAgICAgIWhhcnRfaW1zaWMtPnRhcmdldHNfbW1vZGUpCj4gICAgICAgICAgICAgICAgIHJl dHVybiBTQklfRUlOVkFMOwo+Cj4gLSAgICAgICAvKiBEaXNhYmxlIGFsbCBpbnRlcnJ1cHRzICov Cj4gLSAgICAgICBpbXNpY19sb2NhbF9laXhfdXBkYXRlKDEsIGltc2ljLT5udW1faWRzLCBmYWxz ZSwgZmFsc2UpOwo+ICsgICAgICAgLyogZW5hYmxlIGludGVycnV0cHMgYmFzZWQgb24gdGhlIGly cSBzdGF0ZSAqLwo+ICsgICAgICAgZm9yIChpID0gMTsgaSA8IGltc2ljLT5udW1faWRzOyBpKysp IHsKPiArICAgICAgICAgICAgICAgaWYgKHNiaV9pcnFjaGlwX2lzX2h3aXJxX2VuYWJsZWQoJmlt c2ljLT5pcnFjaGlwLCBpKSA9PSB0cnVlKQo+ICsgICAgICAgICAgICAgICAgICAgICAgIGltc2lj X2xvY2FsX2VpeF91cGRhdGUoaSwgdHJ1ZSwgdHJ1ZSk7Cj4gKyAgICAgICAgICAgICAgIGVsc2UK PiArICAgICAgICAgICAgICAgICAgICAgICBpbXNpY19sb2NhbF9laXhfdXBkYXRlKGksIGZhbHNl LCBmYWxzZSk7Cj4gKyAgICAgICB9Cj4KPiAgICAgICAgIC8qIENsZWFyIElQSSBwZW5kaW5nICov Cj4gLSAgICAgICBpbXNpY19sb2NhbF9laXhfdXBkYXRlKElNU0lDX0lQSV9JRCwgMSwgdHJ1ZSwg ZmFsc2UpOwo+ICsgICAgICAgaW1zaWNfbG9jYWxfZWl4X3VwZGF0ZShJTVNJQ19JUElfSUQsIHRy dWUsIGZhbHNlKTsKPgo+ICAgICAgICAgLyogTG9jYWwgSU1TSUMgaW5pdGlhbGl6YXRpb24gKi8K PiAgICAgICAgIGltc2ljX2xvY2FsX2lycWNoaXBfaW5pdCgpOwo+IEBAIC0zOTUsOCArMzkyLDgg QEAgc3RhdGljIHZvaWQgaW1zaWNfaHdpcnFfY2xlYW51cChzdHJ1Y3Qgc2JpX2lycWNoaXBfZGV2 aWNlICpjaGlwLCB1MzIgaHdpcnEpCj4gICAgICAgICBpZiAoIWltc2ljIHx8ICFpbXNpYy0+dGFy Z2V0c19tbW9kZSkKPiAgICAgICAgICAgICAgICAgcmV0dXJuOwo+Cj4gLSAgICAgICBpbXNpY19s b2NhbF9laXhfdXBkYXRlKGh3aXJxLCAxLCBmYWxzZSwgZmFsc2UpOwo+IC0gICAgICAgaW1zaWNf bG9jYWxfZWl4X3VwZGF0ZShod2lycSwgMSwgdHJ1ZSwgZmFsc2UpOwo+ICsgICAgICAgaW1zaWNf bG9jYWxfZWl4X3VwZGF0ZShod2lycSwgZmFsc2UsIGZhbHNlKTsKPiArICAgICAgIGltc2ljX2xv Y2FsX2VpeF91cGRhdGUoaHdpcnEsIHRydWUsIGZhbHNlKTsKPiAgfQo+Cj4gIHN0YXRpYyB2b2lk IGltc2ljX2h3aXJxX2VvaShzdHJ1Y3Qgc2JpX2lycWNoaXBfZGV2aWNlICpjaGlwLCB1MzIgaHdp cnEpCj4gQEAgLTUzNSw3ICs1MzIsNyBAQCBzdGF0aWMgdm9pZCBpbXNpY19od2lycV9tYXNrKHN0 cnVjdCBzYmlfaXJxY2hpcF9kZXZpY2UgKmNoaXAsIHUzMiBod2lycSkKPiAgICAgICAgIGlmICgh aW1zaWMgfHwgIWltc2ljLT50YXJnZXRzX21tb2RlKQo+ICAgICAgICAgICAgICAgICByZXR1cm47 Cj4KPiAtICAgICAgIGltc2ljX2xvY2FsX2VpeF91cGRhdGUoaHdpcnEsIDEsIGZhbHNlLCBmYWxz ZSk7Cj4gKyAgICAgICBpbXNpY19sb2NhbF9laXhfdXBkYXRlKGh3aXJxLCBmYWxzZSwgZmFsc2Up Owo+ICB9Cj4KPiAgc3RhdGljIHZvaWQgaW1zaWNfaHdpcnFfdW5tYXNrKHN0cnVjdCBzYmlfaXJx Y2hpcF9kZXZpY2UgKmNoaXAsIHUzMiBod2lycSkKPiBAQCAtNTUyLDcgKzU0OSw3IEBAIHN0YXRp YyB2b2lkIGltc2ljX2h3aXJxX3VubWFzayhzdHJ1Y3Qgc2JpX2lycWNoaXBfZGV2aWNlICpjaGlw LCB1MzIgaHdpcnEpCj4gICAgICAgICBpZiAoIWh3aXJxIHx8IGh3aXJxID09IElNU0lDX0lQSV9J RCkKPiAgICAgICAgICAgICAgICAgcmV0dXJuOwo+Cj4gLSAgICAgICBpbXNpY19sb2NhbF9laXhf dXBkYXRlKGh3aXJxLCAxLCBmYWxzZSwgdHJ1ZSk7Cj4gKyAgICAgICBpbXNpY19sb2NhbF9laXhf dXBkYXRlKGh3aXJxLCBmYWxzZSwgdHJ1ZSk7Cj4gIH0KPgo+ICBzdGF0aWMgc3RydWN0IHNiaV9p cnFjaGlwX2RldmljZSBpbXNpY19kZXZpY2UgPSB7Cj4gLS0KPiAyLjQzLjAKPgo+Cj4gLS0KPiBv cGVuc2JpIG1haWxpbmcgbGlzdAo+IG9wZW5zYmlAbGlzdHMuaW5mcmFkZWFkLm9yZwo+IGh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vb3BlbnNiaQoKLS0gCm9wZW5z YmkgbWFpbGluZyBsaXN0Cm9wZW5zYmlAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29wZW5zYmkK