From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm: sti: remove useless call to dev->struct_mutex Date: Wed, 27 Apr 2016 09:58:44 +0200 Message-ID: <20160427075844.GV2558@phenom.ffwll.local> References: <1461691808-12414-5-git-send-email-daniel.vetter@ffwll.ch> <1461741689-21916-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1461741689-21916-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: DRI Development Cc: Daniel Vetter , Intel Graphics Development , Benjamin Gaignard List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBBcHIgMjcsIDIwMTYgYXQgMDk6MjE6MjlBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBGcm9tOiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJv Lm9yZz4KPiAKPiBObyBuZWVkIHRvIHByb3RlY3QgZGVidWdmcyBmdW5jdGlvbnMgd2l0aCBkZXYt PnN0cnVjdF9tdXRleAo+IAo+IFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5q YW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgo+IFNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIg PGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CgpPb3BzLCByZXNlbnQgd3JvbmcgcGF0Y2gsIGJ1dCB0 aGUgaXRlcmF0aW9uIHRoYXQgZHJvcHBlZCB0aGUgbm91dmVhdQpzcGVjaWFsIGNhc2Ugd2FzIGJ1 c3RlZCBhbnl3YXkuCi1EYW5pZWwKCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2N1 cnNvci5jIHwgIDcgLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kcnYuYyAgICB8 ICA2IC0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYyAgICB8ICA3IC0tLS0t LS0KPiAgZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZ2RwLmMgICAgfCAxNCAtLS0tLS0tLS0tLS0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZGEuYyAgICB8ICA3IC0tLS0tLS0KPiAgZHJp dmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jICAgfCAgNyAtLS0tLS0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9zdGkvc3RpX2hxdmRwLmMgIHwgIDcgLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vc3Rp L3N0aV9taXhlci5jICB8ICA3IC0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfdHZv dXQuYyAgfCAgNyAtLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX3ZpZC5jICAgIHwg IDcgLS0tLS0tLQo+ICAxMCBmaWxlcyBjaGFuZ2VkLCA3NiBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY3Vyc29yLmMgYi9kcml2ZXJzL2dwdS9k cm0vc3RpL3N0aV9jdXJzb3IuYwo+IGluZGV4IDNhYmI0MDAxNTFhYy4uZTZlZTRjNTI2NjY1IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2N1cnNvci5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3N0aS9zdGlfY3Vyc29yLmMKPiBAQCAtMTAzLDEyICsxMDMsNiBAQCBzdGF0 aWMgaW50IGN1cnNvcl9kYmdfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKmRhdGEpCj4g IHsKPiAgCXN0cnVjdCBkcm1faW5mb19ub2RlICpub2RlID0gcy0+cHJpdmF0ZTsKPiAgCXN0cnVj dCBzdGlfY3Vyc29yICpjdXJzb3IgPSAoc3RydWN0IHN0aV9jdXJzb3IgKilub2RlLT5pbmZvX2Vu dC0+ZGF0YTsKPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBub2RlLT5taW5vci0+ZGV2Owo+ IC0JaW50IHJldDsKPiAtCj4gLQlyZXQgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmRldi0+ c3RydWN0X211dGV4KTsKPiAtCWlmIChyZXQpCj4gLQkJcmV0dXJuIHJldDsKPiAgCj4gIAlzZXFf cHJpbnRmKHMsICIlczogKHZhZGRyID0gMHglcCkiLAo+ICAJCSAgIHN0aV9wbGFuZV90b19zdHIo JmN1cnNvci0+cGxhbmUpLCBjdXJzb3ItPnJlZ3MpOwo+IEBAIC0xMjcsNyArMTIxLDYgQEAgc3Rh dGljIGludCBjdXJzb3JfZGJnX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICpkYXRhKQo+ ICAJREJHRlNfRFVNUChDVVJfQVdFKTsKPiAgCXNlcV9wdXRzKHMsICJcbiIpOwo+ICAKPiAtCW11 dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2Rydi5jIGIvZHJpdmVycy9ncHUv ZHJtL3N0aS9zdGlfZHJ2LmMKPiBpbmRleCA2YmQ2YWJhYTVhNzAuLmE4ZWVjZTIwYjZiNCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9zdGkvc3RpX2Rydi5jCj4gQEAgLTcyLDExICs3Miw2IEBAIHN0YXRpYyBpbnQgc3Rp X2RybV9mcHNfZGJnX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICpkYXRhKQo+ICAJc3Ry dWN0IGRybV9pbmZvX25vZGUgKm5vZGUgPSBzLT5wcml2YXRlOwo+ICAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IG5vZGUtPm1pbm9yLT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX3BsYW5lICpwOwo+IC0J aW50IHJldDsKPiAtCj4gLQlyZXQgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmRldi0+c3Ry dWN0X211dGV4KTsKPiAtCWlmIChyZXQpCj4gLQkJcmV0dXJuIHJldDsKPiAgCj4gIAlsaXN0X2Zv cl9lYWNoX2VudHJ5KHAsICZkZXYtPm1vZGVfY29uZmlnLnBsYW5lX2xpc3QsIGhlYWQpIHsKPiAg CQlzdHJ1Y3Qgc3RpX3BsYW5lICpwbGFuZSA9IHRvX3N0aV9wbGFuZShwKTsKPiBAQCAtODYsNyAr ODEsNiBAQCBzdGF0aWMgaW50IHN0aV9kcm1fZnBzX2RiZ19zaG93KHN0cnVjdCBzZXFfZmlsZSAq cywgdm9pZCAqZGF0YSkKPiAgCQkJICAgcGxhbmUtPmZwc19pbmZvLmZpcHNfc3RyKTsKPiAgCX0K PiAgCj4gLQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiAgCXJldHVybiAwOwo+ ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYyBiL2Ry aXZlcnMvZ3B1L2RybS9zdGkvc3RpX2R2by5jCj4gaW5kZXggMjVmNzY2MzIwMDJjLi5kNDM5MTI4 ZTYzMDkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZHZvLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYwo+IEBAIC0xNzcsMTIgKzE3Nyw2IEBAIHN0 YXRpYyBpbnQgZHZvX2RiZ19zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0YSkKPiAg ewo+ICAJc3RydWN0IGRybV9pbmZvX25vZGUgKm5vZGUgPSBzLT5wcml2YXRlOwo+ICAJc3RydWN0 IHN0aV9kdm8gKmR2byA9IChzdHJ1Y3Qgc3RpX2R2byAqKW5vZGUtPmluZm9fZW50LT5kYXRhOwo+ IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG5vZGUtPm1pbm9yLT5kZXY7Cj4gLQlpbnQgcmV0 Owo+IC0KPiAtCXJldCA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmZGV2LT5zdHJ1Y3RfbXV0 ZXgpOwo+IC0JaWYgKHJldCkKPiAtCQlyZXR1cm4gcmV0Owo+ICAKPiAgCXNlcV9wcmludGYocywg IkRWTzogKHZhZGRyID0gMHglcCkiLCBkdm8tPnJlZ3MpOwo+ICAJREJHRlNfRFVNUChEVk9fQVdH X0RJR1NZTkNfQ1RSTCk7Cj4gQEAgLTE5Myw3ICsxODcsNiBAQCBzdGF0aWMgaW50IGR2b19kYmdf c2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKmRhdGEpCj4gIAlkdm9fZGJnX2F3Z19taWNy b2NvZGUocywgZHZvLT5yZWdzICsgRFZPX0RJR1NZTkNfSU5TVFJfSSk7Cj4gIAlzZXFfcHV0cyhz LCAiXG4iKTsKPiAgCj4gLQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiAgCXJl dHVybiAwOwo+ICB9Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9n ZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2dkcC5jCj4gaW5kZXggZmYzZDNlN2U3NzA0 Li4zZDA5OGYxYWI5MTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZ2Rw LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9nZHAuYwo+IEBAIC0yMDcsMTQgKzIw Nyw4IEBAIHN0YXRpYyBpbnQgZ2RwX2RiZ19zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAq ZGF0YSkKPiAgewo+ICAJc3RydWN0IGRybV9pbmZvX25vZGUgKm5vZGUgPSBzLT5wcml2YXRlOwo+ ICAJc3RydWN0IHN0aV9nZHAgKmdkcCA9IChzdHJ1Y3Qgc3RpX2dkcCAqKW5vZGUtPmluZm9fZW50 LT5kYXRhOwo+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG5vZGUtPm1pbm9yLT5kZXY7Cj4g IAlzdHJ1Y3QgZHJtX3BsYW5lICpkcm1fcGxhbmUgPSAmZ2RwLT5wbGFuZS5kcm1fcGxhbmU7Cj4g IAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBkcm1fcGxhbmUtPmNydGM7Cj4gLQlpbnQgcmV0Owo+ IC0KPiAtCXJldCA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmZGV2LT5zdHJ1Y3RfbXV0ZXgp Owo+IC0JaWYgKHJldCkKPiAtCQlyZXR1cm4gcmV0Owo+ICAKPiAgCXNlcV9wcmludGYocywgIiVz OiAodmFkZHIgPSAweCVwKSIsCj4gIAkJICAgc3RpX3BsYW5lX3RvX3N0cigmZ2RwLT5wbGFuZSks IGdkcC0+cmVncyk7Cj4gQEAgLTI0Nyw3ICsyNDEsNiBAQCBzdGF0aWMgaW50IGdkcF9kYmdfc2hv dyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKmRhdGEpCj4gIAkJc2VxX3ByaW50ZihzLCAiICBD b25uZWN0ZWQgdG8gRFJNIENSVEMgIyVkICglcylcbiIsCj4gIAkJCSAgIGNydGMtPmJhc2UuaWQs IHN0aV9taXhlcl90b19zdHIodG9fc3RpX21peGVyKGNydGMpKSk7Cj4gIAo+IC0JbXV0ZXhfdW5s b2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiBAQCAtMjc4 LDEzICsyNzEsNyBAQCBzdGF0aWMgaW50IGdkcF9ub2RlX2RiZ19zaG93KHN0cnVjdCBzZXFfZmls ZSAqcywgdm9pZCAqYXJnKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2luZm9fbm9kZSAqbm9kZSA9IHMt PnByaXZhdGU7Cj4gIAlzdHJ1Y3Qgc3RpX2dkcCAqZ2RwID0gKHN0cnVjdCBzdGlfZ2RwICopbm9k ZS0+aW5mb19lbnQtPmRhdGE7Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbm9kZS0+bWlu b3ItPmRldjsKPiAgCXVuc2lnbmVkIGludCBiOwo+IC0JaW50IHJldDsKPiAtCj4gLQlyZXQgPSBt dXRleF9sb2NrX2ludGVycnVwdGlibGUoJmRldi0+c3RydWN0X211dGV4KTsKPiAtCWlmIChyZXQp Cj4gLQkJcmV0dXJuIHJldDsKPiAgCj4gIAlmb3IgKGIgPSAwOyBiIDwgR0RQX05PREVfTkJfQkFO SzsgYisrKSB7Cj4gIAkJc2VxX3ByaW50ZihzLCAiXG4lc1slZF0udG9wIiwgc3RpX3BsYW5lX3Rv X3N0cigmZ2RwLT5wbGFuZSksIGIpOwo+IEBAIC0yOTMsNyArMjgwLDYgQEAgc3RhdGljIGludCBn ZHBfbm9kZV9kYmdfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKmFyZykKPiAgCQlnZHBf bm9kZV9kdW1wX25vZGUocywgZ2RwLT5ub2RlX2xpc3RbYl0uYnRtX2ZpZWxkKTsKPiAgCX0KPiAg Cj4gLQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiAgCXJldHVybiAwOwo+ICB9 Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZGEuYyBiL2RyaXZl cnMvZ3B1L2RybS9zdGkvc3RpX2hkYS5jCj4gaW5kZXggZWMwZDAxN2VhZjFhLi5kMGUxNjQ3Y2U0 MWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRhLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZGEuYwo+IEBAIC0zNzUsMTIgKzM3NSw2IEBAIHN0YXRp YyBpbnQgaGRhX2RiZ19zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0YSkKPiAgewo+ ICAJc3RydWN0IGRybV9pbmZvX25vZGUgKm5vZGUgPSBzLT5wcml2YXRlOwo+ICAJc3RydWN0IHN0 aV9oZGEgKmhkYSA9IChzdHJ1Y3Qgc3RpX2hkYSAqKW5vZGUtPmluZm9fZW50LT5kYXRhOwo+IC0J c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG5vZGUtPm1pbm9yLT5kZXY7Cj4gLQlpbnQgcmV0Owo+ IC0KPiAtCXJldCA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmZGV2LT5zdHJ1Y3RfbXV0ZXgp Owo+IC0JaWYgKHJldCkKPiAtCQlyZXR1cm4gcmV0Owo+ICAKPiAgCXNlcV9wcmludGYocywgIkhE IEFuYWxvZzogKHZhZGRyID0gMHglcCkiLCBoZGEtPnJlZ3MpOwo+ICAJREJHRlNfRFVNUChIREFf QU5BX0NGRyk7Cj4gQEAgLTM5Niw3ICszOTAsNiBAQCBzdGF0aWMgaW50IGhkYV9kYmdfc2hvdyhz dHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKmRhdGEpCj4gIAkJaGRhX2RiZ192aWRlb19kYWNzX2N0 cmwocywgaGRhLT52aWRlb19kYWNzX2N0cmwpOwo+ICAJc2VxX3B1dHMocywgIlxuIik7Cj4gIAo+ IC0JbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gIAlyZXR1cm4gMDsKPiAgfQo+ ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jIGIvZHJpdmVy cy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCj4gaW5kZXggNmVmMDcxNWJkNWI5Li44NTU0NWViZjg4 ZDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCj4gQEAgLTYyOCwxMiArNjI4LDYgQEAgc3Rh dGljIGludCBoZG1pX2RiZ19zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0YSkKPiAg ewo+ICAJc3RydWN0IGRybV9pbmZvX25vZGUgKm5vZGUgPSBzLT5wcml2YXRlOwo+ICAJc3RydWN0 IHN0aV9oZG1pICpoZG1pID0gKHN0cnVjdCBzdGlfaGRtaSAqKW5vZGUtPmluZm9fZW50LT5kYXRh Owo+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG5vZGUtPm1pbm9yLT5kZXY7Cj4gLQlpbnQg cmV0Owo+IC0KPiAtCXJldCA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmZGV2LT5zdHJ1Y3Rf bXV0ZXgpOwo+IC0JaWYgKHJldCkKPiAtCQlyZXR1cm4gcmV0Owo+ICAKPiAgCXNlcV9wcmludGYo cywgIkhETUk6ICh2YWRkciA9IDB4JXApIiwgaGRtaS0+cmVncyk7Cj4gIAlEQkdGU19EVU1QKCJc biIsIEhETUlfQ0ZHKTsKPiBAQCAtNjkwLDcgKzY4NCw2IEBAIHN0YXRpYyBpbnQgaGRtaV9kYmdf c2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKmRhdGEpCj4gIAlEQkdGU19EVU1QX0RJKEhE TUlfU1dfRElfTl9QS1RfV09SRDYsIEhETUlfSUZSQU1FX1NMT1RfVkVORE9SKTsKPiAgCXNlcV9w dXRzKHMsICJcbiIpOwo+ICAKPiAtCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdGkv c3RpX2hxdmRwLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9ocXZkcC5jCj4gaW5kZXggZTA1 YjBkYzUyM2ZmLi42MjMwNTY1MDQ4YzMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0 aS9zdGlfaHF2ZHAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hxdmRwLmMKPiBA QCAtNTU0LDE0ICs1NTQsOCBAQCBzdGF0aWMgaW50IGhxdmRwX2RiZ19zaG93KHN0cnVjdCBzZXFf ZmlsZSAqcywgdm9pZCAqZGF0YSkKPiAgewo+ICAJc3RydWN0IGRybV9pbmZvX25vZGUgKm5vZGUg PSBzLT5wcml2YXRlOwo+ICAJc3RydWN0IHN0aV9ocXZkcCAqaHF2ZHAgPSAoc3RydWN0IHN0aV9o cXZkcCAqKW5vZGUtPmluZm9fZW50LT5kYXRhOwo+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IG5vZGUtPm1pbm9yLT5kZXY7Cj4gIAlpbnQgY21kLCBjbWRfb2Zmc2V0LCBpbmZveHA3MDsKPiAg CXZvaWQgKnZpcnQ7Cj4gLQlpbnQgcmV0Owo+IC0KPiAtCXJldCA9IG11dGV4X2xvY2tfaW50ZXJy dXB0aWJsZSgmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+IC0JaWYgKHJldCkKPiAtCQlyZXR1cm4gcmV0 Owo+ICAKPiAgCXNlcV9wcmludGYocywgIiVzOiAodmFkZHIgPSAweCVwKSIsCj4gIAkJICAgc3Rp X3BsYW5lX3RvX3N0cigmaHF2ZHAtPnBsYW5lKSwgaHF2ZHAtPnJlZ3MpOwo+IEBAIC02MjksNyAr NjIzLDYgQEAgc3RhdGljIGludCBocXZkcF9kYmdfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZv aWQgKmRhdGEpCj4gIAo+ICAJc2VxX3B1dHMocywgIlxuIik7Cj4gIAo+IC0JbXV0ZXhfdW5sb2Nr KCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfbWl4ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkv c3RpX21peGVyLmMKPiBpbmRleCBlNzQyNWMzOGZjOTMuLmNjODlkNzUyNzNkZiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9taXhlci5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3N0aS9zdGlfbWl4ZXIuYwo+IEBAIC0xNTAsMTIgKzE1MCw2IEBAIHN0YXRpYyBpbnQgbWl4 ZXJfZGJnX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICphcmcpCj4gIHsKPiAgCXN0cnVj dCBkcm1faW5mb19ub2RlICpub2RlID0gcy0+cHJpdmF0ZTsKPiAgCXN0cnVjdCBzdGlfbWl4ZXIg Km1peGVyID0gKHN0cnVjdCBzdGlfbWl4ZXIgKilub2RlLT5pbmZvX2VudC0+ZGF0YTsKPiAtCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBub2RlLT5taW5vci0+ZGV2Owo+IC0JaW50IHJldDsKPiAt Cj4gLQlyZXQgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmRldi0+c3RydWN0X211dGV4KTsK PiAtCWlmIChyZXQpCj4gLQkJcmV0dXJuIHJldDsKPiAgCj4gIAlzZXFfcHJpbnRmKHMsICIlczog KHZhZGRyID0gMHglcCkiLAo+ICAJCSAgIHN0aV9taXhlcl90b19zdHIobWl4ZXIpLCBtaXhlci0+ cmVncyk7Cj4gQEAgLTE3NSw3ICsxNjksNiBAQCBzdGF0aWMgaW50IG1peGVyX2RiZ19zaG93KHN0 cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqYXJnKQo+ICAJbWl4ZXJfZGJnX214bihzLCBtaXhlci0+ cmVncyArIEdBTV9NSVhFUl9NWDApOwo+ICAJc2VxX3B1dHMocywgIlxuIik7Cj4gIAo+IC0JbXV0 ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfdHZvdXQuYyBiL2RyaXZlcnMvZ3B1 L2RybS9zdGkvc3RpX3R2b3V0LmMKPiBpbmRleCAyYzk5MDE2NDQzZTUuLmQ2NDFhNWZlNTEyYiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV90dm91dC5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3N0aS9zdGlfdHZvdXQuYwo+IEBAIC01MTQsMTMgKzUxNCw3IEBAIHN0YXRp YyBpbnQgdHZvdXRfZGJnX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICpkYXRhKQo+ICB7 Cj4gIAlzdHJ1Y3QgZHJtX2luZm9fbm9kZSAqbm9kZSA9IHMtPnByaXZhdGU7Cj4gIAlzdHJ1Y3Qg c3RpX3R2b3V0ICp0dm91dCA9IChzdHJ1Y3Qgc3RpX3R2b3V0ICopbm9kZS0+aW5mb19lbnQtPmRh dGE7Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbm9kZS0+bWlub3ItPmRldjsKPiAgCXN0 cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiAtCWludCByZXQ7Cj4gLQo+IC0JcmV0ID0gbXV0ZXhfbG9j a19pbnRlcnJ1cHRpYmxlKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gLQlpZiAocmV0KQo+IC0JCXJl dHVybiByZXQ7Cj4gIAo+ICAJc2VxX3ByaW50ZihzLCAiVFZPVVQ6ICh2YWRkciA9IDB4JXApIiwg dHZvdXQtPnJlZ3MpOwo+ICAKPiBAQCAtNTg2LDcgKzU4MCw2IEBAIHN0YXRpYyBpbnQgdHZvdXRf ZGJnX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICpkYXRhKQo+ICAJREJHRlNfRFVNUChU Vk9fQVVYX0lOX1ZJRF9GT1JNQVQpOwo+ICAJc2VxX3B1dHMocywgIlxuIik7Cj4gIAo+IC0JbXV0 ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfdmlkLmMgYi9kcml2ZXJzL2dwdS9k cm0vc3RpL3N0aV92aWQuYwo+IGluZGV4IDVhMmM1ZGMzNjg3Yi4uY2JhMzIxNDBhNzYzIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX3ZpZC5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3N0aS9zdGlfdmlkLmMKPiBAQCAtOTEsMTIgKzkxLDYgQEAgc3RhdGljIGludCB2aWRf ZGJnX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICphcmcpCj4gIHsKPiAgCXN0cnVjdCBk cm1faW5mb19ub2RlICpub2RlID0gcy0+cHJpdmF0ZTsKPiAgCXN0cnVjdCBzdGlfdmlkICp2aWQg PSAoc3RydWN0IHN0aV92aWQgKilub2RlLT5pbmZvX2VudC0+ZGF0YTsKPiAtCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBub2RlLT5taW5vci0+ZGV2Owo+IC0JaW50IHJldDsKPiAtCj4gLQlyZXQg PSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmRldi0+c3RydWN0X211dGV4KTsKPiAtCWlmIChy ZXQpCj4gLQkJcmV0dXJuIHJldDsKPiAgCj4gIAlzZXFfcHJpbnRmKHMsICJWSUQ6ICh2YWRkcj0g MHglcCkiLCB2aWQtPnJlZ3MpOwo+ICAKPiBAQCAtMTIxLDcgKzExNSw2IEBAIHN0YXRpYyBpbnQg dmlkX2RiZ19zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqYXJnKQo+ICAJREJHRlNfRFVN UChWSURfQ1NBVCk7Cj4gIAlzZXFfcHV0cyhzLCAiXG4iKTsKPiAgCj4gLQltdXRleF91bmxvY2so JmRldi0+c3RydWN0X211dGV4KTsKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IC0tIAo+IDIuOC4x Cj4gCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRp b24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCg==