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=-9.7 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable 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 88671C43331 for ; Wed, 1 Apr 2020 11:05:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2AF79208FE for ; Wed, 1 Apr 2020 11:05:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=silabs.onmicrosoft.com header.i=@silabs.onmicrosoft.com header.b="QeQL0PRe" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732608AbgDALFz (ORCPT ); Wed, 1 Apr 2020 07:05:55 -0400 Received: from mail-bn7nam10on2084.outbound.protection.outlook.com ([40.107.92.84]:6083 "EHLO NAM10-BN7-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1732335AbgDALF0 (ORCPT ); Wed, 1 Apr 2020 07:05:26 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cYwJuLeIjzyHei4R6hp8da/xyM4Px2sCIpjCHvIfxa8DyrvIwHFoV1eWvc8LWR+MdhnxEJ5M9T8IWBvnjLFmgmWnP1Ze4mn3tB98mPAHw6c6DZEa7lxnPkGtVaMr2GuvX8+uJU7GCxhoQziagm+sZju1TAUbfFqqkhJSC80KAMEnjNEuZg1FoHQ1LdaZenEa2GTnX7bxMvEvYGg9iK/4lMS4cVGU2fMBl6QPe1KfMfOd/+MC47oIEoB118iuH+7YuHCTETnqKiY5SDyUjQ13+q38cHEK1p8h/RP2vouCDZ9tD86MOjcKeRt0TUrb1IHSD2qNgndO6lNRBWzyXS54Mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IH8W3kGmmtO9DfMHjIyd12rVVibWNotPl7qw2RYprBc=; b=hMV1pl9pYRbdja1pVRfoVn9rEeP+8Sls+ankDCl53cmwAraXCThNpVOb41CGt3gMIhrtQu7i2mHjcVhvh5tjt0v4wQS0UxcMdJ2Ywt8L6jRSwVLwZGAw/oGG1TMYdpMVPK5eq5JldGaUZItD0TPnbRSba3VH5cGp2MbSKDcXO/cJOZJjCJ5RW3Ml7dPPAAxWk1vBgsaT6BDaZatRnnsBkfrAzHoFfsxAW4GTU7fhiSJaD+zjDkpxFg6uFs4psWwge0LX71MzqFgdPDkwiI9wysB+K6qSbLjdbaxE/UrN15XwYaOAX8ASZW99H6fXrgy2R+i6SrUpQG+WunvwQANqAQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IH8W3kGmmtO9DfMHjIyd12rVVibWNotPl7qw2RYprBc=; b=QeQL0PReTdid74e7ikpvvft+CbU6a4YJoTPS7iBvN1KcY2C5WTUPCKBeUYCvJQY+r+yZ24wOKxlh/DYnju/9okvnJbqIV1RWlbUiD5IRXLlR9ur38EzhSSBSJvG7JYbVyvmQrLleRmpjgeGnBf0qCPSVFCVmPRGGsgD+xkC0Z/I= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerome.Pouiller@silabs.com; Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB4285.namprd11.prod.outlook.com (2603:10b6:208:191::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2856.20; Wed, 1 Apr 2020 11:05:18 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::ade4:5702:1c8b:a2b3]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::ade4:5702:1c8b:a2b3%7]) with mapi id 15.20.2856.019; Wed, 1 Apr 2020 11:05:18 +0000 From: Jerome Pouiller To: devel@driverdev.osuosl.org, linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman , Kalle Valo , "David S . Miller" , =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= Subject: [PATCH 28/32] staging: wfx: repair wfx_flush() Date: Wed, 1 Apr 2020 13:04:01 +0200 Message-Id: <20200401110405.80282-29-Jerome.Pouiller@silabs.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200401110405.80282-1-Jerome.Pouiller@silabs.com> References: <20200401110405.80282-1-Jerome.Pouiller@silabs.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 X-ClientProxiedBy: SN4PR0501CA0156.namprd05.prod.outlook.com (2603:10b6:803:2c::34) To MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from pc-42.silabs.com (2a01:e35:2435:66a0:1265:30ff:fefd:6e7f) by SN4PR0501CA0156.namprd05.prod.outlook.com (2603:10b6:803:2c::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2878.9 via Frontend Transport; Wed, 1 Apr 2020 11:05:16 +0000 X-Mailer: git-send-email 2.25.1 X-Originating-IP: [2a01:e35:2435:66a0:1265:30ff:fefd:6e7f] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 99bc3cde-139a-4d46-96c5-08d7d62c9011 X-MS-TrafficTypeDiagnostic: MN2PR11MB4285: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2089; X-Forefront-PRVS: 03607C04F0 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4063.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(10009020)(136003)(366004)(346002)(376002)(39850400004)(396003)(7696005)(8676002)(1076003)(16526019)(186003)(6666004)(5660300002)(86362001)(4326008)(66574012)(30864003)(52116002)(478600001)(66946007)(66476007)(54906003)(36756003)(8936002)(316002)(81156014)(6486002)(2906002)(66556008)(107886003)(81166006)(2616005);DIR:OUT;SFP:1101; Received-SPF: None (protection.outlook.com: silabs.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /fepGjL8ioX+pJ3isCWbu1pQm5Qex5fi+clOppf8Lnya+ufxBCQhvD3+Tz7KAMpsrvasScQAH+FSfcj6aSDxsOG8aC2XW+NrvrM2U6Mc+MXbH4eDetwAcCjv3TH2yQDnCTYXT8EePaF50ZIGJGksU6dwhr7nJs4QUfRgrK4WhPiVVZuGY3vDk/oXOgWrIDRkejlvb5M1iw2q6T8lAU6VuVaf+okxI03uNFad8QSCUBHHKpefQn2v2gRDNNZ6Cvh4AeLyLqO3kIruOrO5XP0trtixesNUdgl24U0Fin3zfmdFdaUs03B64QzRBbwITUJIN1vTCK7Nquc+pldv3fnnXz06Dr0mpzjclOWQApkNRna/PEbAQANh5x7w12yD6E/jPd9X1Aki73+LhLGpIetAza2ssjw2f69txUDF4GLhDNDGGfnOMVlDt3Bi9fFCzp8R X-MS-Exchange-AntiSpam-MessageData: lsRitfDkjNZ/rO2AZkNBOoWxnWRr2t/XbdAY7cOOEc8s4uzBDUvOAbFOXtheEYxA30EtNnoFBa2q8QoozDoRM6+bNNGAWCSNVerwekrb9nt89/mDCNTa/E4DhkMLndgQ9wqt+5W5OotxYxf6mGZ1Nar62H3l4IHRqFzgDne33DQwlZXxoPUBsYQtLX4e18xRbmEUNdFLMZRtCzUCnvkGUg== X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 99bc3cde-139a-4d46-96c5-08d7d62c9011 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Apr 2020 11:05:18.4408 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: i1x5HgyHfXP9JbuwYOJQedORVRtgEnpSSrWaF41bVfrdtvPx5wUKTGJPsQLd+SggkCA4sG55me4nzl+C69IEBA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4285 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RnJvbTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29tPgoKVW50 aWwgbm93LCB3ZnhfZmx1c2goKSBmbHVzaGVkIHF1ZXVlIGZvciB3aGlsZSBkZXZpY2UgaW5zdGVh ZCBvZiBvbmx5CnRoZSBxdWV1ZSBvZiB0aGUgaW50ZW5kZWQgdmlmLiBJdCBzb21ldGltZSBmYWls ZWQgd2l0aCBhIHRpbWVvdXQsIGJ1dAp0aGlzIGVycm9yIHdhcyBub3QgcmVwb3J0ZWQuCgpNb3Jl b3ZlciwgaWYgdGhlIGRldmljZSB3YXMgZnJvemVuLCB3ZnhfZmx1c2ggZGlkbid0IGRvIGFueXRo aW5nIGFuZCBpdApyZXN1bHRzIGEgcG90ZW50aWFsIHdhcm5pbmcgKGFuZCBtYXliZSBhIHJlc291 cmNlIGxlYWspIHdoZW4gdGhlIGZyb3plbgpkZXZpY2Ugd2FzIHVucmVnaXN0ZXJlZC4KCldlIGNh biBhbHNvIG5vdGljZSB0aGF0IHdmeF90eF9xdWV1ZXNfd2FpdF9lbXB0eV92aWYoKSBkaWQgb25s eSBleGlzdCB0bwp3b3JrIGFyb3VuZCB0aGUgYnJva2VuIGZlYXR1cmUgb2Ygd2Z4X2ZsdXNoKCku CgpUaGlzIHBhdGNoIHJlcGFpciB3ZnhfZmx1c2goKSBhbmQgdGhlcmVmb3JlIGRyb3AKd2Z4X3R4 X3F1ZXVlc193YWl0X2VtcHR5X3ZpZigpLgoKU2lnbmVkLW9mZi1ieTogSsOpcsO0bWUgUG91aWxs ZXIgPGplcm9tZS5wb3VpbGxlckBzaWxhYnMuY29tPgotLS0KIGRyaXZlcnMvc3RhZ2luZy93Zngv ZGF0YV90eC5jIHwgIDM0ICsrKysrKy0KIGRyaXZlcnMvc3RhZ2luZy93ZngvZGF0YV90eC5oIHwg ICAzICstCiBkcml2ZXJzL3N0YWdpbmcvd2Z4L21haW4uYyAgICB8ICAgMSAtCiBkcml2ZXJzL3N0 YWdpbmcvd2Z4L3F1ZXVlLmMgICB8IDE2MyArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tCiBkcml2ZXJzL3N0YWdpbmcvd2Z4L3F1ZXVlLmggICB8ICAxMCArKy0KIGRyaXZlcnMvc3Rh Z2luZy93Zngvc3RhLmMgICAgIHwgIDM2ICstLS0tLS0tCiBkcml2ZXJzL3N0YWdpbmcvd2Z4L3N0 YS5oICAgICB8ICAgMiAtCiA3IGZpbGVzIGNoYW5nZWQsIDEyMCBpbnNlcnRpb25zKCspLCAxMjkg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL3dmeC9kYXRhX3R4LmMg Yi9kcml2ZXJzL3N0YWdpbmcvd2Z4L2RhdGFfdHguYwppbmRleCBlYzk1NTE4YzkxNjcuLjFkOWE4 MDg5ZjNkMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL3dmeC9kYXRhX3R4LmMKKysrIGIv ZHJpdmVycy9zdGFnaW5nL3dmeC9kYXRhX3R4LmMKQEAgLTUyNCw3ICs1MjQsNyBAQCBzdGF0aWMg dm9pZCB3Znhfbm90aWZ5X2J1ZmZlcmVkX3R4KHN0cnVjdCB3ZnhfdmlmICp3dmlmLCBzdHJ1Y3Qg c2tfYnVmZiAqc2tiKQogCXJjdV9yZWFkX3VubG9jaygpOwogfQogCi12b2lkIHdmeF9za2JfZHRv cihzdHJ1Y3Qgd2Z4X2RldiAqd2Rldiwgc3RydWN0IHNrX2J1ZmYgKnNrYikKK3N0YXRpYyB2b2lk IHdmeF9za2JfZHRvcihzdHJ1Y3Qgd2Z4X2RldiAqd2Rldiwgc3RydWN0IHNrX2J1ZmYgKnNrYikK IHsKIAlzdHJ1Y3QgaGlmX21zZyAqaGlmID0gKHN0cnVjdCBoaWZfbXNnICopc2tiLT5kYXRhOwog CXN0cnVjdCBoaWZfcmVxX3R4ICpyZXEgPSAoc3RydWN0IGhpZl9yZXFfdHggKiloaWYtPmJvZHk7 CkBAIC02MjYsNCArNjI2LDM2IEBAIHZvaWQgd2Z4X3R4X2NvbmZpcm1fY2Ioc3RydWN0IHdmeF92 aWYgKnd2aWYsIGNvbnN0IHN0cnVjdCBoaWZfY25mX3R4ICphcmcpCiAJd2Z4X3NrYl9kdG9yKHd2 aWYtPndkZXYsIHNrYik7CiB9CiAKK3ZvaWQgd2Z4X2ZsdXNoKHN0cnVjdCBpZWVlODAyMTFfaHcg Kmh3LCBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLAorCSAgICAgICB1MzIgcXVldWVzLCBib29s IGRyb3ApCit7CisJc3RydWN0IHdmeF9kZXYgKndkZXYgPSBody0+cHJpdjsKKwlzdHJ1Y3Qgc2tf YnVmZl9oZWFkIGRyb3BwZWQ7CisJc3RydWN0IHdmeF9xdWV1ZSAqcXVldWU7CisJc3RydWN0IHNr X2J1ZmYgKnNrYjsKKwlpbnQgdmlmX2lkID0gLTE7CisJaW50IGk7CisKKwlpZiAodmlmKQorCQl2 aWZfaWQgPSAoKHN0cnVjdCB3ZnhfdmlmICopdmlmLT5kcnZfcHJpdiktPmlkOworCXNrYl9xdWV1 ZV9oZWFkX2luaXQoJmRyb3BwZWQpOworCWZvciAoaSA9IDA7IGkgPCBJRUVFODAyMTFfTlVNX0FD UzsgaSsrKSB7CisJCWlmICghKEJJVChpKSAmIHF1ZXVlcykpCisJCQljb250aW51ZTsKKwkJcXVl dWUgPSAmd2Rldi0+dHhfcXVldWVbaV07CisJCWlmIChkcm9wKQorCQkJd2Z4X3R4X3F1ZXVlX2Ry b3Aod2RldiwgcXVldWUsIHZpZl9pZCwgJmRyb3BwZWQpOworCQlpZiAod2Rldi0+Y2hpcF9mcm96 ZW4pCisJCQljb250aW51ZTsKKwkJaWYgKHdhaXRfZXZlbnRfdGltZW91dCh3ZGV2LT50eF9kZXF1 ZXVlLAorCQkJCSAgICAgICB3ZnhfdHhfcXVldWVfZW1wdHkod2RldiwgcXVldWUsIHZpZl9pZCks CisJCQkJICAgICAgIG1zZWNzX3RvX2ppZmZpZXMoMTAwMCkpIDw9IDApCisJCQlkZXZfd2Fybih3 ZGV2LT5kZXYsICJmcmFtZXMgcXVldWVkIHdoaWxlIGZsdXNoaW5nIHR4IHF1ZXVlcz8iKTsKKwl9 CisJd2Z4X3R4X2ZsdXNoKHdkZXYpOworCWlmICh3ZGV2LT5jaGlwX2Zyb3plbikKKwkJd2Z4X3Bl bmRpbmdfZHJvcCh3ZGV2LCAmZHJvcHBlZCk7CisJd2hpbGUgKChza2IgPSBza2JfZGVxdWV1ZSgm ZHJvcHBlZCkpICE9IE5VTEwpCisJCXdmeF9za2JfZHRvcih3ZGV2LCBza2IpOworfQogCmRpZmYg LS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvd2Z4L2RhdGFfdHguaCBiL2RyaXZlcnMvc3RhZ2luZy93 ZngvZGF0YV90eC5oCmluZGV4IDAzZmUzZTMxOWJhMS4uN2YyMDFmNjI2NDEwIDEwMDY0NAotLS0g YS9kcml2ZXJzL3N0YWdpbmcvd2Z4L2RhdGFfdHguaAorKysgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4 L2RhdGFfdHguaApAQCAtNDQsNyArNDQsOCBAQCB2b2lkIHdmeF90eF9wb2xpY3lfdXBsb2FkX3dv cmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKIHZvaWQgd2Z4X3R4KHN0cnVjdCBpZWVlODAy MTFfaHcgKmh3LCBzdHJ1Y3QgaWVlZTgwMjExX3R4X2NvbnRyb2wgKmNvbnRyb2wsCiAJICAgIHN0 cnVjdCBza19idWZmICpza2IpOwogdm9pZCB3ZnhfdHhfY29uZmlybV9jYihzdHJ1Y3Qgd2Z4X3Zp ZiAqd3ZpZiwgY29uc3Qgc3RydWN0IGhpZl9jbmZfdHggKmFyZyk7Ci12b2lkIHdmeF9za2JfZHRv cihzdHJ1Y3Qgd2Z4X2RldiAqd2Rldiwgc3RydWN0IHNrX2J1ZmYgKnNrYik7Cit2b2lkIHdmeF9m bHVzaChzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywgc3RydWN0IGllZWU4MDIxMV92aWYgKnZpZiwK KwkgICAgICAgdTMyIHF1ZXVlcywgYm9vbCBkcm9wKTsKIAogc3RhdGljIGlubGluZSBzdHJ1Y3Qg d2Z4X3R4X3ByaXYgKndmeF9za2JfdHhfcHJpdihzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogewpkaWZm IC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL3dmeC9tYWluLmMgYi9kcml2ZXJzL3N0YWdpbmcvd2Z4 L21haW4uYwppbmRleCA1ZTFhN2E5MzJiNTMuLjczODAxNmQ0NWQ2MyAxMDA2NDQKLS0tIGEvZHJp dmVycy9zdGFnaW5nL3dmeC9tYWluLmMKKysrIGIvZHJpdmVycy9zdGFnaW5nL3dmeC9tYWluLmMK QEAgLTI2Nyw3ICsyNjcsNiBAQCBzdGF0aWMgdm9pZCB3ZnhfZnJlZV9jb21tb24odm9pZCAqZGF0 YSkKIAogCW11dGV4X2Rlc3Ryb3koJndkZXYtPnJ4X3N0YXRzX2xvY2spOwogCW11dGV4X2Rlc3Ry b3koJndkZXYtPmNvbmZfbXV0ZXgpOwotCXdmeF90eF9xdWV1ZXNfZGVpbml0KHdkZXYpOwogCWll ZWU4MDIxMV9mcmVlX2h3KHdkZXYtPmh3KTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFn aW5nL3dmeC9xdWV1ZS5jIGIvZHJpdmVycy9zdGFnaW5nL3dmeC9xdWV1ZS5jCmluZGV4IGExYTJm Nzc1NmEyNy4uZDQzMDJhMzBkYzQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvd2Z4L3F1 ZXVlLmMKKysrIGIvZHJpdmVycy9zdGFnaW5nL3dmeC9xdWV1ZS5jCkBAIC02Miw5MiArNjIsNzkg QEAgdm9pZCB3ZnhfdHhfbG9ja19mbHVzaChzdHJ1Y3Qgd2Z4X2RldiAqd2RldikKIAl3ZnhfdHhf Zmx1c2god2Rldik7CiB9CiAKLS8qIElmIHN1Y2Nlc3NmdWwsIExPQ0tTIHRoZSBUWCBxdWV1ZSEg Ki8KLXZvaWQgd2Z4X3R4X3F1ZXVlc193YWl0X2VtcHR5X3ZpZihzdHJ1Y3Qgd2Z4X3ZpZiAqd3Zp ZikKLXsKLQlpbnQgaTsKLQlib29sIGRvbmU7Ci0Jc3RydWN0IHdmeF9xdWV1ZSAqcXVldWU7Ci0J c3RydWN0IHNrX2J1ZmYgKml0ZW07Ci0Jc3RydWN0IHdmeF9kZXYgKndkZXYgPSB3dmlmLT53ZGV2 OwotCXN0cnVjdCBoaWZfbXNnICpoaWY7Ci0KLQlpZiAod3ZpZi0+d2Rldi0+Y2hpcF9mcm96ZW4p IHsKLQkJd2Z4X3R4X2xvY2tfZmx1c2god2Rldik7Ci0JCXdmeF90eF9xdWV1ZXNfY2xlYXIod2Rl dik7Ci0JCXJldHVybjsKLQl9Ci0KLQlkbyB7Ci0JCWRvbmUgPSB0cnVlOwotCQl3ZnhfdHhfbG9j a19mbHVzaCh3ZGV2KTsKLQkJZm9yIChpID0gMDsgaSA8IElFRUU4MDIxMV9OVU1fQUNTICYmIGRv bmU7ICsraSkgewotCQkJcXVldWUgPSAmd2Rldi0+dHhfcXVldWVbaV07Ci0JCQlzcGluX2xvY2tf YmgoJnF1ZXVlLT5ub3JtYWwubG9jayk7Ci0JCQlza2JfcXVldWVfd2FsaygmcXVldWUtPm5vcm1h bCwgaXRlbSkgewotCQkJCWhpZiA9IChzdHJ1Y3QgaGlmX21zZyAqKWl0ZW0tPmRhdGE7Ci0JCQkJ aWYgKGhpZi0+aW50ZXJmYWNlID09IHd2aWYtPmlkKQotCQkJCQlkb25lID0gZmFsc2U7Ci0JCQl9 Ci0JCQlzcGluX3VubG9ja19iaCgmcXVldWUtPm5vcm1hbC5sb2NrKTsKLQkJCXNwaW5fbG9ja19i aCgmcXVldWUtPmNhYi5sb2NrKTsKLQkJCXNrYl9xdWV1ZV93YWxrKCZxdWV1ZS0+Y2FiLCBpdGVt KSB7Ci0JCQkJaGlmID0gKHN0cnVjdCBoaWZfbXNnICopaXRlbS0+ZGF0YTsKLQkJCQlpZiAoaGlm LT5pbnRlcmZhY2UgPT0gd3ZpZi0+aWQpCi0JCQkJCWRvbmUgPSBmYWxzZTsKLQkJCX0KLQkJCXNw aW5fdW5sb2NrX2JoKCZxdWV1ZS0+Y2FiLmxvY2spOwotCQl9Ci0JCWlmICghZG9uZSkgewotCQkJ d2Z4X3R4X3VubG9jayh3ZGV2KTsKLQkJCW1zbGVlcCgyMCk7Ci0JCX0KLQl9IHdoaWxlICghZG9u ZSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHdmeF90eF9xdWV1ZV9jbGVhcihzdHJ1Y3Qgd2Z4X2RldiAq d2Rldiwgc3RydWN0IHdmeF9xdWV1ZSAqcXVldWUsCi0JCQkgICAgICAgc3RydWN0IHNrX2J1ZmZf aGVhZCAqZ2NfbGlzdCkKLXsKLQlzdHJ1Y3Qgc2tfYnVmZiAqaXRlbTsKLQotCXdoaWxlICgoaXRl bSA9IHNrYl9kZXF1ZXVlKCZxdWV1ZS0+bm9ybWFsKSkgIT0gTlVMTCkKLQkJc2tiX3F1ZXVlX2hl YWQoZ2NfbGlzdCwgaXRlbSk7Ci0Jd2hpbGUgKChpdGVtID0gc2tiX2RlcXVldWUoJnF1ZXVlLT5j YWIpKSAhPSBOVUxMKQotCQlza2JfcXVldWVfaGVhZChnY19saXN0LCBpdGVtKTsKLX0KLQotdm9p ZCB3ZnhfdHhfcXVldWVzX2NsZWFyKHN0cnVjdCB3ZnhfZGV2ICp3ZGV2KQotewotCWludCBpOwot CXN0cnVjdCBza19idWZmICppdGVtOwotCXN0cnVjdCBza19idWZmX2hlYWQgZ2NfbGlzdDsKLQot CXNrYl9xdWV1ZV9oZWFkX2luaXQoJmdjX2xpc3QpOwotCWZvciAoaSA9IDA7IGkgPCBJRUVFODAy MTFfTlVNX0FDUzsgKytpKQotCQl3ZnhfdHhfcXVldWVfY2xlYXIod2RldiwgJndkZXYtPnR4X3F1 ZXVlW2ldLCAmZ2NfbGlzdCk7Ci0Jd2FrZV91cCgmd2Rldi0+dHhfZGVxdWV1ZSk7Ci0Jd2hpbGUg KChpdGVtID0gc2tiX2RlcXVldWUoJmdjX2xpc3QpKSAhPSBOVUxMKQotCQl3Znhfc2tiX2R0b3Io d2RldiwgaXRlbSk7Ci19Ci0KIHZvaWQgd2Z4X3R4X3F1ZXVlc19pbml0KHN0cnVjdCB3ZnhfZGV2 ICp3ZGV2KQogewogCWludCBpOwogCi0JbWVtc2V0KHdkZXYtPnR4X3F1ZXVlLCAwLCBzaXplb2Yo d2Rldi0+dHhfcXVldWUpKTsKIAlza2JfcXVldWVfaGVhZF9pbml0KCZ3ZGV2LT50eF9wZW5kaW5n KTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZ3ZGV2LT50eF9kZXF1ZXVlKTsKLQogCWZvciAoaSA9 IDA7IGkgPCBJRUVFODAyMTFfTlVNX0FDUzsgKytpKSB7CiAJCXNrYl9xdWV1ZV9oZWFkX2luaXQo JndkZXYtPnR4X3F1ZXVlW2ldLm5vcm1hbCk7CiAJCXNrYl9xdWV1ZV9oZWFkX2luaXQoJndkZXYt PnR4X3F1ZXVlW2ldLmNhYik7CiAJfQogfQogCi12b2lkIHdmeF90eF9xdWV1ZXNfZGVpbml0KHN0 cnVjdCB3ZnhfZGV2ICp3ZGV2KQordm9pZCB3ZnhfdHhfcXVldWVzX2NoZWNrX2VtcHR5KHN0cnVj dCB3ZnhfZGV2ICp3ZGV2KQogewotCVdBUk5fT04oIXNrYl9xdWV1ZV9lbXB0eSgmd2Rldi0+dHhf cGVuZGluZykpOwotCXdmeF90eF9xdWV1ZXNfY2xlYXIod2Rldik7CisJaW50IGk7CisKKwlXQVJO X09OKCFza2JfcXVldWVfZW1wdHlfbG9ja2xlc3MoJndkZXYtPnR4X3BlbmRpbmcpKTsKKwlmb3Ig KGkgPSAwOyBpIDwgSUVFRTgwMjExX05VTV9BQ1M7ICsraSkgeworCQlXQVJOX09OKGF0b21pY19y ZWFkKCZ3ZGV2LT50eF9xdWV1ZVtpXS5wZW5kaW5nX2ZyYW1lcykpOworCQlXQVJOX09OKCFza2Jf cXVldWVfZW1wdHlfbG9ja2xlc3MoJndkZXYtPnR4X3F1ZXVlW2ldLm5vcm1hbCkpOworCQlXQVJO X09OKCFza2JfcXVldWVfZW1wdHlfbG9ja2xlc3MoJndkZXYtPnR4X3F1ZXVlW2ldLmNhYikpOwor CX0KK30KKworc3RhdGljIGJvb2wgX193ZnhfdHhfcXVldWVfZW1wdHkoc3RydWN0IHdmeF9kZXYg KndkZXYsCisJCQkJIHN0cnVjdCBza19idWZmX2hlYWQgKnNrYl9xdWV1ZSwgaW50IHZpZl9pZCkK K3sKKwlzdHJ1Y3QgaGlmX21zZyAqaGlmX21zZzsKKwlzdHJ1Y3Qgc2tfYnVmZiAqc2tiOworCisJ c3Bpbl9sb2NrX2JoKCZza2JfcXVldWUtPmxvY2spOworCXNrYl9xdWV1ZV93YWxrKHNrYl9xdWV1 ZSwgc2tiKSB7CisJCWhpZl9tc2cgPSAoc3RydWN0IGhpZl9tc2cgKilza2ItPmRhdGE7CisJCWlm ICh2aWZfaWQgPCAwIHx8IGhpZl9tc2ctPmludGVyZmFjZSA9PSB2aWZfaWQpIHsKKwkJCXNwaW5f dW5sb2NrX2JoKCZza2JfcXVldWUtPmxvY2spOworCQkJcmV0dXJuIGZhbHNlOworCQl9CisJfQor CXNwaW5fdW5sb2NrX2JoKCZza2JfcXVldWUtPmxvY2spOworCXJldHVybiB0cnVlOworfQorCiti b29sIHdmeF90eF9xdWV1ZV9lbXB0eShzdHJ1Y3Qgd2Z4X2RldiAqd2RldiwKKwkJCXN0cnVjdCB3 ZnhfcXVldWUgKnF1ZXVlLCBpbnQgdmlmX2lkKQoreworCXJldHVybiBfX3dmeF90eF9xdWV1ZV9l bXB0eSh3ZGV2LCAmcXVldWUtPm5vcm1hbCwgdmlmX2lkKSAmJgorCSAgICAgICBfX3dmeF90eF9x dWV1ZV9lbXB0eSh3ZGV2LCAmcXVldWUtPmNhYiwgdmlmX2lkKTsKK30KKworc3RhdGljIHZvaWQg X193ZnhfdHhfcXVldWVfZHJvcChzdHJ1Y3Qgd2Z4X2RldiAqd2RldiwKKwkJCQlzdHJ1Y3Qgc2tf YnVmZl9oZWFkICpza2JfcXVldWUsIGludCB2aWZfaWQsCisJCQkJc3RydWN0IHNrX2J1ZmZfaGVh ZCAqZHJvcHBlZCkKK3sKKwlzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCAqdG1wOworCXN0cnVjdCBoaWZf bXNnICpoaWZfbXNnOworCisJc3Bpbl9sb2NrX2JoKCZza2JfcXVldWUtPmxvY2spOworCXNrYl9x dWV1ZV93YWxrX3NhZmUoc2tiX3F1ZXVlLCBza2IsIHRtcCkgeworCQloaWZfbXNnID0gKHN0cnVj dCBoaWZfbXNnICopc2tiLT5kYXRhOworCQlpZiAodmlmX2lkIDwgMCB8fCBoaWZfbXNnLT5pbnRl cmZhY2UgPT0gdmlmX2lkKSB7CisJCQlfX3NrYl91bmxpbmsoc2tiLCBza2JfcXVldWUpOworCQkJ c2tiX3F1ZXVlX2hlYWQoZHJvcHBlZCwgc2tiKTsKKwkJfQorCX0KKwlzcGluX3VubG9ja19iaCgm c2tiX3F1ZXVlLT5sb2NrKTsKK30KKwordm9pZCB3ZnhfdHhfcXVldWVfZHJvcChzdHJ1Y3Qgd2Z4 X2RldiAqd2Rldiwgc3RydWN0IHdmeF9xdWV1ZSAqcXVldWUsCisJCSAgICAgICBpbnQgdmlmX2lk LCBzdHJ1Y3Qgc2tfYnVmZl9oZWFkICpkcm9wcGVkKQoreworCV9fd2Z4X3R4X3F1ZXVlX2Ryb3Ao d2RldiwgJnF1ZXVlLT5jYWIsIHZpZl9pZCwgZHJvcHBlZCk7CisJX193ZnhfdHhfcXVldWVfZHJv cCh3ZGV2LCAmcXVldWUtPm5vcm1hbCwgdmlmX2lkLCBkcm9wcGVkKTsKKwl3YWtlX3VwKCZ3ZGV2 LT50eF9kZXF1ZXVlKTsKIH0KIAogdm9pZCB3ZnhfdHhfcXVldWVzX3B1dChzdHJ1Y3Qgd2Z4X2Rl diAqd2Rldiwgc3RydWN0IHNrX2J1ZmYgKnNrYikKQEAgLTE3NCw2ICsxNjEsMjIgQEAgaW50IHdm eF9wZW5kaW5nX3JlcXVldWUoc3RydWN0IHdmeF9kZXYgKndkZXYsIHN0cnVjdCBza19idWZmICpz a2IpCiAJcmV0dXJuIDA7CiB9CiAKK3ZvaWQgd2Z4X3BlbmRpbmdfZHJvcChzdHJ1Y3Qgd2Z4X2Rl diAqd2Rldiwgc3RydWN0IHNrX2J1ZmZfaGVhZCAqZHJvcHBlZCkKK3sKKwlzdHJ1Y3Qgd2Z4X3F1 ZXVlICpxdWV1ZTsKKwlzdHJ1Y3Qgc2tfYnVmZiAqc2tiOworCisJV0FSTighd2Rldi0+Y2hpcF9m cm96ZW4sICIlcyBzaG91bGQgb25seSBiZSB1c2VkIHRvIHJlY292ZXIgYSBmcm96ZW4gZGV2aWNl IiwKKwkgICAgIF9fZnVuY19fKTsKKwl3aGlsZSAoKHNrYiA9IHNrYl9kZXF1ZXVlKCZ3ZGV2LT50 eF9wZW5kaW5nKSkgIT0gTlVMTCkgeworCQlxdWV1ZSA9ICZ3ZGV2LT50eF9xdWV1ZVtza2JfZ2V0 X3F1ZXVlX21hcHBpbmcoc2tiKV07CisJCVdBUk5fT04oc2tiX2dldF9xdWV1ZV9tYXBwaW5nKHNr YikgPiAzKTsKKwkJV0FSTl9PTighYXRvbWljX3JlYWQoJnF1ZXVlLT5wZW5kaW5nX2ZyYW1lcykp OworCQlhdG9taWNfZGVjKCZxdWV1ZS0+cGVuZGluZ19mcmFtZXMpOworCQlza2JfcXVldWVfaGVh ZChkcm9wcGVkLCBza2IpOworCX0KK30KKwogc3RydWN0IHNrX2J1ZmYgKndmeF9wZW5kaW5nX2dl dChzdHJ1Y3Qgd2Z4X2RldiAqd2RldiwgdTMyIHBhY2tldF9pZCkKIHsKIAlzdHJ1Y3Qgd2Z4X3F1 ZXVlICpxdWV1ZTsKQEAgLTI0OSwxNyArMjUyLDYgQEAgYm9vbCB3ZnhfdHhfcXVldWVzX2hhc19j YWIoc3RydWN0IHdmeF92aWYgKnd2aWYpCiAJcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIHdmeF90 eF9xdWV1ZXNfZW1wdHkoc3RydWN0IHdmeF9kZXYgKndkZXYpCi17Ci0JaW50IGk7Ci0KLQlmb3Ig KGkgPSAwOyBpIDwgSUVFRTgwMjExX05VTV9BQ1M7IGkrKykKLQkJaWYgKCFza2JfcXVldWVfZW1w dHlfbG9ja2xlc3MoJndkZXYtPnR4X3F1ZXVlW2ldLm5vcm1hbCkgfHwKLQkJICAgICFza2JfcXVl dWVfZW1wdHlfbG9ja2xlc3MoJndkZXYtPnR4X3F1ZXVlW2ldLmNhYikpCi0JCQlyZXR1cm4gZmFs c2U7Ci0JcmV0dXJuIHRydWU7Ci19Ci0KIHN0YXRpYyBib29sIHdmeF9oYW5kbGVfdHhfZGF0YShz dHJ1Y3Qgd2Z4X2RldiAqd2Rldiwgc3RydWN0IHNrX2J1ZmYgKnNrYikKIHsKIAlzdHJ1Y3QgaGlm X3JlcV90eCAqcmVxID0gd2Z4X3NrYl90eHJlcShza2IpOwpAQCAtMzY0LDggKzM1Niw3IEBAIHN0 cnVjdCBoaWZfbXNnICp3ZnhfdHhfcXVldWVzX2dldChzdHJ1Y3Qgd2Z4X2RldiAqd2RldikKIAkJ aWYgKCFza2IpCiAJCQlyZXR1cm4gTlVMTDsKIAkJc2tiX3F1ZXVlX3RhaWwoJndkZXYtPnR4X3Bl bmRpbmcsIHNrYik7Ci0JCWlmICh3ZnhfdHhfcXVldWVzX2VtcHR5KHdkZXYpKQotCQkJd2FrZV91 cCgmd2Rldi0+dHhfZGVxdWV1ZSk7CisJCXdha2VfdXAoJndkZXYtPnR4X2RlcXVldWUpOwogCQkv LyBGSVhNRTogaXMgaXQgdXNlZnVsPwogCQlpZiAod2Z4X2hhbmRsZV90eF9kYXRhKHdkZXYsIHNr YikpCiAJCQljb250aW51ZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy93ZngvcXVldWUu aCBiL2RyaXZlcnMvc3RhZ2luZy93ZngvcXVldWUuaAppbmRleCA5YmMxYTUyMDBlNjQuLmFiNDVl MzJjYmZiYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL3dmeC9xdWV1ZS5oCisrKyBiL2Ry aXZlcnMvc3RhZ2luZy93ZngvcXVldWUuaApAQCAtMzEsMTYgKzMxLDE4IEBAIHZvaWQgd2Z4X3R4 X2ZsdXNoKHN0cnVjdCB3ZnhfZGV2ICp3ZGV2KTsKIHZvaWQgd2Z4X3R4X2xvY2tfZmx1c2goc3Ry dWN0IHdmeF9kZXYgKndkZXYpOwogCiB2b2lkIHdmeF90eF9xdWV1ZXNfaW5pdChzdHJ1Y3Qgd2Z4 X2RldiAqd2Rldik7Ci12b2lkIHdmeF90eF9xdWV1ZXNfZGVpbml0KHN0cnVjdCB3ZnhfZGV2ICp3 ZGV2KTsKLXZvaWQgd2Z4X3R4X3F1ZXVlc19jbGVhcihzdHJ1Y3Qgd2Z4X2RldiAqd2Rldik7Ci1i b29sIHdmeF90eF9xdWV1ZXNfZW1wdHkoc3RydWN0IHdmeF9kZXYgKndkZXYpOwordm9pZCB3Znhf dHhfcXVldWVzX2NoZWNrX2VtcHR5KHN0cnVjdCB3ZnhfZGV2ICp3ZGV2KTsKIGJvb2wgd2Z4X3R4 X3F1ZXVlc19oYXNfY2FiKHN0cnVjdCB3ZnhfdmlmICp3dmlmKTsKLXZvaWQgd2Z4X3R4X3F1ZXVl c193YWl0X2VtcHR5X3ZpZihzdHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZik7CiB2b2lkIHdmeF90eF9xdWV1 ZXNfcHV0KHN0cnVjdCB3ZnhfZGV2ICp3ZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKTsKIHN0cnVj dCBoaWZfbXNnICp3ZnhfdHhfcXVldWVzX2dldChzdHJ1Y3Qgd2Z4X2RldiAqd2Rldik7CiAKK2Jv b2wgd2Z4X3R4X3F1ZXVlX2VtcHR5KHN0cnVjdCB3ZnhfZGV2ICp3ZGV2LCBzdHJ1Y3Qgd2Z4X3F1 ZXVlICpxdWV1ZSwKKwkJCWludCB2aWZfaWQpOwordm9pZCB3ZnhfdHhfcXVldWVfZHJvcChzdHJ1 Y3Qgd2Z4X2RldiAqd2Rldiwgc3RydWN0IHdmeF9xdWV1ZSAqcXVldWUsCisJCSAgICAgICBpbnQg dmlmX2lkLCBzdHJ1Y3Qgc2tfYnVmZl9oZWFkICpkcm9wcGVkKTsKIAogc3RydWN0IHNrX2J1ZmYg KndmeF9wZW5kaW5nX2dldChzdHJ1Y3Qgd2Z4X2RldiAqd2RldiwgdTMyIHBhY2tldF9pZCk7Cit2 b2lkIHdmeF9wZW5kaW5nX2Ryb3Aoc3RydWN0IHdmeF9kZXYgKndkZXYsIHN0cnVjdCBza19idWZm X2hlYWQgKmRyb3BwZWQpOwogaW50IHdmeF9wZW5kaW5nX3JlcXVldWUoc3RydWN0IHdmeF9kZXYg KndkZXYsIHN0cnVjdCBza19idWZmICpza2IpOwogdW5zaWduZWQgaW50IHdmeF9wZW5kaW5nX2dl dF9wa3RfdXNfZGVsYXkoc3RydWN0IHdmeF9kZXYgKndkZXYsCiAJCQkJCSAgc3RydWN0IHNrX2J1 ZmYgKnNrYik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvd2Z4L3N0YS5jIGIvZHJpdmVy cy9zdGFnaW5nL3dmeC9zdGEuYwppbmRleCAzNDBlMDliYjYzOWQuLmIxZWUwMmQyZjUxNSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL3dmeC9zdGEuYworKysgYi9kcml2ZXJzL3N0YWdpbmcv d2Z4L3N0YS5jCkBAIC0zMTgsMjkgKzMxOCw2IEBAIGludCB3Znhfc2V0X3J0c190aHJlc2hvbGQo c3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHUzMiB2YWx1ZSkKIAlyZXR1cm4gMDsKIH0KIAotc3Rh dGljIGludCBfX3dmeF9mbHVzaChzdHJ1Y3Qgd2Z4X2RldiAqd2RldiwgYm9vbCBkcm9wKQotewot CWZvciAoOzspIHsKLQkJaWYgKGRyb3ApCi0JCQl3ZnhfdHhfcXVldWVzX2NsZWFyKHdkZXYpOwot CQlpZiAod2FpdF9ldmVudF90aW1lb3V0KHdkZXYtPnR4X2RlcXVldWUsCi0JCQkJICAgICAgIHdm eF90eF9xdWV1ZXNfZW1wdHkod2RldiksCi0JCQkJICAgICAgIDIgKiBIWikgPD0gMCkKLQkJCXJl dHVybiAtRVRJTUVET1VUOwotCQl3ZnhfdHhfZmx1c2god2Rldik7Ci0JCWlmICh3ZnhfdHhfcXVl dWVzX2VtcHR5KHdkZXYpKQotCQkJcmV0dXJuIDA7Ci0JCWRldl93YXJuKHdkZXYtPmRldiwgImZy YW1lcyBxdWV1ZWQgd2hpbGUgZmx1c2hpbmcgdHggcXVldWVzIik7Ci0JfQotfQotCi12b2lkIHdm eF9mbHVzaChzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywgc3RydWN0IGllZWU4MDIxMV92aWYgKnZp ZiwKLQkJICB1MzIgcXVldWVzLCBib29sIGRyb3ApCi17Ci0JLy8gRklYTUU6IG9ubHkgZmx1c2gg cmVxdWVzdGVkIHZpZiBhbmQgcXVldWVzCi0JX193ZnhfZmx1c2goaHctPnByaXYsIGRyb3ApOwot fQotCiAvKiBXU00gY2FsbGJhY2tzICovCiAKIHN0YXRpYyB2b2lkIHdmeF9ldmVudF9yZXBvcnRf cnNzaShzdHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZiwgdTggcmF3X3JjcGlfcnNzaSkKQEAgLTg0MywxMCAr ODIwLDggQEAgc3RhdGljIGludCB3ZnhfdXBkYXRlX3RpbShzdHJ1Y3Qgd2Z4X3ZpZiAqd3ZpZikK IAogCXNrYiA9IGllZWU4MDIxMV9iZWFjb25fZ2V0X3RpbSh3dmlmLT53ZGV2LT5odywgd3ZpZi0+ dmlmLAogCQkJCSAgICAgICAmdGltX29mZnNldCwgJnRpbV9sZW5ndGgpOwotCWlmICghc2tiKSB7 Ci0JCV9fd2Z4X2ZsdXNoKHd2aWYtPndkZXYsIHRydWUpOworCWlmICghc2tiKQogCQlyZXR1cm4g LUVOT0VOVDsKLQl9CiAJdGltX3B0ciA9IHNrYi0+ZGF0YSArIHRpbV9vZmZzZXQ7CiAKIAlpZiAo dGltX29mZnNldCAmJiB0aW1fbGVuZ3RoID49IDYpIHsKQEAgLTEwNjIsOCArMTAzNyw2IEBAIHZv aWQgd2Z4X3JlbW92ZV9pbnRlcmZhY2Uoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsCiAJfQogCiAJ d3ZpZi0+c3RhdGUgPSBXRlhfU1RBVEVfUEFTU0lWRTsKLQl3ZnhfdHhfcXVldWVzX3dhaXRfZW1w dHlfdmlmKHd2aWYpOwotCXdmeF90eF91bmxvY2sod2Rldik7CiAKIAkvKiBGSVhNRTogSW4gYWRk IHRvIHJlc2V0IE1BQyBhZGRyZXNzLCB0cnkgdG8gcmVzZXQgaW50ZXJmYWNlICovCiAJaGlmX3Nl dF9tYWNhZGRyKHd2aWYsIE5VTEwpOwpAQCAtMTA5NywxMCArMTA3MCw1IEBAIHZvaWQgd2Z4X3N0 b3Aoc3RydWN0IGllZWU4MDIxMV9odyAqaHcpCiB7CiAJc3RydWN0IHdmeF9kZXYgKndkZXYgPSBo dy0+cHJpdjsKIAotCXdmeF90eF9sb2NrX2ZsdXNoKHdkZXYpOwotCW11dGV4X2xvY2soJndkZXYt PmNvbmZfbXV0ZXgpOwotCXdmeF90eF9xdWV1ZXNfY2xlYXIod2Rldik7Ci0JbXV0ZXhfdW5sb2Nr KCZ3ZGV2LT5jb25mX211dGV4KTsKLQl3ZnhfdHhfdW5sb2NrKHdkZXYpOwotCVdBUk4oYXRvbWlj X3JlYWQoJndkZXYtPnR4X2xvY2spLCAidHhfbG9jayBpcyBsb2NrZWQiKTsKKwl3ZnhfdHhfcXVl dWVzX2NoZWNrX2VtcHR5KHdkZXYpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL3dm eC9zdGEuaCBiL2RyaXZlcnMvc3RhZ2luZy93Zngvc3RhLmgKaW5kZXggY2Y5OWE4YTc0YTgxLi5h MGM1MTUzZTUyNzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy93Zngvc3RhLmgKKysrIGIv ZHJpdmVycy9zdGFnaW5nL3dmeC9zdGEuaApAQCAtNTQsOCArNTQsNiBAQCB2b2lkIHdmeF9jb25m aWd1cmVfZmlsdGVyKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LCB1bnNpZ25lZCBpbnQgY2hhbmdl ZF9mbGFncywKIAogaW50IHdmeF9hZGRfaW50ZXJmYWNlKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3 LCBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmKTsKIHZvaWQgd2Z4X3JlbW92ZV9pbnRlcmZhY2Uo c3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYpOwotdm9p ZCB3ZnhfZmx1c2goc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHN0cnVjdCBpZWVlODAyMTFfdmlm ICp2aWYsCi0JICAgICAgIHUzMiBxdWV1ZXMsIGJvb2wgZHJvcCk7CiBpbnQgd2Z4X2NvbmZfdHgo c3RydWN0IGllZWU4MDIxMV9odyAqaHcsIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsCiAJCXUx NiBxdWV1ZSwgY29uc3Qgc3RydWN0IGllZWU4MDIxMV90eF9xdWV1ZV9wYXJhbXMgKnBhcmFtcyk7 CiB2b2lkIHdmeF9ic3NfaW5mb19jaGFuZ2VkKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LCBzdHJ1 Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLAotLSAKMi4yNS4xCgo=