Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp1736891ybg; Thu, 30 Jul 2020 01:01:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwH59rzS+2lAi6T7Bocqhm3KQhm9wBLxOYXdULgDABdiDp4ELljF06NwCo+v1a/yqt2kkot X-Received: by 2002:a50:d80c:: with SMTP id o12mr1463433edj.265.1596096114238; Thu, 30 Jul 2020 01:01:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596096114; cv=none; d=google.com; s=arc-20160816; b=rPHw4Ge/vI25H5fZ6qCUCtspQ7sf3DwKijVfEHcgXh3TZGyJA+zIWHfBb7NAW4zlk9 WW7Qt/dqP4hpmebEiypgfCidJR/F3uhzXilbxzh9sllmI0NVDrQjNtfRG8ZvNkxqFi2v K7Pow9VenAPohErXz/IAEJVcXl6YtJLPj9k2ylLnWM3EEdUGm4D0XCPwjmSpk1o8uwLy 3xnihR8Zf63mrd9xQBNYlYkCDCE8c7VBqNR+sUuv4zF6EY4Cil09vapxp1eEPhfVZoZ4 nY8RwJKVntDwVJ3o40YpKYePUP8iCdVbP7hG065UQHA3wDnPvzPuwEEuKJQYABqTHAwc rDrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:date:cc:to:from:subject:message-id :dkim-signature; bh=QT+uX98yM5wPRP87L48QAc838LaBBRGGnUX+x83+Owg=; b=SntzLcqMQ4WRYwaIOsspTm5v/XWAeb3FR6jcTsdxAHr5Eo8VPQ2bMFzJjX3NWvmsVI DPM76fK/vZM2wgM4LIwjq1Km3KMR+t0gm4J2GA+9a6z0wj82OsaRbkxnIWGZf8pys6A0 vMDnaHB+y53ZjZWtSJVaeq6P2XqKx3pXOTCT1c9oo//fZkgn+VoF6oMEhcIyRdgotHez Gb/L4mUuBhAEV+orvPU8PfO1ltZH1LN7LcEPoFai5QJFBqB4l0oWrALg5b/8XCA1l3es kLOJfJy6Zd+xWIEtK20KJWBVFXXXtVhuXO9rYra5XLijl6ZajkrZvpy3OVBsNyARP1tZ o7rQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=OqZmBKfC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ci27si2836557ejc.179.2020.07.30.01.01.31; Thu, 30 Jul 2020 01:01:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=OqZmBKfC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728963AbgG3H7a (ORCPT + 99 others); Thu, 30 Jul 2020 03:59:30 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:19673 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726287AbgG3H7a (ORCPT ); Thu, 30 Jul 2020 03:59:30 -0400 X-UUID: e53749c82c5d4c4c83cea0408cbe472f-20200730 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=QT+uX98yM5wPRP87L48QAc838LaBBRGGnUX+x83+Owg=; b=OqZmBKfClQ377MsFIHx97ZfUYVRWoTZ8P4PJF8nipz/Qgf4+bVzMc5xfxhp/KCA/SMO9E1feGzv2B/pxSRA57Q0wUC9AawHa0j2OjviT2gDwmRsmmpboPqYrY6n6e+See9/BDcXVQZrGklwVut2mkJvSGeOcFT90O55RcTGptsM=; X-UUID: e53749c82c5d4c4c83cea0408cbe472f-20200730 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1907766939; Thu, 30 Jul 2020 15:59:23 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 30 Jul 2020 15:59:19 +0800 Received: from [172.21.77.33] (172.21.77.33) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 30 Jul 2020 15:59:19 +0800 Message-ID: <1596095961.17247.51.camel@mtkswgap22> Subject: Re: [PATCH v2] scsi: ufs: Fix possible infinite loop in ufshcd_hold From: Stanley Chu To: Can Guo CC: , , , , , , , , , , , , , , , , , Date: Thu, 30 Jul 2020 15:59:21 +0800 In-Reply-To: <4cb7403fae7226b70a133d4a7ecee755@codeaurora.org> References: <20200729024037.23105-1-stanley.chu@mediatek.com> <1596018374.17247.41.camel@mtkswgap22> <4cb7403fae7226b70a133d4a7ecee755@codeaurora.org> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 MIME-Version: 1.0 X-TM-SNTS-SMTP: F7CFC4EC7F7578863B89E2903609534A2B1AFCBEF5FD0A01094A74EAE3E32E5E2000:8 X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgQ2FuLA0KDQpPbiBXZWQsIDIwMjAtMDctMjkgYXQgMTg6NTMgKzA4MDAsIENhbiBHdW8gd3Jv dGU6DQo+IEhpIFN0YW5sZXksDQo+IA0KPiBPbiAyMDIwLTA3LTI5IDE4OjI2LCBTdGFubGV5IENo dSB3cm90ZToNCj4gPiBIaSBDYW4sDQo+ID4gDQo+ID4gT24gV2VkLCAyMDIwLTA3LTI5IGF0IDE2 OjQzICswODAwLCBDYW4gR3VvIHdyb3RlOg0KPiA+PiBIaSBTdGFubGV5LA0KPiA+PiANCj4gPj4g T24gMjAyMC0wNy0yOSAxMDo0MCwgU3RhbmxleSBDaHUgd3JvdGU6DQo+ID4+ID4gSW4gdWZzaGNk X3N1c3BlbmQoKSwgYWZ0ZXIgY2xrLWdhdGluZyBpcyBzdXNwZW5kZWQgYW5kIGxpbmsgaXMgc2V0 DQo+ID4+ID4gYXMgSGliZXJuOCBzdGF0ZSwgdWZzaGNkX2hvbGQoKSBpcyBzdGlsbCBwb3NzaWJs eSBpbnZva2VkIGJlZm9yZQ0KPiA+PiA+IHVmc2hjZF9zdXNwZW5kKCkgcmV0dXJucy4gRm9yIGV4 YW1wbGUsIE1lZGlhVGVrJ3Mgc3VzcGVuZCB2b3BzIG1heQ0KPiA+PiA+IGlzc3VlIFVJQyBjb21t YW5kcyB3aGljaCB3b3VsZCBjYWxsIHVmc2hjZF9ob2xkKCkgZHVyaW5nIHRoZSBjb21tYW5kDQo+ ID4+ID4gaXNzdWluZyBmbG93Lg0KPiA+PiA+DQo+ID4+ID4gTm93IGlmIFVGU0hDRF9DQVBfSElC RVJOOF9XSVRIX0NMS19HQVRJTkcgY2FwYWJpbGl0eSBpcyBlbmFibGVkLA0KPiA+PiA+IHRoZW4g dWZzaGNkX2hvbGQoKSBtYXkgZW50ZXIgaW5maW5pdGUgbG9vcHMgYmVjYXVzZSB0aGVyZSBpcyBu bw0KPiA+PiA+IGNsay11bmdhdGluZyB3b3JrIHNjaGVkdWxlZCBvciBwZW5kaW5nLiBJbiB0aGlz IGNhc2UsIHVmc2hjZF9ob2xkKCkNCj4gPj4gPiBzaGFsbCBqdXN0IGJ5cGFzcywgYW5kIGtlZXAg dGhlIGxpbmsgYXMgSGliZXJuOCBzdGF0ZS4NCj4gPj4gPg0KPiA+PiANCj4gPj4gVGhlIGluZmlu aXRlIGxvb3AgaXMgZXhwZWN0ZWQgYXMgdWZzaGNkX2hvbGQgaXMgY2FsbGVkIGFnYWluIGFmdGVy DQo+ID4+IGxpbmsgaXMgcHV0IHRvIGhpYmVybjggc3RhdGUsIHNvIGluIFFDT00ncyBjb2RlLCB3 ZSBuZXZlciBkbyB0aGlzLg0KPiA+IA0KPiA+IFNhZGx5IE1lZGlhVGVrIGhhdmUgdG8gZG8gdGhp cyB0byBtYWtlIG91ciBVbmlQcm8gdG8gZW50ZXIgbG93LXBvd2VyDQo+ID4gbW9kZS4NCj4gPiAN Cj4gPj4gVGhlIGNhcCBVRlNIQ0RfQ0FQX0hJQkVSTjhfV0lUSF9DTEtfR0FUSU5HIG1lYW5zIFVJ QyBsaW5rIHN0YXRlDQo+ID4+IG11c3Qgbm90IGJlIEhJQkVSTjggYWZ0ZXIgdWZzaGNkX2hvbGQo YXN5bmM9ZmFsc2UpIHJldHVybnMuDQo+ID4gDQo+ID4gSWYgZHJpdmVyIGlzIG5vdCBpbiBQTSBz Y2VuYXJpb3MsIGUuZy4sIHN1c3BlbmRlZCwgYWJvdmUgc3RhdGVtZW50IA0KPiA+IHNoYWxsDQo+ ID4gYmUgYWx3YXlzIGZvbGxvd2VkLiBCdXQgdHdvIG9idmlvdXMgdmlvbGF0aW9ucyBhcmUgZXhp c3RlZCwNCj4gPiANCj4gPiAxLiBJbiB1ZnNoY2Rfc3VzcGVuZCgpLCBsaW5rIGlzIHNldCBhcyBI SUJFUk44IGJlaGluZCB1ZnNoY2RfaG9sZCgpDQo+ID4gMi4gSW4gdWZzaGNkX3Jlc3VtZSgpLCBs aW5rIGlzIHNldCBiYWNrIGFzIEFjdGl2ZSBiZWZvcmUNCj4gPiB1ZnNoY2RfcmVsZWFzZSgpIGlz IGludm9rZWQNCj4gPiANCj4gPiBTbyBhcyBteSB1bmRlcnN0YW5kaW5nLCBzcGVjaWFsIGNvbmRp dGlvbnMgYXJlIGFsbG93ZWQgaW4gUE0gc2NlbmFyaW9zLA0KPiA+IGFuZCB0aGlzIGlzIHdoeSAi aGJhLT5jbGtfZ2F0aW5nLmlzX3N1c3BlbmRlZCIgaXMgaW50cm9kdWNlZC4gQnkgdGhpcw0KPiA+ IHRob3VnaHQsIEkgdXNlZCAiaGJhLT5jbGtfZ2F0aW5nLmlzX3N1c3BlbmRlZCIgaW4gdGhpcyBw YXRjaCBhcyB0aGUNCj4gPiBtYW5kYXRvcnkgY29uZGl0aW9uIHRvIGFsbG93IHVmc2hjZF9ob2xk KCkgdXNhZ2UgaW4gdmVuZG9yIHN1c3BlbmQgYW5kDQo+ID4gcmVzdW1lIGNhbGxiYWNrcy4NCj4g PiANCj4gPiANCj4gPj4gSW5zdGVhZCBvZiBiYWlsaW5nIG91dCBmcm9tIHRoYXQgbG9vcCwgd2hp Y2ggbWFrZXMgdGhlIGxvZ2ljIG9mDQo+ID4+IHVmc2hjZF9ob2xkIGFuZCBjbGsgZ2F0aW5nIGV2 ZW4gbW9yZSBjb21wbGV4LCBob3cgYWJvdXQgcmVtb3ZpbmcNCj4gPj4gdWZzaGNkX2hvbGQvcmVs ZWFzZSBmcm9tIHVmc2hjZF9zZW5kX3VpY19jbWQoKT8gSSB0aGluayB0aGV5IGFyZQ0KPiA+PiBy ZWR1bmRhbnQgYW5kIHdlIHNob3VsZCBuZXZlciBzZW5kIERNRSBjbWRzIGlmIGNsb2Nrcy9wb3dl cnMgYXJlDQo+ID4+IG5vdCByZWFkeS4gSSBtZWFuIGNhbGxlcnMgc2hvdWxkIG1ha2Ugc3VyZSB0 aGV5IGFyZSByZWFkeSB0byBzZW5kDQo+ID4+IERNRSBjbWRzIChhbmQgb25seSBjYWxsZXJzIGtu b3cgd2hlbiksIGJ1dCBub3QgbGVhdmUgdGhhdCBqb2IgdG8NCj4gPj4gdWZzaGNkX3NlbmRfdWlj X2NtZCgpLiBJdCBpcyBjb252ZW5pZW50IHRvIHJlbW92ZSB1ZnNoY2RfaG9sZC8NCj4gPj4gcmVs ZWFzZSBmcm9tIHVmc2hjZF9zZW5kX3VpY19jbWQoKSBhcyB0aGVyZSBhcmUgbm90IG1hbnkgcGxh Y2VzDQo+ID4+IHNlbmRpbmcgRE1FIGNtZHMgd2l0aG91dCBob2xkaW5nIHRoZSBjbG9ja3MsIHVm c19ic2cuYyBpcyBvbmUuDQo+ID4+IEFuZCBJIGhhdmUgdGVzdGVkIG15IGlkZWEgb24gbXkgc2V0 dXAsIGl0IHdvcmtlZCB3ZWxsIGZvciBtZS4NCj4gPj4gQW5vdGhlciBiZW5lZml0IGlzIHRoYXQg aXQgYWxzbyBhbGxvd3MgdXMgdG8gdXNlIERNRSBjbWRzDQo+ID4+IGluIGNsayBnYXRpbmcvdW5n YXRpbmcgY29udGV4dHMgaWYgd2UgbmVlZCB0byBpbiB0aGUgZnV0dXJlLg0KPiA+PiANCj4gPiAN Cj4gPiBCcmlsbGlhbnQgaWRlYSEgQnV0IHRoaXMgbWF5IG5vdCBzb2x2ZSBwcm9ibGVtcyBpZiB2 ZW5kb3IgY2FsbGJhY2tzIA0KPiA+IG5lZWQNCj4gPiBtb3JlIHRoYW4gVUlDIGNvbW1hbmRzIGlu IHRoZSBmdXR1cmUuDQo+ID4gDQo+ID4gVGhpcyBzaW1wbGUgcGF0Y2ggY291bGQgbWFrZSBhbGwg dmVuZG9yIG9wZXJhdGlvbnMgb24gVUZTSENJIGluIFBNDQo+ID4gY2FsbGJhY2tzIHBvc3NpYmxl IHdpdGggVUZTSENEX0NBUF9ISUJFUk44X1dJVEhfQ0xLX0dBVElORyBlbmFibGVkLCBhbmQNCj4g PiBhZ2FpbiwgaXQgYWxsb3dzIHRob3NlIG9wZXJhdGlvbnMgaW4gUE0gc2NlbmFyaW9zIG9ubHku DQo+ID4gDQo+IA0KPiBPdGhlciB0aGFuIFVJQyBjbWRzLCBJIGNhbiBvbmx5IHRoaW5rIG9mIGRl dmljZSBtYW5hbmdlbWVudCBjbWRzIChsaWtlIA0KPiBxdWVyeSkuDQo+IElmIGRldmljZSBtYW5h Z2VtZW50IGNtZHMgY29tZSBpbnRvIHRoZSB3YXkgaW4gdGhlIGZ1dHVyZSwgd2UgZml4IGl0IGFz IA0KPiB3ZWxsLg0KPiBJIG1lYW4gdGhhdCBpcyB0aGUgcmlnaHQgdGhpbmcgdG8gZG8gaW4gbXkg b3BpbmlvbiAtIGp1c3QgbGlrZSB3ZSBkb24ndCANCj4gY2FsbA0KPiBwbV9ydW50aW1lX2dldF9z eW5jKCkgaW4gdWZzaGNkX3NlbmRfdWljX2NtZCgpLg0KPiANCj4gSSBjYW4gdW5kZXJzdGFuZCB0 aGF0IHlvdSB3YW50IGEgc2ltcGxlL3F1aWNrIGZpeCB0byBnZXQgaXQgd29yayBmb3IgeW91IA0K PiBvbmNlDQo+IGZvciBhbGwsIGJ1dCBmcm9tIG15IHBvaW50IG9mIHZpZXcsIGRlYnVnZ2luZyBj bGsgZ2F0aW5nL3VuZ2F0aW5nIHJlYWxseSANCj4gdGFrZXMNCj4gaHVnZSBlZmZvcnRzIHNvbWV0 aW1lIChJJ3ZlIHNwZW50IGEgbG90IG9mIHRpbWUgb24gaXQpLiBTb21lIGZsYXNoIA0KPiB2ZW5k b3JzIGFsc28NCj4gdXNlIGl0IGluIHRoZWlyIG93biBkcml2ZXIgd2lkZWx5IHdoaWNoIG1ha2Vz IHNvbWUgZmFpbHVyZSBzY2VuZXMgZXZlbiANCj4gaGFyZGVyIHRvDQo+IHVuZGVydGFuZC9kZWJ1 Zy4gU28gdGhlIGZpcnN0IHRoaW5nIGNvbWVzIHRvIG15IGhlYWQgaXMgdGhhdCB3ZSBzaG91bGQg DQo+IGF2b2lkDQo+IG1ha2luZyBpdCBtb3JlIGNvbXBsZXggb3IgZ2l2aW5nIGl0IG1vcmUgZXhj ZXB0aW9ucy4NCj4gDQo+ICBGcm9tIGZ1bmN0aW9uYWxpdHkgcG9pbnQgb2YgdmlldywgaXQgbG9v a3Mgb2sgdG8gbWUuIEl0IGlzIGp1c3QgdGhhdCBJIA0KPiBjYW5ub3QNCj4gcHJlZGljdCBpdCB3 b24ndCBjYXVzZSBuZXcgcHJvYmxlbXMgc2luY2UgdGhlIGNsayBnYXRpbmcvdW5nYXRpbmcgDQo+ IHNlcXVlY2VzIGFyZQ0KPiBsaWtlIG1hZ2ljIGluIHNvbWUgdXNlIGNhc2VzIHNvbWV0aW1lLg0K DQpUaGFua3MgZm9yIHRoZSBmdW5jdGlvbmFsaXR5IHJldmlldy4NCg0KSSB0b3RhbGx5IHVuZGVy c3RhbmQgd2hhdCB5b3UgbWVudGlvbmVkIGFib3ZlIGFib3V0IHRoZSBjbGstZ2F0aW5nDQpkZWJ1 Z2dpbmcgYmVjYXVzZSB3ZSBhbHNvIHNwZW50IGxvdHMgb2YgdGltZSBmb3IgaXNzdWUgYW5hbHlz aXMuDQoNCkkganVzdCBmaW5pc2hlZCBzb21lIGZhdWx0IGluamVjdGlvbiBmb3IgdGhpcyBwYXRj aCBpbiBvdXIgcGxhdGZvcm0sIHRoZQ0KcmVzdWx0cyBhcmUgZmluZS4NCg0KVGhlIGFjdGl2ZSB3 aW5kb3cgb2YgdGhpcyBwYXRjaCBpcyBsaW1pdGVkOiBTdGFydGluZyBmcm9tDQp1ZnNoY2RfbGlu a19zdGF0ZV90cmFuc2l0aW9uKCkgaW4gdWZzaGNkX3N1c3BlbmQgdG8gdWZzaGNkX3ZvcHNfcmVz dW1lKCkNCmluIHVmc2hjZF9yZXN1bWUoKSBiZWNhdXNlIHRoZSBsaW5rIGlzIGJhY2sgdG8gTElO S1VQIHN0YXRlIGluIE1lZGlhVGVrDQpyZXN1bWUgY2FsbGJhY2suIFNvIEkgd2FzIGZvY3VzIG9u IGluamVjdGluZyBlcnJvcnMgaW4gb3VyIGNhbGxiYWNrcw0KYmV0d2VlbiB0aGlzIHBlcmlvZCBh bmQgbW9zdCBvZiBpbmplY3RlZCBmYWlscyB0cmlnZ2VyZWQgaG9zdCBhbmQgZGV2aWNlDQpyZXNl dCBmbG93Lg0KDQpGb3IgZXhhbXBsZSwNClN1c3BlbmQ6IFVuaVBybyBQb3dlckRvd25Db250cm9s IHRpbWVvdXQNClJlc3VtZTogaGJhX2VuYWJsZSB0aW1lb3V0DQpSZXN1bWU6IFVuaVBybyBQb3dl ckRvd25Db250cm9sIHRpbWVvdXQNClJlc3VtZTogSElCRVJOOCBFeGl0IHRpbWVvdXQNCg0KSG9w ZSB0aGVzZSB0ZXN0cyBjYW4gZWFzZSB5b3VyIGNvbmNlcm5zLg0KDQpUaGFua3MsDQpTdGFubGV5 IENodQ0KDQo+IA0KPiBUaGFua3MsDQo+IA0KPiBDYW4gR3VvLg0KPiANCj4gPj4gUGxlYXNlIGxl dCBtZSBrbm93IHlvdXIgaWRlYSwgdGhhbmtzLg0KPiA+PiANCj4gPj4gQ2FuIEd1by4NCj4gPiAN Cj4gPiBUaGFua3MsDQo+ID4gU3RhbmxleSBDaHUNCj4gPiANCj4gPj4gDQo+ID4+ID4gU2lnbmVk LW9mZi1ieTogU3RhbmxleSBDaHUgPHN0YW5sZXkuY2h1QG1lZGlhdGVrLmNvbT4NCj4gPj4gPiBT aWduZWQtb2ZmLWJ5OiBBbmR5IFRlbmcgPGFuZHkudGVuZ0BtZWRpYXRlay5jb20+DQo+ID4+ID4N Cj4gPj4gPiAtLS0NCj4gPj4gPg0KPiA+PiA+IENoYW5nZXMgc2luY2UgdjE6DQo+ID4+ID4gLSBG aXggcmV0dXJuIHZhbHVlOiBVc2UgdW5pcXVlIGJvb2wgdmFyaWFibGUgdG8gZ2V0IHRoZSByZXN1 bHQgb2YNCj4gPj4gPiBmbHVzaF93b3JrKCkuIFRoY2FuIHByZXZlbnQgaW5jb3JyZWN0IHJldHVy bmVkIHZhbHVlLCBpLmUuLCByYywgaWYNCj4gPj4gPiBmbHVzaF93b3JrKCkgcmV0dXJucyB0cnVl DQo+ID4+ID4gLSBGaXggY29tbWl0IG1lc3NhZ2UNCj4gPj4gPg0KPiA+PiA+IC0tLQ0KPiA+PiA+ ICBkcml2ZXJzL3Njc2kvdWZzL3Vmc2hjZC5jIHwgNSArKysrLQ0KPiA+PiA+ICAxIGZpbGUgY2hh bmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+ID4+ID4NCj4gPj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9zY3NpL3Vmcy91ZnNoY2QuYyBiL2RyaXZlcnMvc2NzaS91ZnMvdWZz aGNkLmMNCj4gPj4gPiBpbmRleCA1NzdjYzBkNzQ4N2YuLmFjYmEyMjcxYzVkMyAxMDA2NDQNCj4g Pj4gPiAtLS0gYS9kcml2ZXJzL3Njc2kvdWZzL3Vmc2hjZC5jDQo+ID4+ID4gKysrIGIvZHJpdmVy cy9zY3NpL3Vmcy91ZnNoY2QuYw0KPiA+PiA+IEBAIC0xNTYxLDYgKzE1NjEsNyBAQCBzdGF0aWMg dm9pZCB1ZnNoY2RfdW5nYXRlX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0DQo+ID4+ID4gKndvcmsp DQo+ID4+ID4gIGludCB1ZnNoY2RfaG9sZChzdHJ1Y3QgdWZzX2hiYSAqaGJhLCBib29sIGFzeW5j KQ0KPiA+PiA+ICB7DQo+ID4+ID4gIAlpbnQgcmMgPSAwOw0KPiA+PiA+ICsJYm9vbCBmbHVzaF9y ZXN1bHQ7DQo+ID4+ID4gIAl1bnNpZ25lZCBsb25nIGZsYWdzOw0KPiA+PiA+DQo+ID4+ID4gIAlp ZiAoIXVmc2hjZF9pc19jbGtnYXRpbmdfYWxsb3dlZChoYmEpKQ0KPiA+PiA+IEBAIC0xNTkyLDcg KzE1OTMsOSBAQCBpbnQgdWZzaGNkX2hvbGQoc3RydWN0IHVmc19oYmEgKmhiYSwgYm9vbCBhc3lu YykNCj4gPj4gPiAgCQkJCWJyZWFrOw0KPiA+PiA+ICAJCQl9DQo+ID4+ID4gIAkJCXNwaW5fdW5s b2NrX2lycXJlc3RvcmUoaGJhLT5ob3N0LT5ob3N0X2xvY2ssIGZsYWdzKTsNCj4gPj4gPiAtCQkJ Zmx1c2hfd29yaygmaGJhLT5jbGtfZ2F0aW5nLnVuZ2F0ZV93b3JrKTsNCj4gPj4gPiArCQkJZmx1 c2hfcmVzdWx0ID0gZmx1c2hfd29yaygmaGJhLT5jbGtfZ2F0aW5nLnVuZ2F0ZV93b3JrKTsNCj4g Pj4gPiArCQkJaWYgKGhiYS0+Y2xrX2dhdGluZy5pc19zdXNwZW5kZWQgJiYgIWZsdXNoX3Jlc3Vs dCkNCj4gPj4gPiArCQkJCWdvdG8gb3V0Ow0KPiA+PiA+ICAJCQlzcGluX2xvY2tfaXJxc2F2ZSho YmEtPmhvc3QtPmhvc3RfbG9jaywgZmxhZ3MpOw0KPiA+PiA+ICAJCQlnb3RvIHN0YXJ0Ow0KPiA+ PiA+ICAJCX0NCg0K