Received: by 10.223.185.116 with SMTP id b49csp6421702wrg; Wed, 28 Feb 2018 09:07:48 -0800 (PST) X-Google-Smtp-Source: AH8x226pa0j6S6LhiNYVVA1bx44lIAfbKpLzguZPjyTde9LRxZR/QxNSi46n8fGQ9va7MIeZ8GlU X-Received: by 10.99.116.28 with SMTP id p28mr14831675pgc.306.1519837668408; Wed, 28 Feb 2018 09:07:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519837668; cv=none; d=google.com; s=arc-20160816; b=mLtmwOHzK+8w2DPde/wHSSsmeQlUNsqIq2fk9vsKbu0WFWEZTZcVRSoMUz6Q5dWiOD ChbmYdnDQ10Y9YXH1hYVqbs2Ju9rJR7VlHEhU3hXTFSjbmkpUwrWC0dy8ZL/6whkEIRF 7pe/AxR0Cy3CRfzF2htS0w046pLPv5bUiuUhl4hVCA8iqPbuwmg/dqc3diQz0d7foB8Y rDt5FyufRdnzqb2AsTrhoW0n64s7z1cm7kocb2fe34AcIjn0QzxXIpdW0khLDqpTugwi NZXzdR61mUU3gx1kSCT2p0Bw63CdQm/pQC6UrjqOo0RVo0Hcfk4Gril/3vIoI9opA2hF zJbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-id:user-agent:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from:arc-authentication-results; bh=vwYMQtpxDnXpoJ25GTeXg4kxWLW0d6Rs2OvIe77Q3Jk=; b=dJoa6f2oGl1Xo5AzHF8MQ6H00FC0/UF/QeU2ZgnNbs8sjFXuJQAJXoySWb3dCvVElG /0IbW6hTsYLj6mZiXOqzwE4RboVIjO/6LrrmQkJh/70Iikecq/f4yXawd6HBRwzQuDD9 LeXqTfLj/p+K5pNQW9Ycl4FRRXXPDGiQMf36gcvb7T8LDersNQKBkXop+tXVtTqleA/q rqOcwJEf8ZpNxCqOqlWlIyrLCI47uf/sjizgu/9PB1tA8uef6R5F5rgwoY1bNnSiH0Nf bHEfmUbZ9j9D4ogXeIw25D0VXwSiM/gYq8jl/qpRpmtTG+tkbodlupFE6A9gVUp9Hjvy 6vdw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u27si1463263pfk.241.2018.02.28.09.07.30; Wed, 28 Feb 2018 09:07:48 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933599AbeB1RFa (ORCPT + 99 others); Wed, 28 Feb 2018 12:05:30 -0500 Received: from mx07-00178001.pphosted.com ([62.209.51.94]:17455 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752858AbeB1RFQ (ORCPT ); Wed, 28 Feb 2018 12:05:16 -0500 Received: from pps.filterd (m0046668.ppops.net [127.0.0.1]) by mx07-.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id w1SH4QQ7014848; Wed, 28 Feb 2018 18:04:53 +0100 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 2gbwb17tsp-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 28 Feb 2018 18:04:53 +0100 Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 22F7631; Wed, 28 Feb 2018 17:04:53 +0000 (GMT) Received: from Webmail-eu.st.com (sfhdag6node3.st.com [10.75.127.18]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id EE84A5207; Wed, 28 Feb 2018 17:04:52 +0000 (GMT) Received: from SFHDAG5NODE1.st.com (10.75.127.13) by SFHDAG6NODE3.st.com (10.75.127.18) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Wed, 28 Feb 2018 18:04:52 +0100 Received: from SFHDAG5NODE1.st.com ([fe80::cc53:528c:36c8:95f6]) by SFHDAG5NODE1.st.com ([fe80::cc53:528c:36c8:95f6%20]) with mapi id 15.00.1347.000; Wed, 28 Feb 2018 18:04:52 +0100 From: Hugues FRUCHET To: Hans Verkuil , Maxime Coquelin , Alexandre TORGUE , Mauro Carvalho Chehab CC: "linux-media@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , Benjamin Gaignard , Yannick FERTRE Subject: Re: [PATCH v2] media: stm32-dcmi: fix lock scheme Thread-Topic: [PATCH v2] media: stm32-dcmi: fix lock scheme Thread-Index: AQHTrwmpSM4vnNQMJ0Knggk4gi8od6O5/aaA Date: Wed, 28 Feb 2018 17:04:52 +0000 Message-ID: <61dbbdac-08ea-4f9b-ba01-f2e243c88df2@st.com> References: <1519292954-19733-1-git-send-email-hugues.fruchet@st.com> <8cc69501-40a4-c6ba-e526-9abd2d938acb@xs4all.nl> In-Reply-To: <8cc69501-40a4-c6ba-e526-9abd2d938acb@xs4all.nl> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.75.127.46] Content-Type: text/plain; charset="utf-8" Content-ID: <9727E60C26D92D47A528B35F1DE45F6D@st.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2018-02-28_09:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgSGFucywNCg0KUHJvYmxlbSB3YXMgdGhhdCBsb2NrIHdhcyBoZWxkIHdoaWxlIGNhbGxpbmcg ZG1hZW5naW5lIEFQSXMsIHdoaWNoIA0KY2F1c2VzIGRvdWJsZSBsb2NrIGlzc3VlIHdoZW4gZG1h IGNhbGxiYWNrIHdhcyBjYWxsZWQgdW5kZXIgY29udGV4dCBvZiANCmRtYV9hc3luY19pc3N1ZV9w ZW5kaW5nKCkgKHNlZSBkY21pX3N0YXJ0X2RtYSgpICYgYmVsb3cgY29tbWVudHMpLg0KUmVzdCBv ZiBjaGFuZ2VzIGFyZSBhcm91bmQgc3Bpbl9sb2NrKCkgY2hhbmdlZCB0byBzcGluX2xvY2tfaXJx KCkgZm9yIA0Kc2FmZXIgbG9jayBtYW5hZ2VtZW50Lg0KDQpPbiAwMi8yNi8yMDE4IDAyOjU2IFBN LCBIYW5zIFZlcmt1aWwgd3JvdGU6DQo+IE9uIDAyLzIyLzIwMTggMTA6NDkgQU0sIEh1Z3VlcyBG cnVjaGV0IHdyb3RlOg0KPj4gRml4IGxvY2sgc2NoZW1lIGxlYWRpbmcgdG8gc3B1cmlvdXMgZnJl ZXplLg0KPiANCj4gQ2FuIHlvdSBlbGFib3JhdGUgYSBiaXQgbW9yZT8gSXQncyBoYXJkIHRvIHJl dmlldyBzaW5jZSB5b3UgZG9uJ3QNCj4gZGVzY3JpYmUgd2hhdCB3YXMgd3JvbmcgYW5kIHdoeSB0 aGlzIGZpeGVzIHRoZSBwcm9ibGVtLg0KPiANCj4gUmVnYXJkcywNCj4gDQo+IAlIYW5zDQo+IA0K Pj4NCj4+IFNpZ25lZC1vZmYtYnk6IEh1Z3VlcyBGcnVjaGV0IDxodWd1ZXMuZnJ1Y2hldEBzdC5j b20+DQo+PiAtLS0NCj4+IHZlcnNpb24gMjoNCj4+ICAgIC0gZGNtaV9idWZfcXVldWUoKSByZWZh Y3RvciB0byBhdm9pZCB0byBoYXZlICJlbHNlIiBhZnRlciAicmV0dXJuIg0KPj4gICAgICAod2Fy bmluZyBkZXRlY3RlZCBieSBjaGVja3BhdGNoLnBsIC0tc3RyaWN0IC1mIHN0bTMyLWRjbWkuYykN Cj4+DQo+PiAgIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vc3RtMzIvc3RtMzItZGNtaS5jIHwgNTcg KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4gICAxIGZpbGUgY2hhbmdlZCwgMjQg aW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vc3RtMzIvc3RtMzItZGNtaS5jIGIvZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS9zdG0zMi9zdG0zMi1kY21pLmMNCj4+IGluZGV4IDJmZDhiZWQuLjVkZTE4YWQgMTAwNjQ0 DQo+PiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3N0bTMyL3N0bTMyLWRjbWkuYw0KPj4g KysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zdG0zMi9zdG0zMi1kY21pLmMNCj4+IEBAIC0x OTcsNyArMTk3LDcgQEAgc3RhdGljIHZvaWQgZGNtaV9kbWFfY2FsbGJhY2sodm9pZCAqcGFyYW0p DQo+PiAgIAlzdHJ1Y3QgZG1hX3R4X3N0YXRlIHN0YXRlOw0KPj4gICAJZW51bSBkbWFfc3RhdHVz IHN0YXR1czsNCj4+ICAgDQo+PiAtCXNwaW5fbG9jaygmZGNtaS0+aXJxbG9jayk7DQo+PiArCXNw aW5fbG9ja19pcnEoJmRjbWktPmlycWxvY2spOw0KPj4gICANCj4+ICAgCS8qIENoZWNrIERNQSBz dGF0dXMgKi8NCj4+ICAgCXN0YXR1cyA9IGRtYWVuZ2luZV90eF9zdGF0dXMoY2hhbiwgZGNtaS0+ ZG1hX2Nvb2tpZSwgJnN0YXRlKTsNCj4+IEBAIC0yMzksNyArMjM5LDcgQEAgc3RhdGljIHZvaWQg ZGNtaV9kbWFfY2FsbGJhY2sodm9pZCAqcGFyYW0pDQo+PiAgIAkJCQlkY21pLT5lcnJvcnNfY291 bnQrKzsNCj4+ICAgCQkJCWRjbWktPmFjdGl2ZSA9IE5VTEw7DQo+PiAgIA0KPj4gLQkJCQlzcGlu X3VubG9jaygmZGNtaS0+aXJxbG9jayk7DQo+PiArCQkJCXNwaW5fdW5sb2NrX2lycSgmZGNtaS0+ aXJxbG9jayk7DQo+PiAgIAkJCQlyZXR1cm47DQo+PiAgIAkJCX0NCj4+ICAgDQo+PiBAQCAtMjQ4 LDEzICsyNDgsMTEgQEAgc3RhdGljIHZvaWQgZGNtaV9kbWFfY2FsbGJhY2sodm9pZCAqcGFyYW0p DQo+PiAgIA0KPj4gICAJCQlsaXN0X2RlbF9pbml0KCZkY21pLT5hY3RpdmUtPmxpc3QpOw0KPj4g ICANCj4+IC0JCQlpZiAoZGNtaV9zdGFydF9jYXB0dXJlKGRjbWkpKSB7DQo+PiArCQkJc3Bpbl91 bmxvY2tfaXJxKCZkY21pLT5pcnFsb2NrKTsNCg0KTG9jayBpcyByZWxlYXNlZCBoZXJlIGJlZm9y ZSBjYWxsaW5nIGRjbWlfc3RhcnRfY2FwdHVyZSgpIHdoaWNoIGNhbGxzIA0KZG1hX2FzeW5jX2lz c3VlX3BlbmRpbmcoKQ0KDQo+PiArCQkJaWYgKGRjbWlfc3RhcnRfY2FwdHVyZShkY21pKSkNCj4+ ICAgCQkJCWRldl9lcnIoZGNtaS0+ZGV2LCAiJXM6IENhbm5vdCByZXN0YXJ0IGNhcHR1cmUgb24g RE1BIGNvbXBsZXRlXG4iLA0KPj4gICAJCQkJCV9fZnVuY19fKTsNCj4+IC0NCj4+IC0JCQkJc3Bp bl91bmxvY2soJmRjbWktPmlycWxvY2spOw0KPj4gLQkJCQlyZXR1cm47DQo+PiAtCQkJfQ0KPj4g KwkJCXJldHVybjsNCj4+ICAgCQl9DQo+PiAgIA0KPj4gICAJCWJyZWFrOw0KPj4gQEAgLTI2Myw3 ICsyNjEsNyBAQCBzdGF0aWMgdm9pZCBkY21pX2RtYV9jYWxsYmFjayh2b2lkICpwYXJhbSkNCj4+ ICAgCQlicmVhazsNCj4+ICAgCX0NCj4+ICAgDQo+PiAtCXNwaW5fdW5sb2NrKCZkY21pLT5pcnFs b2NrKTsNCj4+ICsJc3Bpbl91bmxvY2tfaXJxKCZkY21pLT5pcnFsb2NrKTsNCj4+ICAgfQ0KPj4g ICANCj4+ICAgc3RhdGljIGludCBkY21pX3N0YXJ0X2RtYShzdHJ1Y3Qgc3RtMzJfZGNtaSAqZGNt aSwNCj4+IEBAIC0zNjAsNyArMzU4LDcgQEAgc3RhdGljIGlycXJldHVybl90IGRjbWlfaXJxX3Ro cmVhZChpbnQgaXJxLCB2b2lkICphcmcpDQo+PiAgIHsNCj4+ICAgCXN0cnVjdCBzdG0zMl9kY21p ICpkY21pID0gYXJnOw0KPj4gICANCj4+IC0Jc3Bpbl9sb2NrKCZkY21pLT5pcnFsb2NrKTsNCj4+ ICsJc3Bpbl9sb2NrX2lycSgmZGNtaS0+aXJxbG9jayk7DQo+PiAgIA0KPj4gICAJLyogU3RvcCBj YXB0dXJlIGlzIHJlcXVpcmVkICovDQo+PiAgIAlpZiAoZGNtaS0+c3RhdGUgPT0gU1RPUFBJTkcp IHsNCj4+IEBAIC0zNzAsNyArMzY4LDcgQEAgc3RhdGljIGlycXJldHVybl90IGRjbWlfaXJxX3Ro cmVhZChpbnQgaXJxLCB2b2lkICphcmcpDQo+PiAgIA0KPj4gICAJCWNvbXBsZXRlKCZkY21pLT5j b21wbGV0ZSk7DQo+PiAgIA0KPj4gLQkJc3Bpbl91bmxvY2soJmRjbWktPmlycWxvY2spOw0KPj4g KwkJc3Bpbl91bmxvY2tfaXJxKCZkY21pLT5pcnFsb2NrKTsNCj4+ICAgCQlyZXR1cm4gSVJRX0hB TkRMRUQ7DQo+PiAgIAl9DQo+PiAgIA0KPj4gQEAgLTM4MywzNSArMzgxLDM0IEBAIHN0YXRpYyBp cnFyZXR1cm5fdCBkY21pX2lycV90aHJlYWQoaW50IGlycSwgdm9pZCAqYXJnKQ0KPj4gICAJCQkg X19mdW5jX18pOw0KPj4gICANCj4+ICAgCQlkY21pLT5lcnJvcnNfY291bnQrKzsNCj4+IC0JCWRt YWVuZ2luZV90ZXJtaW5hdGVfYWxsKGRjbWktPmRtYV9jaGFuKTsNCj4+IC0NCj4+ICAgCQlkZXZf ZGJnKGRjbWktPmRldiwgIlJlc3RhcnRpbmcgY2FwdHVyZSBhZnRlciBEQ01JIGVycm9yXG4iKTsN Cj4+ICAgDQo+PiAtCQlpZiAoZGNtaV9zdGFydF9jYXB0dXJlKGRjbWkpKSB7DQo+PiArCQlzcGlu X3VubG9ja19pcnEoJmRjbWktPmlycWxvY2spOw0KTG9jayBpcyByZWxlYXNlZCBoZXJlIGJlZm9y ZSBjYWxsaW5nIGRtYSBBUElzICh0ZXJtaW5hdGUgdGhlbiANCmFzeW5jX2lzc3VlX3BlbmRpbmcp DQoNCj4+ICsJCWRtYWVuZ2luZV90ZXJtaW5hdGVfYWxsKGRjbWktPmRtYV9jaGFuKTsNCj4+ICsN Cj4+ICsJCWlmIChkY21pX3N0YXJ0X2NhcHR1cmUoZGNtaSkpDQo+PiAgIAkJCWRldl9lcnIoZGNt aS0+ZGV2LCAiJXM6IENhbm5vdCByZXN0YXJ0IGNhcHR1cmUgb24gb3ZlcmZsb3cgb3IgZXJyb3Jc biIsDQo+PiAgIAkJCQlfX2Z1bmNfXyk7DQo+PiAtDQo+PiAtCQkJc3Bpbl91bmxvY2soJmRjbWkt PmlycWxvY2spOw0KPj4gLQkJCXJldHVybiBJUlFfSEFORExFRDsNCj4+IC0JCX0NCj4+ICsJCXJl dHVybiBJUlFfSEFORExFRDsNCj4+ICAgCX0NCj4+ICAgDQo+PiAtCXNwaW5fdW5sb2NrKCZkY21p LT5pcnFsb2NrKTsNCj4+ICsJc3Bpbl91bmxvY2tfaXJxKCZkY21pLT5pcnFsb2NrKTsNCj4+ICAg CXJldHVybiBJUlFfSEFORExFRDsNCj4+ICAgfQ0KPj4gICANCj4+ICAgc3RhdGljIGlycXJldHVy bl90IGRjbWlfaXJxX2NhbGxiYWNrKGludCBpcnEsIHZvaWQgKmFyZykNCj4+ICAgew0KPj4gICAJ c3RydWN0IHN0bTMyX2RjbWkgKmRjbWkgPSBhcmc7DQo+PiArCXVuc2lnbmVkIGxvbmcgZmxhZ3M7 DQo+PiAgIA0KPj4gLQlzcGluX2xvY2soJmRjbWktPmlycWxvY2spOw0KPj4gKwlzcGluX2xvY2tf aXJxc2F2ZSgmZGNtaS0+aXJxbG9jaywgZmxhZ3MpOw0KPj4gICANCj4+ICAgCWRjbWktPm1pc3Ig PSByZWdfcmVhZChkY21pLT5yZWdzLCBEQ01JX01JUyk7DQo+PiAgIA0KPj4gICAJLyogQ2xlYXIg aW50ZXJydXB0ICovDQo+PiAgIAlyZWdfc2V0KGRjbWktPnJlZ3MsIERDTUlfSUNSLCBJVF9GUkFN RSB8IElUX09WUiB8IElUX0VSUik7DQo+PiAgIA0KPj4gLQlzcGluX3VubG9jaygmZGNtaS0+aXJx bG9jayk7DQo+PiArCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRjbWktPmlycWxvY2ssIGZsYWdz KTsNCj4+ICAgDQo+PiAgIAlyZXR1cm4gSVJRX1dBS0VfVEhSRUFEOw0KPj4gICB9DQo+PiBAQCAt NDkwLDkgKzQ4Nyw4IEBAIHN0YXRpYyB2b2lkIGRjbWlfYnVmX3F1ZXVlKHN0cnVjdCB2YjJfYnVm ZmVyICp2YikNCj4+ICAgCXN0cnVjdCBzdG0zMl9kY21pICpkY21pID0gIHZiMl9nZXRfZHJ2X3By aXYodmItPnZiMl9xdWV1ZSk7DQo+PiAgIAlzdHJ1Y3QgdmIyX3Y0bDJfYnVmZmVyICp2YnVmID0g dG9fdmIyX3Y0bDJfYnVmZmVyKHZiKTsNCj4+ICAgCXN0cnVjdCBkY21pX2J1ZiAqYnVmID0gY29u dGFpbmVyX29mKHZidWYsIHN0cnVjdCBkY21pX2J1ZiwgdmIpOw0KPj4gLQl1bnNpZ25lZCBsb25n IGZsYWdzID0gMDsNCj4+ICAgDQo+PiAtCXNwaW5fbG9ja19pcnFzYXZlKCZkY21pLT5pcnFsb2Nr LCBmbGFncyk7DQo+PiArCXNwaW5fbG9ja19pcnEoJmRjbWktPmlycWxvY2spOw0KPj4gICANCj4+ ICAgCWlmICgoZGNtaS0+c3RhdGUgPT0gUlVOTklORykgJiYgKCFkY21pLT5hY3RpdmUpKSB7DQo+ PiAgIAkJZGNtaS0+YWN0aXZlID0gYnVmOw0KPj4gQEAgLTUwMCwxOSArNDk2LDE1IEBAIHN0YXRp YyB2b2lkIGRjbWlfYnVmX3F1ZXVlKHN0cnVjdCB2YjJfYnVmZmVyICp2YikNCj4+ICAgCQlkZXZf ZGJnKGRjbWktPmRldiwgIlN0YXJ0aW5nIGNhcHR1cmUgb24gYnVmZmVyWyVkXSBxdWV1ZWRcbiIs DQo+PiAgIAkJCWJ1Zi0+dmIudmIyX2J1Zi5pbmRleCk7DQo+PiAgIA0KPj4gLQkJaWYgKGRjbWlf c3RhcnRfY2FwdHVyZShkY21pKSkgew0KPj4gKwkJc3Bpbl91bmxvY2tfaXJxKCZkY21pLT5pcnFs b2NrKTsNCkxvY2sgaXMgcmVsZWFzZWQgaGVyZSBiZWZvcmUgY2FsbGluZyBkbWEgQVBJcyAodGVy bWluYXRlIHRoZW4gDQphc3luY19pc3N1ZV9wZW5kaW5nKQ0KDQo+PiArCQlpZiAoZGNtaV9zdGFy dF9jYXB0dXJlKGRjbWkpKQ0KPj4gICAJCQlkZXZfZXJyKGRjbWktPmRldiwgIiVzOiBDYW5ub3Qg cmVzdGFydCBjYXB0dXJlIG9uIG92ZXJmbG93IG9yIGVycm9yXG4iLA0KPj4gICAJCQkJX19mdW5j X18pOw0KPj4gLQ0KPj4gLQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRjbWktPmlycWxvY2ss IGZsYWdzKTsNCj4+IC0JCQlyZXR1cm47DQo+PiAtCQl9DQo+PiAgIAl9IGVsc2Ugew0KPj4gICAJ CS8qIEVucXVldWUgdG8gdmlkZW8gYnVmZmVycyBsaXN0ICovDQo+PiAgIAkJbGlzdF9hZGRfdGFp bCgmYnVmLT5saXN0LCAmZGNtaS0+YnVmZmVycyk7DQo+PiArCQlzcGluX3VubG9ja19pcnEoJmRj bWktPmlycWxvY2spOw0KPj4gICAJfQ0KPj4gLQ0KPj4gLQlzcGluX3VubG9ja19pcnFyZXN0b3Jl KCZkY21pLT5pcnFsb2NrLCBmbGFncyk7DQo+PiAgIH0NCj4+ICAgDQo+PiAgIHN0YXRpYyBpbnQg ZGNtaV9zdGFydF9zdHJlYW1pbmcoc3RydWN0IHZiMl9xdWV1ZSAqdnEsIHVuc2lnbmVkIGludCBj b3VudCkNCj4+IEBAIC01OTgsMjAgKzU5MCwxNyBAQCBzdGF0aWMgaW50IGRjbWlfc3RhcnRfc3Ry ZWFtaW5nKHN0cnVjdCB2YjJfcXVldWUgKnZxLCB1bnNpZ25lZCBpbnQgY291bnQpDQo+PiAgIA0K Pj4gICAJZGV2X2RiZyhkY21pLT5kZXYsICJTdGFydCBzdHJlYW1pbmcsIHN0YXJ0aW5nIGNhcHR1 cmVcbiIpOw0KPj4gICANCj4+ICsJc3Bpbl91bmxvY2tfaXJxKCZkY21pLT5pcnFsb2NrKTsNCj4+ ICAgCXJldCA9IGRjbWlfc3RhcnRfY2FwdHVyZShkY21pKTsNCj4+ICAgCWlmIChyZXQpIHsNCj4+ ICAgCQlkZXZfZXJyKGRjbWktPmRldiwgIiVzOiBTdGFydCBzdHJlYW1pbmcgZmFpbGVkLCBjYW5u b3Qgc3RhcnQgY2FwdHVyZVxuIiwNCj4+ICAgCQkJX19mdW5jX18pOw0KPj4gLQ0KPj4gLQkJc3Bp bl91bmxvY2tfaXJxKCZkY21pLT5pcnFsb2NrKTsNCj4+ICAgCQlnb3RvIGVycl9zdWJkZXZfc3Ry ZWFtb2ZmOw0KPj4gICAJfQ0KPj4gICANCj4+ICAgCS8qIEVuYWJsZSBpbnRlcnJ1cHRpb25zICov DQo+PiAgIAlyZWdfc2V0KGRjbWktPnJlZ3MsIERDTUlfSUVSLCBJVF9GUkFNRSB8IElUX09WUiB8 IElUX0VSUik7DQo+PiAgIA0KPj4gLQlzcGluX3VubG9ja19pcnEoJmRjbWktPmlycWxvY2spOw0K Pj4gLQ0KPj4gICAJcmV0dXJuIDA7DQo+PiAgIA0KPj4gICBlcnJfc3ViZGV2X3N0cmVhbW9mZjoN Cj4+IEBAIC02NTQsNyArNjQzLDkgQEAgc3RhdGljIHZvaWQgZGNtaV9zdG9wX3N0cmVhbWluZyhz dHJ1Y3QgdmIyX3F1ZXVlICp2cSkNCj4+ICAgCQlkZXZfZXJyKGRjbWktPmRldiwgIiVzOiBGYWls ZWQgdG8gc3RvcCBzdHJlYW1pbmcsIHN1YmRldiBzdHJlYW1vZmYgZXJyb3IgKCVkKVxuIiwNCj4+ ICAgCQkJX19mdW5jX18sIHJldCk7DQo+PiAgIA0KPj4gKwlzcGluX2xvY2tfaXJxKCZkY21pLT5p cnFsb2NrKTsNCj4+ICAgCWRjbWktPnN0YXRlID0gU1RPUFBJTkc7DQo+PiArCXNwaW5fdW5sb2Nr X2lycSgmZGNtaS0+aXJxbG9jayk7DQo+PiAgIA0KPj4gICAJdGltZW91dCA9IHdhaXRfZm9yX2Nv bXBsZXRpb25faW50ZXJydXB0aWJsZV90aW1lb3V0KCZkY21pLT5jb21wbGV0ZSwNCj4+ICAgCQkJ CQkJCSAgICB0aW1lX21zKTsNCj4+DQo+IA0KDQpCZXN0IHJlZ2FyZHMsDQpIdWd1ZXMu