From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: [PATCH] Revert "drm/i915: Expand subslice mask" Date: Wed, 29 May 2019 11:21:50 +0300 Message-ID: <20190529082150.31526-1-jani.nikula@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id DE2156E08E for ; Wed, 29 May 2019 08:21:58 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Oscar Mateo , Yunwei Zhang , jani.nikula@intel.com, Michel Thierry List-Id: intel-gfx@lists.freedesktop.org VGhpcyByZXZlcnRzIGNvbW1pdCAxYWMxNTllMjNjMmMgKCJkcm0vaTkxNTogRXhwYW5kIHN1YnNs aWNlIG1hc2siKSwKd2hpY2gga2lsbHMgSUNMIGR1ZSB0byBHRU1fQlVHX09OKCkgc2FuaXR5IGNo ZWNrcyBiZWZvcmUgQ0kgZXZlbiBnZXRzIGEKY2hhbmNlIHRvIGRvIGFueXRoaW5nLgoKVGhlIGNv bW1pdCBleHBvc2VzIGFuIGlzc3VlIGluIGNvbW1pdCAxZTQwZDRhZWE1N2IgKCJkcm0vaTkxNS9j bmw6CkltcGxlbWVudCBXYVByb2dyYW1NZ3NyRm9yQ29ycmVjdFNsaWNlU3BlY2lmaWNNbWlvUmVh ZHMiKSwgd2hpY2ggd2lsbAphbHNvIG5lZWQgdG8gYmUgYWRkcmVzc2VkLgoKVGhlcmUncyBhIHBy b3Bvc2VkIGZpeCBbMV0sIGJ1dCBjb25zaWRlcmluZyB0aGUgc2VlbWluZyB1bmNlcnRhaW50eSB3 aXRoCnRoZSBmaXggYXMgd2VsbCBhcyB0aGUgc2l6ZSBvZiB0aGUgcmVncmVzc2luZyBjb21taXQg KGluIHRoaXMgY29udGV4dCwKdGhlIG9uZSB0aGF0IGFjdHVhbGx5IGJyaW5ncyBkb3duIElDTCks IHRoaXMgd2FycmFudHMgYSByZXZlcnQgdG8gZ2V0CklDTCB3b3JraW5nLCBhbmQgZ2l2ZXMgdXMg dGltZSB0byBnZXQgYWxsIG9mIHRoaXMgcmlnaHQgd2l0aG91dApydXNoaW5nLiBFdmVuIGlmIHRo aXMgbWVhbnMgc2hvb3RpbmcgdGhlIG1lc3Nlbmdlci4KCjwzPlsgICAgOS40MjYzMjddIGludGVs X3NzZXVfZ2V0X3N1YnNsaWNlczo0NiBHRU1fQlVHX09OKHNsaWNlID49IHNzZXUtPm1heF9zbGlj ZXMpCjw0PlsgICAgOS40MjYzNTVdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0t LQo8Mj5bICAgIDkuNDI2MzU3XSBrZXJuZWwgQlVHIGF0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L2ludGVsX3NzZXUuYzo0NiEKPDQ+WyAgICA5LjQyNjM3MV0gaW52YWxpZCBvcGNvZGU6IDAwMDAg WyMxXSBQUkVFTVBUIFNNUCBOT1BUSQo8ND5bICAgIDkuNDI2Mzc3XSBDUFU6IDEgUElEOiAzNjQg Q29tbTogc3lzdGVtZC11ZGV2ZCBOb3QgdGFpbnRlZCA1LjIuMC1yYzItQ0ktQ0lfRFJNXzYxNTkr ICMxCjw0PlsgICAgOS40MjYzODVdIEhhcmR3YXJlIG5hbWU6IEludGVsIENvcnBvcmF0aW9uIElj ZSBMYWtlIENsaWVudCBQbGF0Zm9ybS9JY2VMYWtlIFUgRERSNCBTT0RJTU0gUEQgUlZQIFRMQywg QklPUyBJQ0xTRldSMS5SMDAuMzE4My5BMDAuMTkwNTAyMDQxMSAwNS8wMi8yMDE5Cjw0PlsgICAg OS40MjY0NDRdIFJJUDogMDAxMDppbnRlbF9zc2V1X2dldF9zdWJzbGljZXMrMHg4YS8weGUwIFtp OTE1XQo8ND5bICAgIDkuNDI2NDUyXSBDb2RlOiBkNSA3NiBiNyBlMCA0OCA4YiAzNSA5ZCAyNCAy MSAwMCA0OSBjNyBjMCAwNyBmMCA3MiBhMCBiOSAyZSAwMCAwMCAwMCA0OCBjNyBjMiAwMCA4ZSA2 ZCBhMCA0OCBjNyBjNyBhNSAxNCA1YiBhMCBlOCAzNiAzYyBiZSBlMCA8MGY+IDBiIDQ4IGM3IGMx IDgwIGQ1IDZmIGEwIGJhIDMwIDAwIDAwIDAwIDQ4IGM3IGM2IDAwIDhlIDZkIGEwIDQ4Cjw0Plsg ICAgOS40MjY0NjhdIFJTUDogMDAxODpmZmZmYzkwMDAwMzdiOWM4IEVGTEFHUzogMDAwMTAyODIK PDQ+WyAgICA5LjQyNjQ3NV0gUkFYOiAwMDAwMDAwMDAwMDAwMDBmIFJCWDogMDAwMDAwMDAwMDAw MDAwMCBSQ1g6IDAwMDAwMDAwMDAwMDAwMDAKPDQ+WyAgICA5LjQyNjQ4Ml0gUkRYOiAwMDAwMDAw MDAwMDAwMDAxIFJTSTogMDAwMDAwMDAwMDAwMDAwOCBSREk6IGZmZmY4ODg0OWUzNDZmOTgKPDQ+ WyAgICA5LjQyNjQ5MF0gUkJQOiBmZmZmODg4NDhhMjAwMDAwIFIwODogMDAwMDAwMDAwMDAwMDAw NCBSMDk6IGZmZmY4ODg0OWQ1MGIwMDAKPDQ+WyAgICA5LjQyNjQ5N10gUjEwOiAwMDAwMDAwMDAw MDAwMDAwIFIxMTogZmZmZjg4ODQ5ZTM0NmY5OCBSMTI6IGZmZmY4ODg0OGEyMDllNzgKPDQ+WyAg ICA5LjQyNjUwNV0gUjEzOiAwMDAwMDAwMDAzMDAwMDAwIFIxNDogZmZmZjg4ODQ4YTIwYjFhOCBS MTU6IDAwMDAwMDAwMDAwMDAwMDAKPDQ+WyAgICA5LjQyNjUxM10gRlM6ICAwMDAwN2Y3M2Q1YWU4 NjgwKDAwMDApIEdTOmZmZmY4ODg0OWZjODAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAw MAo8ND5bICAgIDkuNDI2NTIxXSBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAw MDAwMDgwMDUwMDMzCjw0PlsgICAgOS40MjY1MjddIENSMjogMDAwMDU2MTQxN2IwMTI2MCBDUjM6 IDAwMDAwMDA0OTQ3NjQwMDMgQ1I0OiAwMDAwMDAwMDAwNzYwZWUwCjw0PlsgICAgOS40MjY1MzVd IFBLUlU6IDU1NTU1NTU0Cjw0PlsgICAgOS40MjY1MzhdIENhbGwgVHJhY2U6Cjw0PlsgICAgOS40 MjY1ODVdICB3YV9pbml0X21jcisweGQ1LzB4MTEwIFtpOTE1XQo8ND5bICAgIDkuNDI2NTk3XSAg PyBsb2NrX2FjcXVpcmUrMHhhNi8weDFjMAo8ND5bICAgIDkuNDI2NjQ1XSAgaWNsX2d0X3dvcmth cm91bmRzX2luaXQrMHgyMS8weDFhMCBbaTkxNV0KPDQ+WyAgICA5LjQyNjY5NF0gID8gaTkxNV9k cml2ZXJfbG9hZCsweGZjZi8weDE4YTAgW2k5MTVdCjw0PlsgICAgOS40MjY3MzldICBndF9pbml0 X3dvcmthcm91bmRzKzB4MTRjLzB4MjMwIFtpOTE1XQo8ND5bICAgIDkuNDI2NzQ4XSAgPyBfcmF3 X3NwaW5fdW5sb2NrX2lycSsweDI0LzB4NTAKPDQ+WyAgICA5LjQyNjc4OV0gIGludGVsX2d0X2lu aXRfd29ya2Fyb3VuZHMrMHgxYi8weDMwIFtpOTE1XQo8ND5bICAgIDkuNDI2ODM1XSAgaTkxNV9k cml2ZXJfbG9hZCsweGZkNy8weDE4YTAgW2k5MTVdCjw0PlsgICAgOS40MjY4NDNdICA/IGxvY2tf YWNxdWlyZSsweGE2LzB4MWMwCjw0PlsgICAgOS40MjY4NTBdICA/IF9fcG1fcnVudGltZV9yZXN1 bWUrMHg0Zi8weDgwCjw0PlsgICAgOS40MjY4NTddICA/IF9yYXdfc3Bpbl91bmxvY2tfaXJxcmVz dG9yZSsweDRjLzB4NjAKPDQ+WyAgICA5LjQyNjg2M10gID8gX3Jhd19zcGluX3VubG9ja19pcnFy ZXN0b3JlKzB4NGMvMHg2MAo8ND5bICAgIDkuNDI2ODcwXSAgPyBsb2NrZGVwX2hhcmRpcnFzX29u KzB4ZTMvMHgxYjAKPDQ+WyAgICA5LjQyNjkxNV0gIGk5MTVfcGNpX3Byb2JlKzB4MjkvMHhhMCBb aTkxNV0KPDQ+WyAgICA5LjQyNjkyM10gIHBjaV9kZXZpY2VfcHJvYmUrMHg5ZS8weDEyMAo8ND5b ICAgIDkuNDI2OTMwXSAgcmVhbGx5X3Byb2JlKzB4ZWEvMHgzYzAKPDQ+WyAgICA5LjQyNjkzNl0g IGRyaXZlcl9wcm9iZV9kZXZpY2UrMHgxMGIvMHgxMjAKPDQ+WyAgICA5LjQyNjk0Ml0gIGRldmlj ZV9kcml2ZXJfYXR0YWNoKzB4NGEvMHg1MAo8ND5bICAgIDkuNDI2OTQ4XSAgX19kcml2ZXJfYXR0 YWNoKzB4OTcvMHgxMzAKPDQ+WyAgICA5LjQyNjk1NF0gID8gZGV2aWNlX2RyaXZlcl9hdHRhY2gr MHg1MC8weDUwCjw0PlsgICAgOS40MjY5NjBdICBidXNfZm9yX2VhY2hfZGV2KzB4NzQvMHhjMAo8 ND5bICAgIDkuNDI2OTY2XSAgYnVzX2FkZF9kcml2ZXIrMHgxM2YvMHgyMTAKPDQ+WyAgICA5LjQy Njk3MV0gID8gMHhmZmZmZmZmZmEwODNiMDAwCjw0PlsgICAgOS40MjY5NzZdICBkcml2ZXJfcmVn aXN0ZXIrMHg1Ni8weGUwCjw0PlsgICAgOS40MjY5ODJdICA/IDB4ZmZmZmZmZmZhMDgzYjAwMAo8 ND5bICAgIDkuNDI2OTg3XSAgZG9fb25lX2luaXRjYWxsKzB4NTgvMHgzMDAKPDQ+WyAgICA5LjQy Njk5NF0gID8gZG9faW5pdF9tb2R1bGUrMHgxZC8weDFmNgo8ND5bICAgIDkuNDI3MDAxXSAgPyBy Y3VfcmVhZF9sb2NrX3NjaGVkX2hlbGQrMHg2Zi8weDgwCjw0PlsgICAgOS40MjcwMDddICA/IGtt ZW1fY2FjaGVfYWxsb2NfdHJhY2UrMHgyNjEvMHgyOTAKPDQ+WyAgICA5LjQyNzAxNF0gIGRvX2lu aXRfbW9kdWxlKzB4NTYvMHgxZjYKPDQ+WyAgICA5LjQyNzAyMF0gIGxvYWRfbW9kdWxlKzB4MjRk MS8weDI5OTAKPDQ+WyAgICA5LjQyNzAzMl0gID8gX19zZV9zeXNfZmluaXRfbW9kdWxlKzB4ZDMv MHhmMAo8ND5bICAgIDkuNDI3MDM3XSAgX19zZV9zeXNfZmluaXRfbW9kdWxlKzB4ZDMvMHhmMAo8 ND5bICAgIDkuNDI3MDQ3XSAgZG9fc3lzY2FsbF82NCsweDU1LzB4MWMwCjw0PlsgICAgOS40Mjcw NTNdICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0OS8weGJlCjw0PlsgICAgOS40 MjcwNTldIFJJUDogMDAzMzoweDdmNzNkNTYwOTgzOQo8ND5bICAgIDkuNDI3MDY0XSBDb2RlOiAw MCBmMyBjMyA2NiAyZSAwZiAxZiA4NCAwMCAwMCAwMCAwMCAwMCAwZiAxZiA0MCAwMCA0OCA4OSBm OCA0OCA4OSBmNyA0OCA4OSBkNiA0OCA4OSBjYSA0ZCA4OSBjMiA0ZCA4OSBjOCA0YyA4YiA0YyAy NCAwOCAwZiAwNSA8NDg+IDNkIDAxIGYwIGZmIGZmIDczIDAxIGMzIDQ4IDhiIDBkIDFmIGY2IDJj IDAwIGY3IGQ4IDY0IDg5IDAxIDQ4Cjw0PlsgICAgOS40MjcwODJdIFJTUDogMDAyYjowMDAwN2Zm ZGYzNDQ3N2I4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAxMzkKPDQ+ WyAgICA5LjQyNzA5MV0gUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDU1NTlmZDVkN2I0 MCBSQ1g6IDAwMDA3ZjczZDU2MDk4MzkKPDQ+WyAgICA5LjQyNzA5OV0gUkRYOiAwMDAwMDAwMDAw MDAwMDAwIFJTSTogMDAwMDdmNzNkNTJlODE0NSBSREk6IDAwMDAwMDAwMDAwMDAwMGYKPDQ+WyAg ICA5LjQyNzEwNl0gUkJQOiAwMDAwN2Y3M2Q1MmU4MTQ1IFIwODogMDAwMDAwMDAwMDAwMDAwMCBS MDk6IDAwMDA3ZmZkZjM0NDc4ZDAKPDQ+WyAgICA5LjQyNzExNF0gUjEwOiAwMDAwMDAwMDAwMDAw MDBmIFIxMTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDAwMDAwMDAwMDAwMDAKPDQ+WyAgICA5 LjQyNzEyMV0gUjEzOiAwMDAwNTU1OWZkNWM5MGYwIFIxNDogMDAwMDAwMDAwMDAyMDAwMCBSMTU6 IDAwMDA1NTU5ZmQ1ZDdiNDAKPDQ+WyAgICA5LjQyNzEzMV0gTW9kdWxlcyBsaW5rZWQgaW46IGk5 MTUoKykgbWVpX2hkY3AgeDg2X3BrZ190ZW1wX3RoZXJtYWwgY29yZXRlbXAgc25kX2hkYV9pbnRl bCBjcmN0MTBkaWZfcGNsbXVsIGNyYzMyX3BjbG11bCBzbmRfaGRhX2NvZGVjIHNuZF9od2RlcCBl MTAwMGUgc25kX2hkYV9jb3JlIGdoYXNoX2NsbXVsbmlfaW50ZWwgcHRwIHNuZF9wY20gY2RjX2V0 aGVyIHVzYm5ldCBtaWkgcHBzX2NvcmUgbWVpX21lIG1laSBwcmltZV9udW1iZXJzIGJ0dXNiIGJ0 cnRsIGJ0YmNtIGJ0aW50ZWwgYmx1ZXRvb3RoIGVjZGhfZ2VuZXJpYyBlY2MKPDQ+WyAgICA5LjQy NzI1NF0gLS0tWyBlbmQgdHJhY2UgYWYzZWViNTQzYmQ2NmU2NiBdLS0tCgpbMV0gaHR0cDovL3Bh dGNod29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvbXNnaWQvMjAxOTA1MjgyMDA2NTUuMTE2MDUt MS1jaHJpc0BjaHJpcy13aWxzb24uY28udWsKClJlZmVyZW5jZXM6IGh0dHBzOi8vaW50ZWwtZ2Z4 LWNpLjAxLm9yZy90cmVlL2RybS10aXAvQ0lfRFJNXzYxNTkvZmktaWNsLXUyL3BzdG9yZTAtMTUx NzE1NTA5OF9Pb3BzXzEubG9nClJlZmVyZW5jZXM6IDFlNDBkNGFlYTU3YiAoImRybS9pOTE1L2Nu bDogSW1wbGVtZW50IFdhUHJvZ3JhbU1nc3JGb3JDb3JyZWN0U2xpY2VTcGVjaWZpY01taW9SZWFk cyIpCkZpeGVzOiAxYWMxNTllMjNjMmMgKCJkcm0vaTkxNTogRXhwYW5kIHN1YnNsaWNlIG1hc2si KQpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBEYW5pZWxl IENlcmFvbG8gU3B1cmlvIDxkYW5pZWxlLmNlcmFvbG9zcHVyaW9AaW50ZWwuY29tPgpDYzogSm9v bmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgpDYzogTGlvbmVs IExhbmR3ZXJsaW4gPGxpb25lbC5nLmxhbmR3ZXJsaW5AaW50ZWwuY29tPgpDYzogTWFuYXNpIE5h dmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KQ2M6IE1pY2hlbCBUaGllcnJ5IDxtaWNo ZWwudGhpZXJyeUBpbnRlbC5jb20+CkNjOiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGxp bnV4LmludGVsLmNvbT4KQ2M6IE9zY2FyIE1hdGVvIDxvc2Nhci5tYXRlb0BpbnRlbC5jb20+CkNj OiBTdHVhcnQgU3VtbWVycyA8c3R1YXJ0LnN1bW1lcnNAaW50ZWwuY29tPgpDYzogVHZydGtvIFVy c3VsaW4gPHR2cnRrby51cnN1bGluQGxpbnV4LmludGVsLmNvbT4KQ2M6IFl1bndlaSBaaGFuZyA8 eXVud2VpLnpoYW5nQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGphbmku bmlrdWxhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdp bmVfY3MuYyAgICB8ICAyNCArLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdp bmVfdHlwZXMuaCB8ICAzMCArKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfaGFu Z2NoZWNrLmMgICAgfCAgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3NzZXUu YyAgICAgICAgIHwgIDQ3ICstLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Nz ZXUuaCAgICAgICAgIHwgIDI3ICstLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3dv cmthcm91bmRzLmMgIHwgICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMu YyAgICAgICAgICB8ICA0MCArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMg ICAgICAgICAgICAgIHwgICA2ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJv ci5jICAgICAgICB8ICAgNSArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9xdWVyeS5jICAg ICAgICAgICAgfCAgMTAgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZv LmMgICAgIHwgMTIyICsrKysrKysrKystLS0tLS0tLS0KIDExIGZpbGVzIGNoYW5nZWQsIDExNiBp bnNlcnRpb25zKCspLCAyMDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF9lbmdpbmVfY3MuYwppbmRleCAxNTg3MjJiNTA2OTEuLjZiODM4OTQ4YmEyNCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMKQEAgLTk1MywzMCArOTUzLDEy IEBAIGNvbnN0IGNoYXIgKmk5MTVfY2FjaGVfbGV2ZWxfc3RyKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1LCBpbnQgdHlwZSkKIAl9CiB9CiAKLXN0YXRpYyBpbmxpbmUgdTMyCi1pbnRlbF9z c2V1X2Zsc19zdWJzbGljZShjb25zdCBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSwgdTMyIHNs aWNlKQotewotCXUzMiBzdWJzbGljZTsKLQlpbnQgaTsKLQotCWZvciAoaSA9IHNzZXUtPnNzX3N0 cmlkZSAtIDE7IGkgPj0gMDsgaS0tKSB7Ci0JCXN1YnNsaWNlID0gZmxzKHNzZXUtPnN1YnNsaWNl X21hc2tbc2xpY2UgKiBzc2V1LT5zc19zdHJpZGUgKwotCQkJCQkJICAgaV0pOwotCQlpZiAoc3Vi c2xpY2UpIHsKLQkJCXN1YnNsaWNlICs9IGkgKiBCSVRTX1BFUl9CWVRFOwotCQkJYnJlYWs7Ci0J CX0KLQl9Ci0KLQlyZXR1cm4gc3Vic2xpY2U7Ci19Ci0KIHUzMiBpbnRlbF9jYWxjdWxhdGVfbWNy X3Nfc3Nfc2VsZWN0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAljb25z dCBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSA9ICZSVU5USU1FX0lORk8oZGV2X3ByaXYpLT5z c2V1OwogCXUzMiBtY3Jfc19zc19zZWxlY3Q7CiAJdTMyIHNsaWNlID0gZmxzKHNzZXUtPnNsaWNl X21hc2spOwotCXUzMiBzdWJzbGljZSA9IGludGVsX3NzZXVfZmxzX3N1YnNsaWNlKHNzZXUsIHNs aWNlKTsKKwl1MzIgc3Vic2xpY2UgPSBmbHMoc3NldS0+c3Vic2xpY2VfbWFza1tzbGljZV0pOwog CiAJaWYgKElTX0dFTihkZXZfcHJpdiwgMTApKQogCQltY3Jfc19zc19zZWxlY3QgPSBHRU44X01D Ul9TTElDRShzbGljZSkgfApAQCAtMTA1Miw3ICsxMDM0LDYgQEAgdm9pZCBpbnRlbF9lbmdpbmVf Z2V0X2luc3Rkb25lKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkJCSAgICAgICBz dHJ1Y3QgaW50ZWxfaW5zdGRvbmUgKmluc3Rkb25lKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGVuZ2luZS0+aTkxNTsKLQljb25zdCBzdHJ1Y3Qgc3NldV9kZXZfaW5m byAqc3NldSA9ICZSVU5USU1FX0lORk8oZGV2X3ByaXYpLT5zc2V1OwogCXN0cnVjdCBpbnRlbF91 bmNvcmUgKnVuY29yZSA9IGVuZ2luZS0+dW5jb3JlOwogCXUzMiBtbWlvX2Jhc2UgPSBlbmdpbmUt Pm1taW9fYmFzZTsKIAlpbnQgc2xpY2U7CkBAIC0xMDcwLDggKzEwNTEsNyBAQCB2b2lkIGludGVs X2VuZ2luZV9nZXRfaW5zdGRvbmUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAogCiAJ CWluc3Rkb25lLT5zbGljZV9jb21tb24gPQogCQkJaW50ZWxfdW5jb3JlX3JlYWQodW5jb3JlLCBH RU43X1NDX0lOU1RET05FKTsKLQkJZm9yX2VhY2hfaW5zdGRvbmVfc2xpY2Vfc3Vic2xpY2UoZGV2 X3ByaXYsIHNzZXUsIHNsaWNlLAotCQkJCQkJIHN1YnNsaWNlKSB7CisJCWZvcl9lYWNoX2luc3Rk b25lX3NsaWNlX3N1YnNsaWNlKGRldl9wcml2LCBzbGljZSwgc3Vic2xpY2UpIHsKIAkJCWluc3Rk b25lLT5zYW1wbGVyW3NsaWNlXVtzdWJzbGljZV0gPQogCQkJCXJlYWRfc3Vic2xpY2VfcmVnKGRl dl9wcml2LCBzbGljZSwgc3Vic2xpY2UsCiAJCQkJCQkgIEdFTjdfU0FNUExFUl9JTlNURE9ORSk7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdHlwZXMu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5oCmluZGV4IDRm MzExY2VlYWI4OS4uMDEyMjM4NjQyMzdhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9lbmdpbmVfdHlwZXMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF9lbmdpbmVfdHlwZXMuaApAQCAtNTUyLDIwICs1NTIsMjAgQEAgaW50ZWxfZW5naW5lX2lz X3ZpcnR1YWwoY29uc3Qgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCXJldHVybiBl bmdpbmUtPmZsYWdzICYgSTkxNV9FTkdJTkVfSVNfVklSVFVBTDsKIH0KIAotI2RlZmluZSBpbnN0 ZG9uZV9oYXNfc2xpY2UoZGV2X3ByaXZfX18sIHNzZXVfX18sIHNsaWNlX19fKSBcCi0JKChJU19H RU4oZGV2X3ByaXZfX18sIDcpID8gMSA6ICgoc3NldV9fXyktPnNsaWNlX21hc2spKSAmIFwKLQlC SVQoc2xpY2VfX18pKQotCi0jZGVmaW5lIGluc3Rkb25lX2hhc19zdWJzbGljZShkZXZfcHJpdl9f LCBzc2V1X18sIHNsaWNlX18sIHN1YnNsaWNlX18pIFwKLQkoSVNfR0VOKGRldl9wcml2X18sIDcp ID8gKDEgJiBCSVQoc3Vic2xpY2VfXykpIDogXAotCSBpbnRlbF9zc2V1X2hhc19zdWJzbGljZShz c2V1X18sIHNsaWNlX18sIHN1YnNsaWNlX18pKQotCi0jZGVmaW5lIGZvcl9lYWNoX2luc3Rkb25l X3NsaWNlX3N1YnNsaWNlKGRldl9wcml2Xywgc3NldV8sIHNsaWNlXywgc3Vic2xpY2VfKSBcCi0J Zm9yICgoc2xpY2VfKSA9IDAsIChzdWJzbGljZV8pID0gMDsgKHNsaWNlXykgPCBJOTE1X01BWF9T TElDRVM7IFwKLQkgICAgIChzdWJzbGljZV8pID0gKChzdWJzbGljZV8pICsgMSkgJSBJOTE1X01B WF9TVUJTTElDRVMsIFwKLQkgICAgIChzbGljZV8pICs9ICgoc3Vic2xpY2VfKSA9PSAwKSkgXAot CQlmb3JfZWFjaF9pZigoaW5zdGRvbmVfaGFzX3NsaWNlKGRldl9wcml2Xywgc3NldV8sIHNsaWNl XykpICYmIFwKLQkJCSAgICAoaW5zdGRvbmVfaGFzX3N1YnNsaWNlKGRldl9wcml2Xywgc3NldV8s IHNsaWNlXywgXAotCQkJCQkJICAgIHN1YnNsaWNlXykpKQorI2RlZmluZSBpbnN0ZG9uZV9zbGlj ZV9tYXNrKGRldl9wcml2X18pIFwKKwkoSVNfR0VOKGRldl9wcml2X18sIDcpID8gXAorCSAxIDog UlVOVElNRV9JTkZPKGRldl9wcml2X18pLT5zc2V1LnNsaWNlX21hc2spCisKKyNkZWZpbmUgaW5z dGRvbmVfc3Vic2xpY2VfbWFzayhkZXZfcHJpdl9fKSBcCisJKElTX0dFTihkZXZfcHJpdl9fLCA3 KSA/IFwKKwkgMSA6IFJVTlRJTUVfSU5GTyhkZXZfcHJpdl9fKS0+c3NldS5zdWJzbGljZV9tYXNr WzBdKQorCisjZGVmaW5lIGZvcl9lYWNoX2luc3Rkb25lX3NsaWNlX3N1YnNsaWNlKGRldl9wcml2 X18sIHNsaWNlX18sIHN1YnNsaWNlX18pIFwKKwlmb3IgKChzbGljZV9fKSA9IDAsIChzdWJzbGlj ZV9fKSA9IDA7IFwKKwkgICAgIChzbGljZV9fKSA8IEk5MTVfTUFYX1NMSUNFUzsgXAorCSAgICAg KHN1YnNsaWNlX18pID0gKChzdWJzbGljZV9fKSArIDEpIDwgSTkxNV9NQVhfU1VCU0xJQ0VTID8g KHN1YnNsaWNlX18pICsgMSA6IDAsIFwKKwkgICAgICAgKHNsaWNlX18pICs9ICgoc3Vic2xpY2Vf XykgPT0gMCkpIFwKKwkJZm9yX2VhY2hfaWYoKEJJVChzbGljZV9fKSAmIGluc3Rkb25lX3NsaWNl X21hc2soZGV2X3ByaXZfXykpICYmIFwKKwkJCSAgICAoQklUKHN1YnNsaWNlX18pICYgaW5zdGRv bmVfc3Vic2xpY2VfbWFzayhkZXZfcHJpdl9fKSkpCiAKICNlbmRpZiAvKiBfX0lOVEVMX0VOR0lO RV9UWVBFU19IX18gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVs X2hhbmdjaGVjay5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfaGFuZ2NoZWNrLmMK aW5kZXggYjE5Y2Q0Y2RjYjVjLi4zYTRkMDliODBmYTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX2hhbmdjaGVjay5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX2hhbmdjaGVjay5jCkBAIC01MSw3ICs1MSw2IEBAIHN0YXRpYyBib29sIGluc3Rk b25lX3VuY2hhbmdlZCh1MzIgY3VycmVudF9pbnN0ZG9uZSwgdTMyICpvbGRfaW5zdGRvbmUpCiBz dGF0aWMgYm9vbCBzdWJ1bml0c19zdHVjayhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp CiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZW5naW5lLT5pOTE1Owot CWNvbnN0IHN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1ID0gJlJVTlRJTUVfSU5GTyhkZXZfcHJp diktPnNzZXU7CiAJc3RydWN0IGludGVsX2luc3Rkb25lIGluc3Rkb25lOwogCXN0cnVjdCBpbnRl bF9pbnN0ZG9uZSAqYWNjdV9pbnN0ZG9uZSA9ICZlbmdpbmUtPmhhbmdjaGVjay5pbnN0ZG9uZTsK IAlib29sIHN0dWNrOwpAQCAtNzMsNyArNzIsNyBAQCBzdGF0aWMgYm9vbCBzdWJ1bml0c19zdHVj ayhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJc3R1Y2sgJj0gaW5zdGRvbmVfdW5j aGFuZ2VkKGluc3Rkb25lLnNsaWNlX2NvbW1vbiwKIAkJCQkgICAgJmFjY3VfaW5zdGRvbmUtPnNs aWNlX2NvbW1vbik7CiAKLQlmb3JfZWFjaF9pbnN0ZG9uZV9zbGljZV9zdWJzbGljZShkZXZfcHJp diwgc3NldSwgc2xpY2UsIHN1YnNsaWNlKSB7CisJZm9yX2VhY2hfaW5zdGRvbmVfc2xpY2Vfc3Vi c2xpY2UoZGV2X3ByaXYsIHNsaWNlLCBzdWJzbGljZSkgewogCQlzdHVjayAmPSBpbnN0ZG9uZV91 bmNoYW5nZWQoaW5zdGRvbmUuc2FtcGxlcltzbGljZV1bc3Vic2xpY2VdLAogCQkJCQkgICAgJmFj Y3VfaW5zdGRvbmUtPnNhbXBsZXJbc2xpY2VdW3N1YnNsaWNlXSk7CiAJCXN0dWNrICY9IGluc3Rk b25lX3VuY2hhbmdlZChpbnN0ZG9uZS5yb3dbc2xpY2VdW3N1YnNsaWNlXSwKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3NzZXUuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX3NzZXUuYwppbmRleCA3NjNiODExZjJjOWQuLmEwNzU2ZjAwNmY1ZiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfc3NldS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3NzZXUuYwpAQCAtOCwxNyArOCw2IEBACiAjaW5jbHVk ZSAiaW50ZWxfbHJjX3JlZy5oIgogI2luY2x1ZGUgImludGVsX3NzZXUuaCIKIAotdm9pZCBpbnRl bF9zc2V1X3NldF9pbmZvKHN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1LCB1OCBtYXhfc2xpY2Vz LAotCQkJIHU4IG1heF9zdWJzbGljZXMsIHU4IG1heF9ldXNfcGVyX3N1YnNsaWNlKQotewotCXNz ZXUtPm1heF9zbGljZXMgPSBtYXhfc2xpY2VzOwotCXNzZXUtPm1heF9zdWJzbGljZXMgPSBtYXhf c3Vic2xpY2VzOwotCXNzZXUtPm1heF9ldXNfcGVyX3N1YnNsaWNlID0gbWF4X2V1c19wZXJfc3Vi c2xpY2U7Ci0KLQlzc2V1LT5zc19zdHJpZGUgPSBHRU5fU1NFVV9TVFJJREUoc3NldS0+bWF4X3N1 YnNsaWNlcyk7Ci0Jc3NldS0+ZXVfc3RyaWRlID0gR0VOX1NTRVVfU1RSSURFKHNzZXUtPm1heF9l dXNfcGVyX3N1YnNsaWNlKTsKLX0KLQogdW5zaWduZWQgaW50CiBpbnRlbF9zc2V1X3N1YnNsaWNl X3RvdGFsKGNvbnN0IHN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1KQogewpAQCAtMzAsNDQgKzE5 LDEwIEBAIGludGVsX3NzZXVfc3Vic2xpY2VfdG90YWwoY29uc3Qgc3RydWN0IHNzZXVfZGV2X2lu Zm8gKnNzZXUpCiAJcmV0dXJuIHRvdGFsOwogfQogCi12b2lkIGludGVsX3NzZXVfY29weV9zdWJz bGljZXMoY29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8gKnNzZXUsIGludCBzbGljZSwKLQkJCSAg ICAgICB1OCAqdG9fbWFzaykKLXsKLQlpbnQgb2Zmc2V0ID0gc2xpY2UgKiBzc2V1LT5zc19zdHJp ZGU7Ci0KLQltZW1jcHkoJnRvX21hc2tbb2Zmc2V0XSwgJnNzZXUtPnN1YnNsaWNlX21hc2tbb2Zm c2V0XSwgc3NldS0+c3Nfc3RyaWRlKTsKLX0KLQotdTMyIGludGVsX3NzZXVfZ2V0X3N1YnNsaWNl cyhjb25zdCBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSwgdTggc2xpY2UpCi17Ci0JaW50IGks IG9mZnNldCA9IHNsaWNlICogc3NldS0+c3Nfc3RyaWRlOwotCXUzMiBtYXNrOwotCi0JR0VNX0JV R19PTihzbGljZSA+PSBzc2V1LT5tYXhfc2xpY2VzKTsKLQotCUdFTV9CVUdfT04oc3NldS0+c3Nf c3RyaWRlID4gc2l6ZW9mKG1hc2spKTsKLQotCWZvciAoaSA9IDA7IGkgPCBzc2V1LT5zc19zdHJp ZGU7IGkrKykKLQkJbWFzayB8PSAodTMyKXNzZXUtPnN1YnNsaWNlX21hc2tbb2Zmc2V0ICsgaV0g PDwKLQkJCWkgKiBCSVRTX1BFUl9CWVRFOwotCi0JcmV0dXJuIG1hc2s7Ci19Ci0KLXZvaWQgaW50 ZWxfc3NldV9zZXRfc3Vic2xpY2VzKHN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1LCBpbnQgc2xp Y2UsCi0JCQkgICAgICB1MzIgc3NfbWFzaykKLXsKLQlpbnQgaSwgb2Zmc2V0ID0gc2xpY2UgKiBz c2V1LT5zc19zdHJpZGU7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgc3NldS0+c3Nfc3RyaWRlOyBpKysp Ci0JCXNzZXUtPnN1YnNsaWNlX21hc2tbb2Zmc2V0ICsgaV0gPQotCQkJKHNzX21hc2sgPj4gKEJJ VFNfUEVSX0JZVEUgKiBpKSkgJiAweGZmOwotfQotCiB1bnNpZ25lZCBpbnQKIGludGVsX3NzZXVf c3Vic2xpY2VzX3Blcl9zbGljZShjb25zdCBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSwgdTgg c2xpY2UpCiB7Ci0JcmV0dXJuIGh3ZWlnaHQzMihpbnRlbF9zc2V1X2dldF9zdWJzbGljZXMoc3Nl dSwgc2xpY2UpKTsKKwlyZXR1cm4gaHdlaWdodDgoc3NldS0+c3Vic2xpY2VfbWFza1tzbGljZV0p OwogfQogCiB1MzIgaW50ZWxfc3NldV9tYWtlX3JwY3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9zc2V1Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9zc2V1LmgKaW5kZXggZWVlMjFkOWYzMjBl Li5iNTBkMDQwMWE0ZTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVs X3NzZXUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9zc2V1LmgKQEAgLTE1 LDExICsxNSwxMCBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZTsKICNkZWZpbmUgR0VOX01BWF9T TElDRVMJCSg2KSAvKiBDTkwgdXBwZXIgYm91bmQgKi8KICNkZWZpbmUgR0VOX01BWF9TVUJTTElD RVMJKDgpIC8qIElDTCB1cHBlciBib3VuZCAqLwogI2RlZmluZSBHRU5fU1NFVV9TVFJJREUobWF4 X2VudHJpZXMpIERJVl9ST1VORF9VUChtYXhfZW50cmllcywgQklUU19QRVJfQllURSkKLSNkZWZp bmUgR0VOX01BWF9TVUJTTElDRV9TVFJJREUgR0VOX1NTRVVfU1RSSURFKEdFTl9NQVhfU1VCU0xJ Q0VTKQogCiBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyB7CiAJdTggc2xpY2VfbWFzazsKLQl1OCBzdWJz bGljZV9tYXNrW0dFTl9NQVhfU0xJQ0VTICogR0VOX01BWF9TVUJTTElDRV9TVFJJREVdOworCXU4 IHN1YnNsaWNlX21hc2tbR0VOX01BWF9TTElDRVNdOwogCXUxNiBldV90b3RhbDsKIAl1OCBldV9w ZXJfc3Vic2xpY2U7CiAJdTggbWluX2V1X2luX3Bvb2w7CkBAIC0zNCw5ICszMyw2IEBAIHN0cnVj dCBzc2V1X2Rldl9pbmZvIHsKIAl1OCBtYXhfc3Vic2xpY2VzOwogCXU4IG1heF9ldXNfcGVyX3N1 YnNsaWNlOwogCi0JdTggc3Nfc3RyaWRlOwotCXU4IGV1X3N0cmlkZTsKLQogCS8qIFdlIGRvbid0 IGhhdmUgbW9yZSB0aGFuIDggZXVzIHBlciBzdWJzbGljZSBhdCB0aGUgbW9tZW50IGFuZCBhcyB3 ZQogCSAqIHN0b3JlIGV1cyBlbmFibGVkIHVzaW5nIGJpdHMsIG5vIG5lZWQgdG8gbXVsdGlwbHkg YnkgZXVzIHBlcgogCSAqIHN1YnNsaWNlLgpAQCAtNjcsMzMgKzYzLDEyIEBAIGludGVsX3NzZXVf ZnJvbV9kZXZpY2VfaW5mbyhjb25zdCBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSkKIAlyZXR1 cm4gdmFsdWU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbAotaW50ZWxfc3NldV9oYXNfc3Vic2xp Y2UoY29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8gKnNzZXUsIGludCBzbGljZSwKLQkJCWludCBz dWJzbGljZSkKLXsKLQl1OCBtYXNrID0gc3NldS0+c3Vic2xpY2VfbWFza1tzbGljZSAqIHNzZXUt PnNzX3N0cmlkZSArCi0JCQkJICAgICAgc3Vic2xpY2UgLyBCSVRTX1BFUl9CWVRFXTsKLQotCXJl dHVybiBtYXNrICYgQklUKHN1YnNsaWNlICUgQklUU19QRVJfQllURSk7Ci19Ci0KLXZvaWQgaW50 ZWxfc3NldV9zZXRfaW5mbyhzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSwgdTggbWF4X3NsaWNl cywKLQkJCSB1OCBtYXhfc3Vic2xpY2VzLCB1OCBtYXhfZXVzX3Blcl9zdWJzbGljZSk7Ci0KIHVu c2lnbmVkIGludAogaW50ZWxfc3NldV9zdWJzbGljZV90b3RhbChjb25zdCBzdHJ1Y3Qgc3NldV9k ZXZfaW5mbyAqc3NldSk7CiAKIHVuc2lnbmVkIGludAogaW50ZWxfc3NldV9zdWJzbGljZXNfcGVy X3NsaWNlKGNvbnN0IHN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1LCB1OCBzbGljZSk7CiAKLXZv aWQgaW50ZWxfc3NldV9jb3B5X3N1YnNsaWNlcyhjb25zdCBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAq c3NldSwgaW50IHNsaWNlLAotCQkJICAgICAgIHU4ICp0b19tYXNrKTsKLQotdTMyICBpbnRlbF9z c2V1X2dldF9zdWJzbGljZXMoY29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8gKnNzZXUsIHU4IHNs aWNlKTsKLQotdm9pZCBpbnRlbF9zc2V1X3NldF9zdWJzbGljZXMoc3RydWN0IHNzZXVfZGV2X2lu Zm8gKnNzZXUsIGludCBzbGljZSwKLQkJCSAgICAgIHUzMiBzc19tYXNrKTsKLQogdTMyIGludGVs X3NzZXVfbWFrZV9ycGNzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCQkJIGNvbnN0 IHN0cnVjdCBpbnRlbF9zc2V1ICpyZXFfc3NldSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX3dvcmthcm91bmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9pbnRlbF93b3JrYXJvdW5kcy5jCmluZGV4IGZiYzg1MzA4NTgwOS4uMTMzZDA2OTI0NGY0IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF93b3JrYXJvdW5kcy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3dvcmthcm91bmRzLmMKQEAgLTc4NCw3 ICs3ODQsNyBAQCB3YV9pbml0X21jcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgc3Ry dWN0IGk5MTVfd2FfbGlzdCAqd2FsKQogCQl1MzIgc2xpY2UgPSBmbHMoc3NldS0+c2xpY2VfbWFz ayk7CiAJCXUzMiBmdXNlMyA9CiAJCQlpbnRlbF91bmNvcmVfcmVhZCgmaTkxNS0+dW5jb3JlLCBH RU4xMF9NSVJST1JfRlVTRTMpOwotCQl1MzIgc3NfbWFzayA9IGludGVsX3NzZXVfZ2V0X3N1YnNs aWNlcyhzc2V1LCBzbGljZSk7CisJCXU4IHNzX21hc2sgPSBzc2V1LT5zdWJzbGljZV9tYXNrW3Ns aWNlXTsKIAogCQl1OCBlbmFibGVkX21hc2sgPSAoc3NfbWFzayB8IHNzX21hc2sgPj4KIAkJCQkg ICBHRU4xMF9MM0JBTktfUEFJUl9DT1VOVCkgJiBHRU4xMF9MM0JBTktfTUFTSzsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXggZTQxNWQ3ZWY5MGYyLi43NGFmZGVmZjIyNDUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC0xMjcxLDcgKzEyNzEsNiBAQCBzdGF0 aWMgdm9pZCBpOTE1X2luc3Rkb25lX2luZm8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogCQkJICAgICAgIHN0cnVjdCBzZXFfZmlsZSAqbSwKIAkJCSAgICAgICBzdHJ1Y3QgaW50 ZWxfaW5zdGRvbmUgKmluc3Rkb25lKQogewotCXN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1ID0g JlJVTlRJTUVfSU5GTyhkZXZfcHJpdiktPnNzZXU7CiAJaW50IHNsaWNlOwogCWludCBzdWJzbGlj ZTsKIApAQCAtMTI4NywxMSArMTI4NiwxMSBAQCBzdGF0aWMgdm9pZCBpOTE1X2luc3Rkb25lX2lu Zm8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCWlmIChJTlRFTF9HRU4oZGV2 X3ByaXYpIDw9IDYpCiAJCXJldHVybjsKIAotCWZvcl9lYWNoX2luc3Rkb25lX3NsaWNlX3N1YnNs aWNlKGRldl9wcml2LCBzc2V1LCBzbGljZSwgc3Vic2xpY2UpCisJZm9yX2VhY2hfaW5zdGRvbmVf c2xpY2Vfc3Vic2xpY2UoZGV2X3ByaXYsIHNsaWNlLCBzdWJzbGljZSkKIAkJc2VxX3ByaW50Ziht LCAiXHRcdFNBTVBMRVJfSU5TVERPTkVbJWRdWyVkXTogMHglMDh4XG4iLAogCQkJICAgc2xpY2Us IHN1YnNsaWNlLCBpbnN0ZG9uZS0+c2FtcGxlcltzbGljZV1bc3Vic2xpY2VdKTsKIAotCWZvcl9l YWNoX2luc3Rkb25lX3NsaWNlX3N1YnNsaWNlKGRldl9wcml2LCBzc2V1LCBzbGljZSwgc3Vic2xp Y2UpCisJZm9yX2VhY2hfaW5zdGRvbmVfc2xpY2Vfc3Vic2xpY2UoZGV2X3ByaXYsIHNsaWNlLCBz dWJzbGljZSkKIAkJc2VxX3ByaW50ZihtLCAiXHRcdFJPV19JTlNURE9ORVslZF1bJWRdOiAweCUw OHhcbiIsCiAJCQkgICBzbGljZSwgc3Vic2xpY2UsIGluc3Rkb25lLT5yb3dbc2xpY2VdW3N1YnNs aWNlXSk7CiB9CkBAIC00MDg1LDcgKzQwODQsNyBAQCBzdGF0aWMgdm9pZCBnZW4xMF9zc2V1X2Rl dmljZV9zdGF0dXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJY29udGlu dWU7CiAKIAkJc3NldS0+c2xpY2VfbWFzayB8PSBCSVQocyk7Ci0JCWludGVsX3NzZXVfY29weV9z dWJzbGljZXMoJmluZm8tPnNzZXUsIHMsIHNzZXUtPnN1YnNsaWNlX21hc2spOworCQlzc2V1LT5z dWJzbGljZV9tYXNrW3NdID0gaW5mby0+c3NldS5zdWJzbGljZV9tYXNrW3NdOwogCiAJCWZvciAo c3MgPSAwOyBzcyA8IGluZm8tPnNzZXUubWF4X3N1YnNsaWNlczsgc3MrKykgewogCQkJdW5zaWdu ZWQgaW50IGV1X2NudDsKQEAgLTQxMzYsMjEgKzQxMzUsMTggQEAgc3RhdGljIHZvaWQgZ2VuOV9z c2V1X2RldmljZV9zdGF0dXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQlz c2V1LT5zbGljZV9tYXNrIHw9IEJJVChzKTsKIAogCQlpZiAoSVNfR0VOOV9CQyhkZXZfcHJpdikp Ci0JCQlpbnRlbF9zc2V1X2NvcHlfc3Vic2xpY2VzKCZpbmZvLT5zc2V1LCBzLAotCQkJCQkJICBz c2V1LT5zdWJzbGljZV9tYXNrKTsKKwkJCXNzZXUtPnN1YnNsaWNlX21hc2tbc10gPQorCQkJCVJV TlRJTUVfSU5GTyhkZXZfcHJpdiktPnNzZXUuc3Vic2xpY2VfbWFza1tzXTsKIAogCQlmb3IgKHNz ID0gMDsgc3MgPCBpbmZvLT5zc2V1Lm1heF9zdWJzbGljZXM7IHNzKyspIHsKIAkJCXVuc2lnbmVk IGludCBldV9jbnQ7Ci0JCQl1OCBzc19pZHggPSBzICogaW5mby0+c3NldS5zc19zdHJpZGUgKwot CQkJCSAgICBzcyAvIEJJVFNfUEVSX0JZVEU7CiAKIAkJCWlmIChJU19HRU45X0xQKGRldl9wcml2 KSkgewogCQkJCWlmICghKHNfcmVnW3NdICYgKEdFTjlfUEdDVExfU1NfQUNLKHNzKSkpKQogCQkJ CQkvKiBza2lwIGRpc2FibGVkIHN1YnNsaWNlICovCiAJCQkJCWNvbnRpbnVlOwogCi0JCQkJc3Nl dS0+c3Vic2xpY2VfbWFza1tzc19pZHhdIHw9Ci0JCQkJCUJJVChzcyAlIEJJVFNfUEVSX0JZVEUp OworCQkJCXNzZXUtPnN1YnNsaWNlX21hc2tbc10gfD0gQklUKHNzKTsKIAkJCX0KIAogCQkJZXVf Y250ID0gMiAqIGh3ZWlnaHQzMihldV9yZWdbMipzICsgc3MvMl0gJgpAQCAtNDE2NywyMyArNDE2 MywyNSBAQCBzdGF0aWMgdm9pZCBnZW45X3NzZXVfZGV2aWNlX3N0YXR1cyhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiBzdGF0aWMgdm9pZCBicm9hZHdlbGxfc3NldV9kZXZpY2Vf c3RhdHVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkJIHN0cnVjdCBz c2V1X2Rldl9pbmZvICpzc2V1KQogewotCXN0cnVjdCBpbnRlbF9ydW50aW1lX2luZm8gKmluZm8g PSBSVU5USU1FX0lORk8oZGV2X3ByaXYpOwogCXUzMiBzbGljZV9pbmZvID0gSTkxNV9SRUFEKEdF TjhfR1RfU0xJQ0VfSU5GTyk7CiAJaW50IHM7CiAKIAlzc2V1LT5zbGljZV9tYXNrID0gc2xpY2Vf aW5mbyAmIEdFTjhfTFNMSUNFU1RBVF9NQVNLOwogCiAJaWYgKHNzZXUtPnNsaWNlX21hc2spIHsK LQkJc3NldS0+ZXVfcGVyX3N1YnNsaWNlID0gaW5mby0+c3NldS5ldV9wZXJfc3Vic2xpY2U7Ci0J CWZvciAocyA9IDA7IHMgPCBmbHMoc3NldS0+c2xpY2VfbWFzayk7IHMrKykKLQkJCWludGVsX3Nz ZXVfY29weV9zdWJzbGljZXMoJmluZm8tPnNzZXUsIHMsCi0JCQkJCQkgIHNzZXUtPnN1YnNsaWNl X21hc2spOworCQlzc2V1LT5ldV9wZXJfc3Vic2xpY2UgPQorCQkJUlVOVElNRV9JTkZPKGRldl9w cml2KS0+c3NldS5ldV9wZXJfc3Vic2xpY2U7CisJCWZvciAocyA9IDA7IHMgPCBmbHMoc3NldS0+ c2xpY2VfbWFzayk7IHMrKykgeworCQkJc3NldS0+c3Vic2xpY2VfbWFza1tzXSA9CisJCQkJUlVO VElNRV9JTkZPKGRldl9wcml2KS0+c3NldS5zdWJzbGljZV9tYXNrW3NdOworCQl9CiAJCXNzZXUt PmV1X3RvdGFsID0gc3NldS0+ZXVfcGVyX3N1YnNsaWNlICoKIAkJCQkgaW50ZWxfc3NldV9zdWJz bGljZV90b3RhbChzc2V1KTsKIAogCQkvKiBzdWJ0cmFjdCBmdXNlZCBvZmYgRVUocykgZnJvbSBl bmFibGVkIHNsaWNlKHMpICovCiAJCWZvciAocyA9IDA7IHMgPCBmbHMoc3NldS0+c2xpY2VfbWFz ayk7IHMrKykgewotCQkJdTggc3Vic2xpY2VfN2V1ID0gaW5mby0+c3NldS5zdWJzbGljZV83ZXVb c107CisJCQl1OCBzdWJzbGljZV83ZXUgPQorCQkJCVJVTlRJTUVfSU5GTyhkZXZfcHJpdiktPnNz ZXUuc3Vic2xpY2VfN2V1W3NdOwogCiAJCQlzc2V1LT5ldV90b3RhbCAtPSBod2VpZ2h0OChzdWJz bGljZV83ZXUpOwogCQl9CkBAIC00MjMwLDcgKzQyMjgsNiBAQCBzdGF0aWMgdm9pZCBpOTE1X3By aW50X3NzZXVfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIGJvb2wgaXNfYXZhaWxhYmxlX2luZm8s CiBzdGF0aWMgaW50IGk5MTVfc3NldV9zdGF0dXMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1 bnVzZWQpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gbm9kZV90b19p OTE1KG0tPnByaXZhdGUpOwotCWNvbnN0IHN0cnVjdCBpbnRlbF9ydW50aW1lX2luZm8gKmluZm8g PSBSVU5USU1FX0lORk8oZGV2X3ByaXYpOwogCXN0cnVjdCBzc2V1X2Rldl9pbmZvIHNzZXU7CiAJ aW50ZWxfd2FrZXJlZl90IHdha2VyZWY7CiAKQEAgLTQyMzgsMTMgKzQyMzUsMTQgQEAgc3RhdGlj IGludCBpOTE1X3NzZXVfc3RhdHVzKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQog CQlyZXR1cm4gLUVOT0RFVjsKIAogCXNlcV9wdXRzKG0sICJTU0VVIERldmljZSBJbmZvXG4iKTsK LQlpOTE1X3ByaW50X3NzZXVfaW5mbyhtLCB0cnVlLCAmaW5mby0+c3NldSk7CisJaTkxNV9wcmlu dF9zc2V1X2luZm8obSwgdHJ1ZSwgJlJVTlRJTUVfSU5GTyhkZXZfcHJpdiktPnNzZXUpOwogCiAJ c2VxX3B1dHMobSwgIlNTRVUgRGV2aWNlIFN0YXR1c1xuIik7CiAJbWVtc2V0KCZzc2V1LCAwLCBz aXplb2Yoc3NldSkpOwotCWludGVsX3NzZXVfc2V0X2luZm8oJnNzZXUsIGluZm8tPnNzZXUubWF4 X3NsaWNlcywKLQkJCSAgICBpbmZvLT5zc2V1Lm1heF9zdWJzbGljZXMsCi0JCQkgICAgaW5mby0+ c3NldS5tYXhfZXVzX3Blcl9zdWJzbGljZSk7CisJc3NldS5tYXhfc2xpY2VzID0gUlVOVElNRV9J TkZPKGRldl9wcml2KS0+c3NldS5tYXhfc2xpY2VzOworCXNzZXUubWF4X3N1YnNsaWNlcyA9IFJV TlRJTUVfSU5GTyhkZXZfcHJpdiktPnNzZXUubWF4X3N1YnNsaWNlczsKKwlzc2V1Lm1heF9ldXNf cGVyX3N1YnNsaWNlID0KKwkJUlVOVElNRV9JTkZPKGRldl9wcml2KS0+c3NldS5tYXhfZXVzX3Bl cl9zdWJzbGljZTsKIAogCXdpdGhfaW50ZWxfcnVudGltZV9wbShkZXZfcHJpdiwgd2FrZXJlZikg ewogCQlpZiAoSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpp bmRleCA4NWU3Nzg4OWU2YTYuLjZhOGIzMWY2MzFhYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5j CkBAIC0zMzQsNyArMzM0LDcgQEAgc3RhdGljIGludCBpOTE1X2dldHBhcmFtX2lvY3RsKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJc3RydWN0IHBjaV9kZXYgKnBkZXYgPSBk ZXZfcHJpdi0+ZHJtLnBkZXY7CiAJY29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8gKnNzZXUgPSAm UlVOVElNRV9JTkZPKGRldl9wcml2KS0+c3NldTsKIAlkcm1faTkxNV9nZXRwYXJhbV90ICpwYXJh bSA9IGRhdGE7Ci0JaW50IHZhbHVlID0gMDsKKwlpbnQgdmFsdWU7CiAKIAlzd2l0Y2ggKHBhcmFt LT5wYXJhbSkgewogCWNhc2UgSTkxNV9QQVJBTV9JUlFfQUNUSVZFOgpAQCAtNDY0LDkgKzQ2NCw3 IEBAIHN0YXRpYyBpbnQgaTkxNV9nZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAogCQkJcmV0dXJuIC1FTk9ERVY7CiAJCWJyZWFrOwogCWNhc2UgSTkxNV9Q QVJBTV9TVUJTTElDRV9NQVNLOgotCQkvKiBPbmx5IGNvcHkgYml0cyBmcm9tIHRoZSBmaXJzdCBz bGljZSAqLwotCQltZW1jcHkoJnZhbHVlLCBzc2V1LT5zdWJzbGljZV9tYXNrLAotCQkgICAgICAg bWluKHNzZXUtPnNzX3N0cmlkZSwgKHU4KXNpemVvZih2YWx1ZSkpKTsKKwkJdmFsdWUgPSBzc2V1 LT5zdWJzbGljZV9tYXNrWzBdOwogCQlpZiAoIXZhbHVlKQogCQkJcmV0dXJuIC1FTk9ERVY7CiAJ CWJyZWFrOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3Iu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKaW5kZXggNGIyM2U5ZTRi YWU2Li43MDc4MTEyNTY1MDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z3B1X2Vycm9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwpA QCAtNDExLDcgKzQxMSw2IEBAIHN0YXRpYyB2b2lkIHByaW50X2Vycm9yX2J1ZmZlcnMoc3RydWN0 IGRybV9pOTE1X2Vycm9yX3N0YXRlX2J1ZiAqbSwKIHN0YXRpYyB2b2lkIGVycm9yX3ByaW50X2lu c3Rkb25lKHN0cnVjdCBkcm1faTkxNV9lcnJvcl9zdGF0ZV9idWYgKm0sCiAJCQkJIGNvbnN0IHN0 cnVjdCBkcm1faTkxNV9lcnJvcl9lbmdpbmUgKmVlKQogewotCXN0cnVjdCBzc2V1X2Rldl9pbmZv ICpzc2V1ID0gJlJVTlRJTUVfSU5GTyhtLT5pOTE1KS0+c3NldTsKIAlpbnQgc2xpY2U7CiAJaW50 IHN1YnNsaWNlOwogCkBAIC00MjcsMTIgKzQyNiwxMiBAQCBzdGF0aWMgdm9pZCBlcnJvcl9wcmlu dF9pbnN0ZG9uZShzdHJ1Y3QgZHJtX2k5MTVfZXJyb3Jfc3RhdGVfYnVmICptLAogCWlmIChJTlRF TF9HRU4obS0+aTkxNSkgPD0gNikKIAkJcmV0dXJuOwogCi0JZm9yX2VhY2hfaW5zdGRvbmVfc2xp Y2Vfc3Vic2xpY2UobS0+aTkxNSwgc3NldSwgc2xpY2UsIHN1YnNsaWNlKQorCWZvcl9lYWNoX2lu c3Rkb25lX3NsaWNlX3N1YnNsaWNlKG0tPmk5MTUsIHNsaWNlLCBzdWJzbGljZSkKIAkJZXJyX3By aW50ZihtLCAiICBTQU1QTEVSX0lOU1RET05FWyVkXVslZF06IDB4JTA4eFxuIiwKIAkJCSAgIHNs aWNlLCBzdWJzbGljZSwKIAkJCSAgIGVlLT5pbnN0ZG9uZS5zYW1wbGVyW3NsaWNlXVtzdWJzbGlj ZV0pOwogCi0JZm9yX2VhY2hfaW5zdGRvbmVfc2xpY2Vfc3Vic2xpY2UobS0+aTkxNSwgc3NldSwg c2xpY2UsIHN1YnNsaWNlKQorCWZvcl9lYWNoX2luc3Rkb25lX3NsaWNlX3N1YnNsaWNlKG0tPmk5 MTUsIHNsaWNlLCBzdWJzbGljZSkKIAkJZXJyX3ByaW50ZihtLCAiICBST1dfSU5TVERPTkVbJWRd WyVkXTogMHglMDh4XG4iLAogCQkJICAgc2xpY2UsIHN1YnNsaWNlLAogCQkJICAgZWUtPmluc3Rk b25lLnJvd1tzbGljZV1bc3Vic2xpY2VdKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcXVlcnkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcXVlcnkuYwppbmRl eCBhYzhhYzU5YzQ4NjAuLjdiNzAxNjE3MTA1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9xdWVyeS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcXVlcnku YwpAQCAtMzcsNiArMzcsOCBAQCBzdGF0aWMgaW50IHF1ZXJ5X3RvcG9sb2d5X2luZm8oc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCWNvbnN0IHN0cnVjdCBzc2V1X2Rldl9pbmZv ICpzc2V1ID0gJlJVTlRJTUVfSU5GTyhkZXZfcHJpdiktPnNzZXU7CiAJc3RydWN0IGRybV9pOTE1 X3F1ZXJ5X3RvcG9sb2d5X2luZm8gdG9wbzsKIAl1MzIgc2xpY2VfbGVuZ3RoLCBzdWJzbGljZV9s ZW5ndGgsIGV1X2xlbmd0aCwgdG90YWxfbGVuZ3RoOworCXU4IHN1YnNsaWNlX3N0cmlkZSA9IEdF Tl9TU0VVX1NUUklERShzc2V1LT5tYXhfc3Vic2xpY2VzKTsKKwl1OCBldV9zdHJpZGUgPSBHRU5f U1NFVV9TVFJJREUoc3NldS0+bWF4X2V1c19wZXJfc3Vic2xpY2UpOwogCWludCByZXQ7CiAKIAlp ZiAocXVlcnlfaXRlbS0+ZmxhZ3MgIT0gMCkKQEAgLTQ4LDggKzUwLDggQEAgc3RhdGljIGludCBx dWVyeV90b3BvbG9neV9pbmZvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlC VUlMRF9CVUdfT04oc2l6ZW9mKHU4KSAhPSBzaXplb2Yoc3NldS0+c2xpY2VfbWFzaykpOwogCiAJ c2xpY2VfbGVuZ3RoID0gc2l6ZW9mKHNzZXUtPnNsaWNlX21hc2spOwotCXN1YnNsaWNlX2xlbmd0 aCA9IHNzZXUtPm1heF9zbGljZXMgKiBzc2V1LT5zc19zdHJpZGU7Ci0JZXVfbGVuZ3RoID0gc3Nl dS0+bWF4X3NsaWNlcyAqIHNzZXUtPm1heF9zdWJzbGljZXMgKiBzc2V1LT5ldV9zdHJpZGU7CisJ c3Vic2xpY2VfbGVuZ3RoID0gc3NldS0+bWF4X3NsaWNlcyAqIHN1YnNsaWNlX3N0cmlkZTsKKwll dV9sZW5ndGggPSBzc2V1LT5tYXhfc2xpY2VzICogc3NldS0+bWF4X3N1YnNsaWNlcyAqIGV1X3N0 cmlkZTsKIAl0b3RhbF9sZW5ndGggPSBzaXplb2YodG9wbykgKyBzbGljZV9sZW5ndGggKyBzdWJz bGljZV9sZW5ndGggKwogCQkgICAgICAgZXVfbGVuZ3RoOwogCkBAIC02Nyw5ICs2OSw5IEBAIHN0 YXRpYyBpbnQgcXVlcnlfdG9wb2xvZ3lfaW5mbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCiAJdG9wby5tYXhfZXVzX3Blcl9zdWJzbGljZSA9IHNzZXUtPm1heF9ldXNfcGVyX3N1 YnNsaWNlOwogCiAJdG9wby5zdWJzbGljZV9vZmZzZXQgPSBzbGljZV9sZW5ndGg7Ci0JdG9wby5z dWJzbGljZV9zdHJpZGUgPSBzc2V1LT5zc19zdHJpZGU7CisJdG9wby5zdWJzbGljZV9zdHJpZGUg PSBzdWJzbGljZV9zdHJpZGU7CiAJdG9wby5ldV9vZmZzZXQgPSBzbGljZV9sZW5ndGggKyBzdWJz bGljZV9sZW5ndGg7Ci0JdG9wby5ldV9zdHJpZGUgPSBzc2V1LT5ldV9zdHJpZGU7CisJdG9wby5l dV9zdHJpZGUgPSBldV9zdHJpZGU7CiAKIAlpZiAoX19jb3B5X3RvX3VzZXIodTY0X3RvX3VzZXJf cHRyKHF1ZXJ5X2l0ZW0tPmRhdGFfcHRyKSwKIAkJCSAgICZ0b3BvLCBzaXplb2YodG9wbykpKQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMKaW5kZXggMzYyNWY3NzdmM2Ez Li45N2Y3NDI1MzBmYTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rl dmljZV9pbmZvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8u YwpAQCAtOTIsOSArOTIsOSBAQCBzdGF0aWMgdm9pZCBzc2V1X2R1bXAoY29uc3Qgc3RydWN0IHNz ZXVfZGV2X2luZm8gKnNzZXUsIHN0cnVjdCBkcm1fcHJpbnRlciAqcCkKIAkJICAgaHdlaWdodDgo c3NldS0+c2xpY2VfbWFzayksIHNzZXUtPnNsaWNlX21hc2spOwogCWRybV9wcmludGYocCwgInN1 YnNsaWNlIHRvdGFsOiAldVxuIiwgaW50ZWxfc3NldV9zdWJzbGljZV90b3RhbChzc2V1KSk7CiAJ Zm9yIChzID0gMDsgcyA8IHNzZXUtPm1heF9zbGljZXM7IHMrKykgewotCQlkcm1fcHJpbnRmKHAs ICJzbGljZSVkOiAldSBzdWJzbGljZXMsIG1hc2s9JTA4eFxuIiwKKwkJZHJtX3ByaW50ZihwLCAi c2xpY2UlZDogJXUgc3Vic2xpY2VzLCBtYXNrPSUwNHhcbiIsCiAJCQkgICBzLCBpbnRlbF9zc2V1 X3N1YnNsaWNlc19wZXJfc2xpY2Uoc3NldSwgcyksCi0JCQkgICBpbnRlbF9zc2V1X2dldF9zdWJz bGljZXMoc3NldSwgcykpOworCQkJICAgc3NldS0+c3Vic2xpY2VfbWFza1tzXSk7CiAJfQogCWRy bV9wcmludGYocCwgIkVVIHRvdGFsOiAldVxuIiwgc3NldS0+ZXVfdG90YWwpOwogCWRybV9wcmlu dGYocCwgIkVVIHBlciBzdWJzbGljZTogJXVcbiIsIHNzZXUtPmV1X3Blcl9zdWJzbGljZSk7CkBA IC0xMTcsOSArMTE3LDEwIEBAIHZvaWQgaW50ZWxfZGV2aWNlX2luZm9fZHVtcF9ydW50aW1lKGNv bnN0IHN0cnVjdCBpbnRlbF9ydW50aW1lX2luZm8gKmluZm8sCiBzdGF0aWMgaW50IHNzZXVfZXVf aWR4KGNvbnN0IHN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1LCBpbnQgc2xpY2UsCiAJCSAgICAg ICBpbnQgc3Vic2xpY2UpCiB7Ci0JaW50IHNsaWNlX3N0cmlkZSA9IHNzZXUtPm1heF9zdWJzbGlj ZXMgKiBzc2V1LT5ldV9zdHJpZGU7CisJaW50IHN1YnNsaWNlX3N0cmlkZSA9IEdFTl9TU0VVX1NU UklERShzc2V1LT5tYXhfZXVzX3Blcl9zdWJzbGljZSk7CisJaW50IHNsaWNlX3N0cmlkZSA9IHNz ZXUtPm1heF9zdWJzbGljZXMgKiBzdWJzbGljZV9zdHJpZGU7CiAKLQlyZXR1cm4gc2xpY2UgKiBz bGljZV9zdHJpZGUgKyBzdWJzbGljZSAqIHNzZXUtPmV1X3N0cmlkZTsKKwlyZXR1cm4gc2xpY2Ug KiBzbGljZV9zdHJpZGUgKyBzdWJzbGljZSAqIHN1YnNsaWNlX3N0cmlkZTsKIH0KIAogc3RhdGlj IHUxNiBzc2V1X2dldF9ldXMoY29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8gKnNzZXUsIGludCBz bGljZSwKQEAgLTEyOCw3ICsxMjksNyBAQCBzdGF0aWMgdTE2IHNzZXVfZ2V0X2V1cyhjb25zdCBz dHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSwgaW50IHNsaWNlLAogCWludCBpLCBvZmZzZXQgPSBz c2V1X2V1X2lkeChzc2V1LCBzbGljZSwgc3Vic2xpY2UpOwogCXUxNiBldV9tYXNrID0gMDsKIAot CWZvciAoaSA9IDA7IGkgPCBzc2V1LT5ldV9zdHJpZGU7IGkrKykgeworCWZvciAoaSA9IDA7IGkg PCBHRU5fU1NFVV9TVFJJREUoc3NldS0+bWF4X2V1c19wZXJfc3Vic2xpY2UpOyBpKyspIHsKIAkJ ZXVfbWFzayB8PSAoKHUxNilzc2V1LT5ldV9tYXNrW29mZnNldCArIGldKSA8PAogCQkJKGkgKiBC SVRTX1BFUl9CWVRFKTsKIAl9CkBAIC0xNDEsNyArMTQyLDcgQEAgc3RhdGljIHZvaWQgc3NldV9z ZXRfZXVzKHN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1LCBpbnQgc2xpY2UsIGludCBzdWJzbGlj ZSwKIHsKIAlpbnQgaSwgb2Zmc2V0ID0gc3NldV9ldV9pZHgoc3NldSwgc2xpY2UsIHN1YnNsaWNl KTsKIAotCWZvciAoaSA9IDA7IGkgPCBzc2V1LT5ldV9zdHJpZGU7IGkrKykgeworCWZvciAoaSA9 IDA7IGkgPCBHRU5fU1NFVV9TVFJJREUoc3NldS0+bWF4X2V1c19wZXJfc3Vic2xpY2UpOyBpKysp IHsKIAkJc3NldS0+ZXVfbWFza1tvZmZzZXQgKyBpXSA9CiAJCQkoZXVfbWFzayA+PiAoQklUU19Q RVJfQllURSAqIGkpKSAmIDB4ZmY7CiAJfQpAQCAtMTU4LDkgKzE1OSw5IEBAIHZvaWQgaW50ZWxf ZGV2aWNlX2luZm9fZHVtcF90b3BvbG9neShjb25zdCBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3Nl dSwKIAl9CiAKIAlmb3IgKHMgPSAwOyBzIDwgc3NldS0+bWF4X3NsaWNlczsgcysrKSB7Ci0JCWRy bV9wcmludGYocCwgInNsaWNlJWQ6ICV1IHN1YnNsaWNlKHMpICgweCUwOHgpOlxuIiwKKwkJZHJt X3ByaW50ZihwLCAic2xpY2UlZDogJXUgc3Vic2xpY2UocykgKDB4JWhoeCk6XG4iLAogCQkJICAg cywgaW50ZWxfc3NldV9zdWJzbGljZXNfcGVyX3NsaWNlKHNzZXUsIHMpLAotCQkJICAgaW50ZWxf c3NldV9nZXRfc3Vic2xpY2VzKHNzZXUsIHMpKTsKKwkJCSAgIHNzZXUtPnN1YnNsaWNlX21hc2tb c10pOwogCiAJCWZvciAoc3MgPSAwOyBzcyA8IHNzZXUtPm1heF9zdWJzbGljZXM7IHNzKyspIHsK IAkJCXUxNiBlbmFibGVkX2V1cyA9IHNzZXVfZ2V0X2V1cyhzc2V1LCBzLCBzcyk7CkBAIC0xODks MTAgKzE5MCwxNSBAQCBzdGF0aWMgdm9pZCBnZW4xMV9zc2V1X2luZm9faW5pdChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJdTggZXVfZW47CiAJaW50IHM7CiAKLQlpZiAoSVNf RUxLSEFSVExBS0UoZGV2X3ByaXYpKQotCQlpbnRlbF9zc2V1X3NldF9pbmZvKHNzZXUsIDEsIDQs IDgpOwotCWVsc2UKLQkJaW50ZWxfc3NldV9zZXRfaW5mbyhzc2V1LCAxLCA4LCA4KTsKKwlpZiAo SVNfRUxLSEFSVExBS0UoZGV2X3ByaXYpKSB7CisJCXNzZXUtPm1heF9zbGljZXMgPSAxOworCQlz c2V1LT5tYXhfc3Vic2xpY2VzID0gNDsKKwkJc3NldS0+bWF4X2V1c19wZXJfc3Vic2xpY2UgPSA4 OworCX0gZWxzZSB7CisJCXNzZXUtPm1heF9zbGljZXMgPSAxOworCQlzc2V1LT5tYXhfc3Vic2xp Y2VzID0gODsKKwkJc3NldS0+bWF4X2V1c19wZXJfc3Vic2xpY2UgPSA4OworCX0KIAogCXNfZW4g PSBJOTE1X1JFQUQoR0VOMTFfR1RfU0xJQ0VfRU5BQkxFKSAmIEdFTjExX0dUX1NfRU5BX01BU0s7 CiAJc3NfZW4gPSB+STkxNV9SRUFEKEdFTjExX0dUX1NVQlNMSUNFX0RJU0FCTEUpOwpAQCAtMjAx LDE1ICsyMDcsMTUgQEAgc3RhdGljIHZvaWQgZ2VuMTFfc3NldV9pbmZvX2luaXQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCiAJZm9yIChzID0gMDsgcyA8IHNzZXUtPm1heF9z bGljZXM7IHMrKykgewogCQlpZiAoc19lbiAmIEJJVChzKSkgeworCQkJaW50IHNzX2lkeCA9IHNz ZXUtPm1heF9zdWJzbGljZXMgKiBzOwogCQkJaW50IHNzOwogCiAJCQlzc2V1LT5zbGljZV9tYXNr IHw9IEJJVChzKTsKLQotCQkJaW50ZWxfc3NldV9zZXRfc3Vic2xpY2VzKHNzZXUsIHMsIHNzX2Vu X21hc2spOwotCi0JCQlmb3IgKHNzID0gMDsgc3MgPCBzc2V1LT5tYXhfc3Vic2xpY2VzOyBzcysr KQotCQkJCWlmIChpbnRlbF9zc2V1X2hhc19zdWJzbGljZShzc2V1LCBzLCBzcykpCisJCQlzc2V1 LT5zdWJzbGljZV9tYXNrW3NdID0gKHNzX2VuID4+IHNzX2lkeCkgJiBzc19lbl9tYXNrOworCQkJ Zm9yIChzcyA9IDA7IHNzIDwgc3NldS0+bWF4X3N1YnNsaWNlczsgc3MrKykgeworCQkJCWlmIChz c2V1LT5zdWJzbGljZV9tYXNrW3NdICYgQklUKHNzKSkKIAkJCQkJc3NldV9zZXRfZXVzKHNzZXUs IHMsIHNzLCBldV9lbik7CisJCQl9CiAJCX0KIAl9CiAJc3NldS0+ZXVfcGVyX3N1YnNsaWNlID0g aHdlaWdodDgoZXVfZW4pOwpAQCAtMjI5LDEwICsyMzUsMjMgQEAgc3RhdGljIHZvaWQgZ2VuMTBf c3NldV9pbmZvX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWNvbnN0 IGludCBldV9tYXNrID0gMHhmZjsKIAl1MzIgc3Vic2xpY2VfbWFzaywgZXVfZW47CiAKLQlpbnRl bF9zc2V1X3NldF9pbmZvKHNzZXUsIDYsIDQsIDgpOwotCiAJc3NldS0+c2xpY2VfbWFzayA9IChm dXNlMiAmIEdFTjEwX0YyX1NfRU5BX01BU0spID4+CiAJCQkgICAgR0VOMTBfRjJfU19FTkFfU0hJ RlQ7CisJc3NldS0+bWF4X3NsaWNlcyA9IDY7CisJc3NldS0+bWF4X3N1YnNsaWNlcyA9IDQ7CisJ c3NldS0+bWF4X2V1c19wZXJfc3Vic2xpY2UgPSA4OworCisJc3Vic2xpY2VfbWFzayA9ICgxIDw8 IDQpIC0gMTsKKwlzdWJzbGljZV9tYXNrICY9IH4oKGZ1c2UyICYgR0VOMTBfRjJfU1NfRElTX01B U0spID4+CisJCQkgICBHRU4xMF9GMl9TU19ESVNfU0hJRlQpOworCisJLyoKKwkgKiBTbGljZTAg Y2FuIGhhdmUgdXAgdG8gMyBzdWJzbGljZXMsIGJ1dCB0aGVyZSBhcmUgb25seSAyIGluCisJICog c2xpY2UxLzIuCisJICovCisJc3NldS0+c3Vic2xpY2VfbWFza1swXSA9IHN1YnNsaWNlX21hc2s7 CisJZm9yIChzID0gMTsgcyA8IHNzZXUtPm1heF9zbGljZXM7IHMrKykKKwkJc3NldS0+c3Vic2xp Y2VfbWFza1tzXSA9IHN1YnNsaWNlX21hc2sgJiAweDM7CiAKIAkvKiBTbGljZTAgKi8KIAlldV9l biA9IH5JOTE1X1JFQUQoR0VOOF9FVV9ESVNBQkxFMCk7CkBAIC0yNTcsMjIgKzI3NiwxNCBAQCBz dGF0aWMgdm9pZCBnZW4xMF9zc2V1X2luZm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiAJZXVfZW4gPSB+STkxNV9SRUFEKEdFTjEwX0VVX0RJU0FCTEUzKTsKIAlzc2V1 X3NldF9ldXMoc3NldSwgNSwgMSwgZXVfZW4gJiBldV9tYXNrKTsKIAotCXN1YnNsaWNlX21hc2sg PSAoMSA8PCA0KSAtIDE7Ci0Jc3Vic2xpY2VfbWFzayAmPSB+KChmdXNlMiAmIEdFTjEwX0YyX1NT X0RJU19NQVNLKSA+PgotCQkJICAgR0VOMTBfRjJfU1NfRElTX1NISUZUKTsKLQorCS8qIERvIGEg c2Vjb25kIHBhc3Mgd2hlcmUgd2UgbWFyayB0aGUgc3Vic2xpY2VzIGRpc2FibGVkIGlmIGFsbCB0 aGVpcgorCSAqIGV1cyBhcmUgb2ZmLgorCSAqLwogCWZvciAocyA9IDA7IHMgPCBzc2V1LT5tYXhf c2xpY2VzOyBzKyspIHsKIAkJZm9yIChzcyA9IDA7IHNzIDwgc3NldS0+bWF4X3N1YnNsaWNlczsg c3MrKykgewogCQkJaWYgKHNzZXVfZ2V0X2V1cyhzc2V1LCBzLCBzcykgPT0gMCkKLQkJCQlzdWJz bGljZV9tYXNrICY9IH5CSVQoc3MpOworCQkJCXNzZXUtPnN1YnNsaWNlX21hc2tbc10gJj0gfkJJ VChzcyk7CiAJCX0KLQotCQkvKgotCQkgKiBTbGljZTAgY2FuIGhhdmUgdXAgdG8gMyBzdWJzbGlj ZXMsIGJ1dCB0aGVyZSBhcmUgb25seSAyIGluCi0JCSAqIHNsaWNlMS8yLgotCQkgKi8KLQkJaW50 ZWxfc3NldV9zZXRfc3Vic2xpY2VzKHNzZXUsIHMsIHMgPT0gMCA/IHN1YnNsaWNlX21hc2sgOgot CQkJCQkJCSAgIHN1YnNsaWNlX21hc2sgJiAweDMpOwogCX0KIAogCXNzZXUtPmV1X3RvdGFsID0g Y29tcHV0ZV9ldV90b3RhbChzc2V1KTsKQEAgLTI5OCwxMiArMzA5LDEzIEBAIHN0YXRpYyB2b2lk IGNoZXJyeXZpZXdfc3NldV9pbmZvX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQogewogCXN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1ID0gJlJVTlRJTUVfSU5GTyhkZXZf cHJpdiktPnNzZXU7CiAJdTMyIGZ1c2U7Ci0JdTggc3Vic2xpY2VfbWFzazsKIAogCWZ1c2UgPSBJ OTE1X1JFQUQoQ0hWX0ZVU0VfR1QpOwogCiAJc3NldS0+c2xpY2VfbWFzayA9IEJJVCgwKTsKLQlp bnRlbF9zc2V1X3NldF9pbmZvKHNzZXUsIDEsIDIsIDgpOworCXNzZXUtPm1heF9zbGljZXMgPSAx OworCXNzZXUtPm1heF9zdWJzbGljZXMgPSAyOworCXNzZXUtPm1heF9ldXNfcGVyX3N1YnNsaWNl ID0gODsKIAogCWlmICghKGZ1c2UgJiBDSFZfRkdUX0RJU0FCTEVfU1MwKSkgewogCQl1OCBkaXNh YmxlZF9tYXNrID0KQEAgLTMxMiw3ICszMjQsNyBAQCBzdGF0aWMgdm9pZCBjaGVycnl2aWV3X3Nz ZXVfaW5mb19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJCSgoKGZ1 c2UgJiBDSFZfRkdUX0VVX0RJU19TUzBfUjFfTUFTSykgPj4KIAkJCSAgQ0hWX0ZHVF9FVV9ESVNf U1MwX1IxX1NISUZUKSA8PCA0KTsKIAotCQlzdWJzbGljZV9tYXNrIHw9IEJJVCgwKTsKKwkJc3Nl dS0+c3Vic2xpY2VfbWFza1swXSB8PSBCSVQoMCk7CiAJCXNzZXVfc2V0X2V1cyhzc2V1LCAwLCAw LCB+ZGlzYWJsZWRfbWFzayk7CiAJfQogCkBAIC0zMjMsMTIgKzMzNSwxMCBAQCBzdGF0aWMgdm9p ZCBjaGVycnl2aWV3X3NzZXVfaW5mb19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAkJCSgoKGZ1c2UgJiBDSFZfRkdUX0VVX0RJU19TUzFfUjFfTUFTSykgPj4KIAkJCSAg Q0hWX0ZHVF9FVV9ESVNfU1MxX1IxX1NISUZUKSA8PCA0KTsKIAotCQlzdWJzbGljZV9tYXNrIHw9 IEJJVCgxKTsKKwkJc3NldS0+c3Vic2xpY2VfbWFza1swXSB8PSBCSVQoMSk7CiAJCXNzZXVfc2V0 X2V1cyhzc2V1LCAwLCAxLCB+ZGlzYWJsZWRfbWFzayk7CiAJfQogCi0JaW50ZWxfc3NldV9zZXRf c3Vic2xpY2VzKHNzZXUsIDAsIHN1YnNsaWNlX21hc2spOwotCiAJc3NldS0+ZXVfdG90YWwgPSBj b21wdXRlX2V1X3RvdGFsKHNzZXUpOwogCiAJLyoKQEAgLTM2MSw4ICszNzEsOSBAQCBzdGF0aWMg dm9pZCBnZW45X3NzZXVfaW5mb19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIAlzc2V1LT5zbGljZV9tYXNrID0gKGZ1c2UyICYgR0VOOF9GMl9TX0VOQV9NQVNLKSA+PiBH RU44X0YyX1NfRU5BX1NISUZUOwogCiAJLyogQlhUIGhhcyBhIHNpbmdsZSBzbGljZSBhbmQgYXQg bW9zdCAzIHN1YnNsaWNlcy4gKi8KLQlpbnRlbF9zc2V1X3NldF9pbmZvKHNzZXUsIElTX0dFTjlf TFAoZGV2X3ByaXYpID8gMSA6IDMsCi0JCQkgICAgSVNfR0VOOV9MUChkZXZfcHJpdikgPyAzIDog NCwgOCk7CisJc3NldS0+bWF4X3NsaWNlcyA9IElTX0dFTjlfTFAoZGV2X3ByaXYpID8gMSA6IDM7 CisJc3NldS0+bWF4X3N1YnNsaWNlcyA9IElTX0dFTjlfTFAoZGV2X3ByaXYpID8gMyA6IDQ7CisJ c3NldS0+bWF4X2V1c19wZXJfc3Vic2xpY2UgPSA4OwogCiAJLyoKIAkgKiBUaGUgc3Vic2xpY2Ug ZGlzYWJsZSBmaWVsZCBpcyBnbG9iYWwsIGkuZS4gaXQgYXBwbGllcwpAQCAtMzgxLDE0ICszOTIs MTQgQEAgc3RhdGljIHZvaWQgZ2VuOV9zc2V1X2luZm9faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiAJCQkvKiBza2lwIGRpc2FibGVkIHNsaWNlICovCiAJCQljb250aW51 ZTsKIAotCQlpbnRlbF9zc2V1X3NldF9zdWJzbGljZXMoc3NldSwgcywgc3Vic2xpY2VfbWFzayk7 CisJCXNzZXUtPnN1YnNsaWNlX21hc2tbc10gPSBzdWJzbGljZV9tYXNrOwogCiAJCWV1X2Rpc2Fi bGUgPSBJOTE1X1JFQUQoR0VOOV9FVV9ESVNBQkxFKHMpKTsKIAkJZm9yIChzcyA9IDA7IHNzIDwg c3NldS0+bWF4X3N1YnNsaWNlczsgc3MrKykgewogCQkJaW50IGV1X3Blcl9zczsKIAkJCXU4IGV1 X2Rpc2FibGVkX21hc2s7CiAKLQkJCWlmICghaW50ZWxfc3NldV9oYXNfc3Vic2xpY2Uoc3NldSwg cywgc3MpKQorCQkJaWYgKCEoc3NldS0+c3Vic2xpY2VfbWFza1tzXSAmIEJJVChzcykpKQogCQkJ CS8qIHNraXAgZGlzYWJsZWQgc3Vic2xpY2UgKi8KIAkJCQljb250aW51ZTsKIApAQCAtNDYxLDcg KzQ3Miw5IEBAIHN0YXRpYyB2b2lkIGJyb2Fkd2VsbF9zc2V1X2luZm9faW5pdChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAlmdXNlMiA9IEk5MTVfUkVBRChHRU44X0ZVU0Uy KTsKIAlzc2V1LT5zbGljZV9tYXNrID0gKGZ1c2UyICYgR0VOOF9GMl9TX0VOQV9NQVNLKSA+PiBH RU44X0YyX1NfRU5BX1NISUZUOwotCWludGVsX3NzZXVfc2V0X2luZm8oc3NldSwgMywgMywgOCk7 CisJc3NldS0+bWF4X3NsaWNlcyA9IDM7CisJc3NldS0+bWF4X3N1YnNsaWNlcyA9IDM7CisJc3Nl dS0+bWF4X2V1c19wZXJfc3Vic2xpY2UgPSA4OwogCiAJLyoKIAkgKiBUaGUgc3Vic2xpY2UgZGlz YWJsZSBmaWVsZCBpcyBnbG9iYWwsIGkuZS4gaXQgYXBwbGllcwpAQCAtNDg4LDE5ICs1MDEsMTgg QEAgc3RhdGljIHZvaWQgYnJvYWR3ZWxsX3NzZXVfaW5mb19pbml0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKIAkJCS8qIHNraXAgZGlzYWJsZWQgc2xpY2UgKi8KIAkJCWNvbnRp bnVlOwogCi0JCWludGVsX3NzZXVfc2V0X3N1YnNsaWNlcyhzc2V1LCBzLCBzdWJzbGljZV9tYXNr KTsKKwkJc3NldS0+c3Vic2xpY2VfbWFza1tzXSA9IHN1YnNsaWNlX21hc2s7CiAKIAkJZm9yIChz cyA9IDA7IHNzIDwgc3NldS0+bWF4X3N1YnNsaWNlczsgc3MrKykgewogCQkJdTggZXVfZGlzYWJs ZWRfbWFzazsKIAkJCXUzMiBuX2Rpc2FibGVkOwogCi0JCQlpZiAoIWludGVsX3NzZXVfaGFzX3N1 YnNsaWNlKHNzZXUsIHMsIHNzKSkKKwkJCWlmICghKHNzZXUtPnN1YnNsaWNlX21hc2tbc10gJiBC SVQoc3MpKSkKIAkJCQkvKiBza2lwIGRpc2FibGVkIHN1YnNsaWNlICovCiAJCQkJY29udGludWU7 CiAKIAkJCWV1X2Rpc2FibGVkX21hc2sgPQotCQkJCWV1X2Rpc2FibGVbc10gPj4KLQkJCQkJKHNz ICogc3NldS0+bWF4X2V1c19wZXJfc3Vic2xpY2UpOworCQkJCWV1X2Rpc2FibGVbc10gPj4gKHNz ICogc3NldS0+bWF4X2V1c19wZXJfc3Vic2xpY2UpOwogCiAJCQlzc2V1X3NldF9ldXMoc3NldSwg cywgc3MsIH5ldV9kaXNhYmxlZF9tYXNrKTsKIApAQCAtNTQwLDcgKzU1Miw2IEBAIHN0YXRpYyB2 b2lkIGhhc3dlbGxfc3NldV9pbmZvX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQogCXN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1ID0gJlJVTlRJTUVfSU5GTyhkZXZfcHJp diktPnNzZXU7CiAJdTMyIGZ1c2UxOwogCWludCBzLCBzczsKLQl1MzIgc3Vic2xpY2VfbWFzazsK IAogCS8qCiAJICogVGhlcmUgaXNuJ3QgYSByZWdpc3RlciB0byB0ZWxsIHVzIGhvdyBtYW55IHNs aWNlcy9zdWJzbGljZXMuIFdlCkBAIC01NTIsMTggKzU2MywyMiBAQCBzdGF0aWMgdm9pZCBoYXN3 ZWxsX3NzZXVfaW5mb19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJ LyogZmFsbCB0aHJvdWdoICovCiAJY2FzZSAxOgogCQlzc2V1LT5zbGljZV9tYXNrID0gQklUKDAp OwotCQlzdWJzbGljZV9tYXNrID0gQklUKDApOworCQlzc2V1LT5zdWJzbGljZV9tYXNrWzBdID0g QklUKDApOwogCQlicmVhazsKIAljYXNlIDI6CiAJCXNzZXUtPnNsaWNlX21hc2sgPSBCSVQoMCk7 Ci0JCXN1YnNsaWNlX21hc2sgPSBCSVQoMCkgfCBCSVQoMSk7CisJCXNzZXUtPnN1YnNsaWNlX21h c2tbMF0gPSBCSVQoMCkgfCBCSVQoMSk7CiAJCWJyZWFrOwogCWNhc2UgMzoKIAkJc3NldS0+c2xp Y2VfbWFzayA9IEJJVCgwKSB8IEJJVCgxKTsKLQkJc3Vic2xpY2VfbWFzayA9IEJJVCgwKSB8IEJJ VCgxKTsKKwkJc3NldS0+c3Vic2xpY2VfbWFza1swXSA9IEJJVCgwKSB8IEJJVCgxKTsKKwkJc3Nl dS0+c3Vic2xpY2VfbWFza1sxXSA9IEJJVCgwKSB8IEJJVCgxKTsKIAkJYnJlYWs7CiAJfQogCisJ c3NldS0+bWF4X3NsaWNlcyA9IGh3ZWlnaHQ4KHNzZXUtPnNsaWNlX21hc2spOworCXNzZXUtPm1h eF9zdWJzbGljZXMgPSBod2VpZ2h0OChzc2V1LT5zdWJzbGljZV9tYXNrWzBdKTsKKwogCWZ1c2Ux ID0gSTkxNV9SRUFEKEhTV19QQVZQX0ZVU0UxKTsKIAlzd2l0Y2ggKChmdXNlMSAmIEhTV19GMV9F VV9ESVNfTUFTSykgPj4gSFNXX0YxX0VVX0RJU19TSElGVCkgewogCWRlZmF1bHQ6CkBAIC01ODAs MTQgKzU5NSw5IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfc3NldV9pbmZvX2luaXQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQlzc2V1LT5ldV9wZXJfc3Vic2xpY2UgPSA2Owog CQlicmVhazsKIAl9Ci0KLQlpbnRlbF9zc2V1X3NldF9pbmZvKHNzZXUsIGh3ZWlnaHQ4KHNzZXUt PnNsaWNlX21hc2spLAotCQkJICAgIGh3ZWlnaHQ4KHN1YnNsaWNlX21hc2spLAotCQkJICAgIHNz ZXUtPmV1X3Blcl9zdWJzbGljZSk7CisJc3NldS0+bWF4X2V1c19wZXJfc3Vic2xpY2UgPSBzc2V1 LT5ldV9wZXJfc3Vic2xpY2U7CiAKIAlmb3IgKHMgPSAwOyBzIDwgc3NldS0+bWF4X3NsaWNlczsg cysrKSB7Ci0JCWludGVsX3NzZXVfc2V0X3N1YnNsaWNlcyhzc2V1LCBzLCBzdWJzbGljZV9tYXNr KTsKLQogCQlmb3IgKHNzID0gMDsgc3MgPCBzc2V1LT5tYXhfc3Vic2xpY2VzOyBzcysrKSB7CiAJ CQlzc2V1X3NldF9ldXMoc3NldSwgcywgc3MsCiAJCQkJICAgICAoMVVMIDw8IHNzZXUtPmV1X3Bl cl9zdWJzbGljZSkgLSAxKTsKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4