From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C874FC282E1 for ; Tue, 23 Apr 2019 11:00:08 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 889DF21738 for ; Tue, 23 Apr 2019 11:00:08 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=renesasgroup.onmicrosoft.com header.i=@renesasgroup.onmicrosoft.com header.b="fTcG6U4u" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727450AbfDWLAH (ORCPT ); Tue, 23 Apr 2019 07:00:07 -0400 Received: from mail-eopbgr1400122.outbound.protection.outlook.com ([40.107.140.122]:15343 "EHLO JPN01-TY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726150AbfDWLAH (ORCPT ); Tue, 23 Apr 2019 07:00:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GHJ9O1hcKIG69V8lnRWQ6s+MrrMpE09DofPMqOYeJxw=; b=fTcG6U4uFTVozYqtLGktpT1pNk4LGjLv3u4HTdOjZIdNKCiWiZfwCgFUD7EHTc5yA42FmC57q2/yNUFW5NHDGDAUGKgyn7+6comaqPYi+xB2N03P4BvjgaXnmEiIClOb2uY1uaqDldcTws+E/2RIKwRKbx2d6CaTTcy8t8lL00s= Received: from OSBPR01MB1733.jpnprd01.prod.outlook.com (52.134.227.22) by OSBPR01MB3416.jpnprd01.prod.outlook.com (20.178.99.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1835.12; Tue, 23 Apr 2019 11:00:01 +0000 Received: from OSBPR01MB1733.jpnprd01.prod.outlook.com ([fe80::902e:1148:6b6d:8280]) by OSBPR01MB1733.jpnprd01.prod.outlook.com ([fe80::902e:1148:6b6d:8280%3]) with mapi id 15.20.1813.017; Tue, 23 Apr 2019 11:00:01 +0000 From: Yoshihiro Shimoda To: Biju Das CC: Greg Kroah-Hartman , Heikki Krogerus , Simon Horman , Fabrizio Castro , Kees Cook , "linux-usb@vger.kernel.org" , Simon Horman , Geert Uytterhoeven , Chris Paterson , "linux-renesas-soc@vger.kernel.org" , Felipe Balbi Subject: RE: [PATCH V4 4/7] usb: gadget: udc: renesas_usb3: Use usb_role_switch framework Thread-Topic: [PATCH V4 4/7] usb: gadget: udc: renesas_usb3: Use usb_role_switch framework Thread-Index: AQHU9DkRq+R3PL3OeUiWbh22/w5vtKZJDA1QgABziQCAABt+kA== Date: Tue, 23 Apr 2019 11:00:01 +0000 Message-ID: References: <1555407487-35394-1-git-send-email-biju.das@bp.renesas.com> <1555407487-35394-5-git-send-email-biju.das@bp.renesas.com> In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=yoshihiro.shimoda.uh@renesas.com; x-originating-ip: [118.238.235.108] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d3417ac5-7577-41f4-d477-08d6c7dad589 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020);SRVR:OSBPR01MB3416; x-ms-traffictypediagnostic: OSBPR01MB3416: x-ms-exchange-purlcount: 1 x-microsoft-antispam-prvs: x-forefront-prvs: 0016DEFF96 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(979002)(376002)(396003)(346002)(39860400002)(366004)(136003)(51914003)(199004)(189003)(53936002)(6306002)(9686003)(4326008)(68736007)(25786009)(55016002)(86362001)(74316002)(478600001)(7736002)(6246003)(6862004)(305945005)(14454004)(66066001)(7696005)(76176011)(6506007)(99286004)(54906003)(52536014)(66476007)(3846002)(64756008)(229853002)(33656002)(6116002)(66446008)(66946007)(5660300002)(73956011)(66556008)(76116006)(81166006)(316002)(8936002)(81156014)(8676002)(93886005)(97736004)(71190400001)(71200400001)(186003)(256004)(486006)(6436002)(14444005)(102836004)(11346002)(2906002)(446003)(26005)(476003)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1102;SCL:1;SRVR:OSBPR01MB3416;H:OSBPR01MB1733.jpnprd01.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: RmMIpXtZHSEU7IQzjtwRYIjzruGG/LRUi5POF5xxwV2YvW8z+zqTJOaxk25dR987VHXg44zBHyd1ptIxfJMahPsfQopJqBbH1qF9AOTMbmjDJtCiTmaC+HNfuxddrqfD8ZpM/LL3bDgOzItkiMPaibrsVH/DKFAVPEQ/wlXZ2Bu8DUp2/+JCigetQQr6og8Ks5tDGtQStxKaee1TWwphgvtiK+IgYTfBrtyM6z9f7PwETnU9wpHEn/xnRrTQCVyAgyiXuf/q2H+JUSOePnft7AV3yFiG1r2EhWTmfIsjGQ/MyZtq2nQxIyzAerdoDwTJxmbQk+MasMi480G5cnD5mgQO5DaQ1P5mSpu1/KM/Wt7VxyJAdEyBuvTkaKX+45A4HLfnkXy7phQVv2ur+kWQhaMCG+Bh/1aiMzmuKJ68X4c= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: d3417ac5-7577-41f4-d477-08d6c7dad589 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Apr 2019 11:00:01.7230 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSBPR01MB3416 Sender: linux-renesas-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.org Hi Biju-san, > From: Biju Das, Sent: Tuesday, April 23, 2019 6:08 PM >=20 > Hi Shimoda-San, >=20 > Thanks for the feedback. >=20 > > Subject: RE: [PATCH V4 4/7] usb: gadget: udc: renesas_usb3: Use > > usb_role_switch framework > > > > Hi Biju-san, > > > > Thank you for the patch! > > > > > From: Biju Das, Sent: Tuesday, April 16, 2019 6:38 PM > > > > > > RZ/G2E cat874 board is capable of detecting cable connect and > > > disconnect events. Add support for renesas_usb3 to receive connect an= d > > > disconnect events and support dual-role switch using usb-role-switch > > framework. > > > > > > Signed-off-by: Biju Das > > > --- > > > V3-->V4 > > > * No Change > > > V2-->V3 > > > * Incorporated Shimoda-san's review comment > > > (https://patchwork.kernel.org/patch/10852507/) > > > * Used renesas,usb-role-switch property for differentiating USB > > > role switch associated with Type-C port controller driver. > > > V1-->V2 > > > * Driver uses usb role clas for handling dual role switch and hand= ling > > > connect/disconnect events instead of extcon. > > > > > > > +static void usb3_check_vbus(struct renesas_usb3 *usb3) { > > > + if (usb3->workaround_for_vbus) { > > > + if (usb3->usb_role_switch_property) { > > > + if (usb3->connection_state =3D=3D USB_ROLE_DEVICE) { > > > + usb3_mode_config(usb3, false, false); > > > > I should have pointed it out the previous version though, why does this > > usb3_mode_config() calling need? > > My guess is: > > - renesas_usb3_start() calls renesas_usb3_init_controller(). > > -- renesas_usb3_init_controller() calls usb3_check_id() and then > > usb_check_vbus(). > > --- usb_check_id() calls usb3_mode_config(usb3, true, true) and then t= he > > HW acts as host mode. > > ----> So, you'd like the HW to acts as peripheral mode when the > > connection_state is USB_ROLE_DEVICE, > > you added that the usb3_check_vbus() calls usb3_mode_config(usb3= , > > false, false). > > > > Is my guess correct? If so, I'd like to add such code into usb3_check_i= d() like > > below: >=20 > Yes, it is almost correct. The scenario I am trying is >=20 > [1] USB type C cable connected to a Host Machine(TI chip identifies as D= evice connection. But we haven't installed Gadget > module for Device operation) >=20 > [2] After that trying to install gadget module. In this case, it calls u= sb_check_id() as mentioned above > and configure it as Host mode. Thank you for the explanation. > > if ((usb3->extcon_host && !usb3->forced_b_device) || > > (usb3->usb_role_switch_property && > > usb3->connection_state =3D=3D USB_ROLE_HOST)) > > usb3_mode_config(usb3, true, true); > > else > > usb3_mode_config(usb3, false, false); > > > > What do you think? >=20 > Since as per [1], usb3->extcon_host=3D1 and !usb3->forced_b_device =3D=3D= 1 , The above code always enter into Host Mode > configuration. Oops. Thank you for the pointed it out. > To make it work, I need to update " usb3->forced_b_device" based on con= nection_state from TI chip. So the new code look > like Since the forced_b_device is related to debug purpose (controlled by debugf= s), I don't want to use the value for type-c. > 1) There is no change in usb_check_id() call. >=20 > if (usb3->extcon_host && !usb3->forced_b_device) > usb3_mode_config(usb3, true, true); > else > usb3_mode_config(usb3, false, false); >=20 > 2) Update "usb3->forced_b_device" variable based on connection_state. >=20 > @@ -2370,6 +2376,7 @@ static void handle_ext_role_switch_states(struct de= vice *dev, > usb3_vbus_out(usb3, false); > break; > case USB_ROLE_DEVICE: > + usb3->forced_b_device =3D true; > if (usb3->connection_state =3D=3D USB_ROLE_NONE) { > usb3->connection_state =3D USB_ROLE_DEVICE; > usb3_set_mode(usb3, false); > @@ -2384,6 +2391,7 @@ static void handle_ext_role_switch_states(struct de= vice *dev, > usb3_vbus_out(usb3, false); > break; > case USB_ROLE_HOST: > + usb3->forced_b_device =3D false; >=20 > Can you please confirm are you ok with this changes? Or do you prefer the= previous one? I'd like to change usb3_check_id() somehow. How about the following conditions? In type-c environment, since usb3->usb_role_switch_property is true, it should be OK for it. if ((!usb3->usb_role_switch_property && usb3->extcon_host && !usb3->forced_b_device) || (usb3->usb_role_switch_property && usb3->connection_state =3D=3D USB_ROLE_HOST)) usb3_mode_config(usb3, true, true); else usb3_mode_config(usb3, false, false); Best regards, Yoshihiro Shimoda > Note:- > I have done only sanity testing with this changes. >=20 > Regards, > Biju >=20 >=20 >=20 >=20 >=20 >=20 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: [V4,4/7] usb: gadget: udc: renesas_usb3: Use usb_role_switch framework From: Yoshihiro Shimoda Message-Id: Date: Tue, 23 Apr 2019 11:00:01 +0000 To: Biju Das Cc: Greg Kroah-Hartman , Heikki Krogerus , Simon Horman , Fabrizio Castro , Kees Cook , "linux-usb@vger.kernel.org" , Simon Horman , Geert Uytterhoeven , Chris Paterson , "linux-renesas-soc@vger.kernel.org" , Felipe Balbi List-ID: SGkgQmlqdS1zYW4sCgo+IEZyb206IEJpanUgRGFzLCBTZW50OiBUdWVzZGF5LCBBcHJpbCAyMywg MjAxOSA2OjA4IFBNCj4gCj4gSGkgU2hpbW9kYS1TYW4sCj4gCj4gVGhhbmtzIGZvciB0aGUgZmVl ZGJhY2suCj4gCj4gPiBTdWJqZWN0OiBSRTogW1BBVENIIFY0IDQvN10gdXNiOiBnYWRnZXQ6IHVk YzogcmVuZXNhc191c2IzOiBVc2UKPiA+IHVzYl9yb2xlX3N3aXRjaCBmcmFtZXdvcmsKPiA+Cj4g PiBIaSBCaWp1LXNhbiwKPiA+Cj4gPiBUaGFuayB5b3UgZm9yIHRoZSBwYXRjaCEKPiA+Cj4gPiA+ IEZyb206IEJpanUgRGFzLCBTZW50OiBUdWVzZGF5LCBBcHJpbCAxNiwgMjAxOSA2OjM4IFBNCj4g PiA+Cj4gPiA+IFJaL0cyRSBjYXQ4NzQgYm9hcmQgaXMgY2FwYWJsZSBvZiBkZXRlY3RpbmcgY2Fi bGUgY29ubmVjdCBhbmQKPiA+ID4gZGlzY29ubmVjdCBldmVudHMuIEFkZCBzdXBwb3J0IGZvciBy ZW5lc2FzX3VzYjMgdG8gcmVjZWl2ZSBjb25uZWN0IGFuZAo+ID4gPiBkaXNjb25uZWN0IGV2ZW50 cyBhbmQgc3VwcG9ydCBkdWFsLXJvbGUgc3dpdGNoIHVzaW5nIHVzYi1yb2xlLXN3aXRjaAo+ID4g ZnJhbWV3b3JrLgo+ID4gPgo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBCaWp1IERhcyA8YmlqdS5kYXNA YnAucmVuZXNhcy5jb20+Cj4gPiA+IC0tLQo+ID4gPiAgVjMtLT5WNAo+ID4gPiAgICAqIE5vIENo YW5nZQo+ID4gPiAgVjItLT5WMwo+ID4gPiAgICAqIEluY29ycG9yYXRlZCBTaGltb2RhLXNhbidz IHJldmlldyBjb21tZW50Cj4gPiA+ICAgICAgKGh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcv cGF0Y2gvMTA4NTI1MDcvKQo+ID4gPiAgICAqIFVzZWQgcmVuZXNhcyx1c2Itcm9sZS1zd2l0Y2gg cHJvcGVydHkgZm9yIGRpZmZlcmVudGlhdGluZyBVU0IKPiA+ID4gICAgICByb2xlIHN3aXRjaCBh c3NvY2lhdGVkIHdpdGggVHlwZS1DIHBvcnQgY29udHJvbGxlciBkcml2ZXIuCj4gPiA+ICBWMS0t PlYyCj4gPiA+ICAgICogRHJpdmVyIHVzZXMgdXNiIHJvbGUgY2xhcyBmb3IgaGFuZGxpbmcgZHVh bCByb2xlIHN3aXRjaCBhbmQgaGFuZGxpbmcKPiA+ID4gICAgICBjb25uZWN0L2Rpc2Nvbm5lY3Qg ZXZlbnRzIGluc3RlYWQgb2YgZXh0Y29uLgo+ID4gPHNuaXA+Cj4gPgo+ID4gPiArc3RhdGljIHZv aWQgdXNiM19jaGVja192YnVzKHN0cnVjdCByZW5lc2FzX3VzYjMgKnVzYjMpIHsKPiA+ID4gKwlp ZiAodXNiMy0+d29ya2Fyb3VuZF9mb3JfdmJ1cykgewo+ID4gPiArCQlpZiAodXNiMy0+dXNiX3Jv bGVfc3dpdGNoX3Byb3BlcnR5KSB7Cj4gPiA+ICsJCQlpZiAodXNiMy0+Y29ubmVjdGlvbl9zdGF0 ZSA9PSBVU0JfUk9MRV9ERVZJQ0UpIHsKPiA+ID4gKwkJCQl1c2IzX21vZGVfY29uZmlnKHVzYjMs IGZhbHNlLCBmYWxzZSk7Cj4gPgo+ID4gSSBzaG91bGQgaGF2ZSBwb2ludGVkIGl0IG91dCB0aGUg cHJldmlvdXMgdmVyc2lvbiB0aG91Z2gsIHdoeSBkb2VzIHRoaXMKPiA+IHVzYjNfbW9kZV9jb25m aWcoKSBjYWxsaW5nIG5lZWQ/Cj4gPiBNeSBndWVzcyBpczoKPiA+ICAtIHJlbmVzYXNfdXNiM19z dGFydCgpIGNhbGxzIHJlbmVzYXNfdXNiM19pbml0X2NvbnRyb2xsZXIoKS4KPiA+ICAtLSByZW5l c2FzX3VzYjNfaW5pdF9jb250cm9sbGVyKCkgY2FsbHMgdXNiM19jaGVja19pZCgpIGFuZCB0aGVu Cj4gPiB1c2JfY2hlY2tfdmJ1cygpLgo+ID4gIC0tLSB1c2JfY2hlY2tfaWQoKSBjYWxscyB1c2Iz X21vZGVfY29uZmlnKHVzYjMsIHRydWUsIHRydWUpIGFuZCB0aGVuIHRoZQo+ID4gSFcgYWN0cyBh cyBob3N0IG1vZGUuCj4gPiAgLS0tLT4gU28sIHlvdSdkIGxpa2UgdGhlIEhXIHRvIGFjdHMgYXMg cGVyaXBoZXJhbCBtb2RlIHdoZW4gdGhlCj4gPiBjb25uZWN0aW9uX3N0YXRlIGlzIFVTQl9ST0xF X0RFVklDRSwKPiA+ICAgICAgICB5b3UgYWRkZWQgdGhhdCB0aGUgdXNiM19jaGVja192YnVzKCkg Y2FsbHMgdXNiM19tb2RlX2NvbmZpZyh1c2IzLAo+ID4gZmFsc2UsIGZhbHNlKS4KPiA+Cj4gPiBJ cyBteSBndWVzcyBjb3JyZWN0PyBJZiBzbywgSSdkIGxpa2UgdG8gYWRkIHN1Y2ggY29kZSBpbnRv IHVzYjNfY2hlY2tfaWQoKSBsaWtlCj4gPiBiZWxvdzoKPiAKPiBZZXMsIGl0IGlzIGFsbW9zdCBj b3JyZWN0LiBUaGUgc2NlbmFyaW8gSSBhbSB0cnlpbmcgaXMKPiAKPiBbMV0gVVNCIHR5cGUgQyAg Y2FibGUgY29ubmVjdGVkIHRvIGEgSG9zdCBNYWNoaW5lKFRJIGNoaXAgaWRlbnRpZmllcyBhcyBE ZXZpY2UgY29ubmVjdGlvbi4gQnV0IHdlIGhhdmVuJ3QgaW5zdGFsbGVkIEdhZGdldAo+IG1vZHVs ZSBmb3IgRGV2aWNlIG9wZXJhdGlvbikKPiAKPiBbMl0gQWZ0ZXIgdGhhdCB0cnlpbmcgdG8gaW5z dGFsbCBnYWRnZXQgbW9kdWxlLiBJbiB0aGlzIGNhc2UsICBpdCBjYWxscyB1c2JfY2hlY2tfaWQo KSBhcyBtZW50aW9uZWQgYWJvdmUKPiBhbmQgY29uZmlndXJlIGl0IGFzIEhvc3QgbW9kZS4KClRo YW5rIHlvdSBmb3IgdGhlIGV4cGxhbmF0aW9uLgoKPiA+IAlpZiAoKHVzYjMtPmV4dGNvbl9ob3N0 ICYmICF1c2IzLT5mb3JjZWRfYl9kZXZpY2UpIHx8Cj4gPiAJICAgICh1c2IzLT51c2Jfcm9sZV9z d2l0Y2hfcHJvcGVydHkgJiYKPiA+IAkgICAgIHVzYjMtPmNvbm5lY3Rpb25fc3RhdGUgPT0gVVNC X1JPTEVfSE9TVCkpCj4gPiAJCXVzYjNfbW9kZV9jb25maWcodXNiMywgdHJ1ZSwgdHJ1ZSk7Cj4g PiAJZWxzZQo+ID4gCQl1c2IzX21vZGVfY29uZmlnKHVzYjMsIGZhbHNlLCBmYWxzZSk7Cj4gPgo+ ID4gV2hhdCBkbyB5b3UgdGhpbms/Cj4gCj4gU2luY2UgYXMgcGVyIFsxXSwgdXNiMy0+ZXh0Y29u X2hvc3Q9MSBhbmQgIXVzYjMtPmZvcmNlZF9iX2RldmljZSA9PTEgICwgIFRoZSBhYm92ZSBjb2Rl IGFsd2F5cyBlbnRlciBpbnRvIEhvc3QgTW9kZQo+IGNvbmZpZ3VyYXRpb24uCgpPb3BzLiBUaGFu ayB5b3UgZm9yIHRoZSBwb2ludGVkIGl0IG91dC4KCj4gVG8gbWFrZSBpdCB3b3JrLCAgSSBuZWVk IHRvIHVwZGF0ZSAgIiB1c2IzLT5mb3JjZWRfYl9kZXZpY2UiIGJhc2VkIG9uIGNvbm5lY3Rpb25f c3RhdGUgZnJvbSBUSSBjaGlwLiBTbyB0aGUgbmV3IGNvZGUgbG9vawo+IGxpa2UKClNpbmNlIHRo ZSBmb3JjZWRfYl9kZXZpY2UgaXMgcmVsYXRlZCB0byBkZWJ1ZyBwdXJwb3NlIChjb250cm9sbGVk IGJ5IGRlYnVnZnMpLCBJIGRvbid0IHdhbnQgdG8gdXNlIHRoZSB2YWx1ZSBmb3IgdHlwZS1jLgoK PiAxKSBUaGVyZSBpcyBubyBjaGFuZ2UgaW4gdXNiX2NoZWNrX2lkKCkgY2FsbC4KPiAKPiBpZiAo dXNiMy0+ZXh0Y29uX2hvc3QgJiYgIXVzYjMtPmZvcmNlZF9iX2RldmljZSkKPiAgICAgdXNiM19t b2RlX2NvbmZpZyh1c2IzLCB0cnVlLCB0cnVlKTsKPiAgICBlbHNlCj4gICAgIHVzYjNfbW9kZV9j b25maWcodXNiMywgZmFsc2UsIGZhbHNlKTsKPiAKPiAyKSBVcGRhdGUgInVzYjMtPmZvcmNlZF9i X2RldmljZSIgdmFyaWFibGUgIGJhc2VkIG9uIGNvbm5lY3Rpb25fc3RhdGUuCj4gCj4gQEAgLTIz NzAsNiArMjM3Niw3IEBAIHN0YXRpYyB2b2lkIGhhbmRsZV9leHRfcm9sZV9zd2l0Y2hfc3RhdGVz KHN0cnVjdCBkZXZpY2UgKmRldiwKPiAgICAgICAgICAgICAgICAgdXNiM192YnVzX291dCh1c2Iz LCBmYWxzZSk7Cj4gICAgICAgICAgICAgICAgIGJyZWFrOwo+ICAgICAgICAgY2FzZSBVU0JfUk9M RV9ERVZJQ0U6Cj4gKyAgICAgICAgICAgICAgIHVzYjMtPmZvcmNlZF9iX2RldmljZSA9IHRydWU7 Cj4gICAgICAgICAgICAgICAgIGlmICh1c2IzLT5jb25uZWN0aW9uX3N0YXRlID09IFVTQl9ST0xF X05PTkUpIHsKPiAgICAgICAgICAgICAgICAgICAgICAgICB1c2IzLT5jb25uZWN0aW9uX3N0YXRl ID0gVVNCX1JPTEVfREVWSUNFOwo+ICAgICAgICAgICAgICAgICAgICAgICAgIHVzYjNfc2V0X21v ZGUodXNiMywgZmFsc2UpOwo+IEBAIC0yMzg0LDYgKzIzOTEsNyBAQCBzdGF0aWMgdm9pZCBoYW5k bGVfZXh0X3JvbGVfc3dpdGNoX3N0YXRlcyhzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gICAgICAgICAg ICAgICAgIHVzYjNfdmJ1c19vdXQodXNiMywgZmFsc2UpOwo+ICAgICAgICAgICAgICAgICBicmVh azsKPiAgICAgICAgIGNhc2UgVVNCX1JPTEVfSE9TVDoKPiArICAgICAgICAgICAgICAgdXNiMy0+ Zm9yY2VkX2JfZGV2aWNlID0gZmFsc2U7Cj4gCj4gQ2FuIHlvdSBwbGVhc2UgY29uZmlybSBhcmUg eW91IG9rIHdpdGggdGhpcyBjaGFuZ2VzPyBPciBkbyB5b3UgcHJlZmVyIHRoZSBwcmV2aW91cyBv bmU/CgpJJ2QgbGlrZSB0byBjaGFuZ2UgdXNiM19jaGVja19pZCgpIHNvbWVob3cuCkhvdyBhYm91 dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM/IEluIHR5cGUtYyBlbnZpcm9ubWVudCwKc2luY2Ug dXNiMy0+dXNiX3JvbGVfc3dpdGNoX3Byb3BlcnR5IGlzIHRydWUsIGl0IHNob3VsZCBiZSBPSyBm b3IgaXQuCgoJaWYgKCghdXNiMy0+dXNiX3JvbGVfc3dpdGNoX3Byb3BlcnR5ICYmCgkgICAgIHVz YjMtPmV4dGNvbl9ob3N0ICYmICF1c2IzLT5mb3JjZWRfYl9kZXZpY2UpIHx8CgkgICAgKHVzYjMt PnVzYl9yb2xlX3N3aXRjaF9wcm9wZXJ0eSAmJgoJICAgICB1c2IzLT5jb25uZWN0aW9uX3N0YXRl ID09IFVTQl9ST0xFX0hPU1QpKQoJCXVzYjNfbW9kZV9jb25maWcodXNiMywgdHJ1ZSwgdHJ1ZSk7 CgllbHNlCgkJdXNiM19tb2RlX2NvbmZpZyh1c2IzLCBmYWxzZSwgZmFsc2UpOwoKQmVzdCByZWdh cmRzLApZb3NoaWhpcm8gU2hpbW9kYQoKPiBOb3RlOi0KPiAgSSBoYXZlIGRvbmUgb25seSBzYW5p dHkgdGVzdGluZyB3aXRoIHRoaXMgY2hhbmdlcy4KPiAKPiBSZWdhcmRzLAo+IEJpanUKPiAKPiAK PiAKPiAKPiAKPgo=