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=-12.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT 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 3FFF6C2D0A3 for ; Wed, 4 Nov 2020 09:07:22 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 807702242B for ; Wed, 4 Nov 2020 09:07:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="GAbGqZjq"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="i1auLP28" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 807702242B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Gtfx5Zg3aKs6k+6j4TfFbtBwuzX4mt1uTdD9qG2jzDo=; b=GAbGqZjqaT4eX6lnVjDDt67i9 sFcvF0kZ8XHCQZAFmVDUdQjGs9WgIGxxvUpM1q3HIkmTgbvtNc/0zFDol4tCu+Po2ojuzYxQROne3 NKIleGNr4jvSzmZisW2NTGcaVFv6xcHHJ1p5H4OmqPqEPIgkkt/pJmRGxTH3OnmSzYxnCwLKU8xtN BzYe3nW827lAWPAE/pBwjcjyiVDxmuzvCzmgz/tiith9phbaN2aBJ7oG+YUb8KIQThJyxiExE4VoB KG4ixCbQ+hwpMs53625O5hlF+QvDHq/g5gZzbz5L9j6OujhGJGPPRKrVsUX35vY4DPDMPcps5BHWc feJOaCN+g==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kaEkZ-0003k4-8E; Wed, 04 Nov 2020 09:06:39 +0000 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kaEkL-0003fK-Hs for linux-arm-kernel@lists.infradead.org; Wed, 04 Nov 2020 09:06:27 +0000 Received: by mail-wm1-x342.google.com with SMTP id 13so1627097wmf.0 for ; Wed, 04 Nov 2020 01:06:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=D0aje7znnyCcuhdDe70XckIGCUNEYtXa5x7TCAbIvC0=; b=i1auLP28ZX6Tx2Qq8HzP8vgzDZtmIvoGS7mqjS9UiN11JzcSzmGfV6/P/Hy5qEB/wa c2fRKcRdOkKBdDLbrfyBUD0gc5ONavKPWObTXJczemN9TbWFZkperGQ8Qr8CYsp2guLb UASYdrAsLMLA5CApazgLRBvBMQuznz8QKFq4SM4MyrPWtDi/h2Hilig6JgeWCvbPXnU2 NwcBv7DTKEeAH/yHjM/xD/VM4h3bfhwL90j8v4tvZkPJxOzuVgc3mUYnSA+Fbj5wz1Kc TbQcoS5UKMmbHEUGQD8qSZXrCXQd971A5NywK5poBzU5ER8FQMmAs3W/LQ2DPcnsSdky 1K8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=D0aje7znnyCcuhdDe70XckIGCUNEYtXa5x7TCAbIvC0=; b=bAZJp30EJ4UqhnrpITvJJB7gvI5iItxh/nev7nFBCX0l5WgqiOYVtFwNAsHT7bYjY2 KWFkwOGlFG1VS30E3Atb45/kx8dSX9yJGPqpyIzn9mYnLD2xuuFdQcDLjePgXwMySqOp nejYkay9VopQ17Q1uRUdF7Jih45VJf/3Nua/YqHpkZbTwfTLxXACJ8PvTGSUWKRvGt6I QTQhd4NqJx8H2lQZSKnJtrVBNTO5mTg6orK5CtrxR7xv8RdpwZMaUXxfIefo8Ly0y1t0 CMMlpzv2pkc53dErKURyhmWLPqcAEnTKkuLKC0xIlz2Set1h4crU1B7N+s3WoQX8QQOv eGUg== X-Gm-Message-State: AOAM533qMP8b2qddWSFGkXvYcjhicToRi5NXVYp2OypykfwOX53Uglb7 XyM2hMJ+G/Ki9rWmh3IIcyALcQ== X-Google-Smtp-Source: ABdhPJyo3VvPetZlt2jTbqUfxgx2y301ZcEN0ty1/357xm3X60va5Wyl1ikPvzMi4j80HQz1wfalJA== X-Received: by 2002:a1c:20c6:: with SMTP id g189mr3590255wmg.6.1604480784359; Wed, 04 Nov 2020 01:06:24 -0800 (PST) Received: from dell.default ([91.110.221.242]) by smtp.gmail.com with ESMTPSA id e25sm1607823wrc.76.2020.11.04.01.06.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2020 01:06:23 -0800 (PST) From: Lee Jones To: davem@davemloft.net, kuba@kernel.org Subject: [PATCH 01/12] net: usb: lan78xx: Remove lots of set but unused 'ret' variables Date: Wed, 4 Nov 2020 09:05:59 +0000 Message-Id: <20201104090610.1446616-2-lee.jones@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201104090610.1446616-1-lee.jones@linaro.org> References: <20201104090610.1446616-1-lee.jones@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201104_040625_640591_9D2FB805 X-CRM114-Status: GOOD ( 20.52 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Woojung Huh , netdev@vger.kernel.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Microchip Linux Driver Support , Lee Jones , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Rml4ZXMgdGhlIGZvbGxvd2luZyBXPTEga2VybmVsIGJ1aWxkIHdhcm5pbmcocyk6CgogZHJpdmVy cy9uZXQvdXNiL2xhbjc4eHguYzogSW4gZnVuY3Rpb24g4oCYbGFuNzh4eF9yZWFkX3Jhd19vdHDi gJk6CiBkcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jOjgyNTo2OiB3YXJuaW5nOiB2YXJpYWJsZSDi gJhyZXTigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVd1bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIGRy aXZlcnMvbmV0L3VzYi9sYW43OHh4LmM6IEluIGZ1bmN0aW9uIOKAmGxhbjc4eHhfd3JpdGVfcmF3 X290cOKAmToKIGRyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmM6ODc5OjY6IHdhcm5pbmc6IHZhcmlh YmxlIOKAmHJldOKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV3VudXNlZC1idXQtc2V0LXZhcmlhYmxl XQogZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguYzogSW4gZnVuY3Rpb24g4oCYbGFuNzh4eF9kZWZl cnJlZF9tdWx0aWNhc3Rfd3JpdGXigJk6CiBkcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jOjEwNDE6 Njogd2FybmluZzogdmFyaWFibGUg4oCYcmV04oCZIHNldCBidXQgbm90IHVzZWQgWy1XdW51c2Vk LWJ1dC1zZXQtdmFyaWFibGVdCiBkcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jOiBJbiBmdW5jdGlv biDigJhsYW43OHh4X3VwZGF0ZV9mbG93Y29udHJvbOKAmToKIGRyaXZlcnMvbmV0L3VzYi9sYW43 OHh4LmM6MTEyNzo2OiB3YXJuaW5nOiB2YXJpYWJsZSDigJhyZXTigJkgc2V0IGJ1dCBub3QgdXNl ZCBbLVd1bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIGRyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmM6 IEluIGZ1bmN0aW9uIOKAmGxhbjc4eHhfaW5pdF9tYWNfYWRkcmVzc+KAmToKIGRyaXZlcnMvbmV0 L3VzYi9sYW43OHh4LmM6MTY2Njo2OiB3YXJuaW5nOiB2YXJpYWJsZSDigJhyZXTigJkgc2V0IGJ1 dCBub3QgdXNlZCBbLVd1bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIGRyaXZlcnMvbmV0L3VzYi9s YW43OHh4LmM6IEluIGZ1bmN0aW9uIOKAmGxhbjc4eHhfbGlua19zdGF0dXNfY2hhbmdl4oCZOgog ZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguYzoxODQxOjY6IHdhcm5pbmc6IHZhcmlhYmxlIOKAmHJl dOKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogZHJpdmVy cy9uZXQvdXNiL2xhbjc4eHguYzogSW4gZnVuY3Rpb24g4oCYbGFuNzh4eF9pcnFfYnVzX3N5bmNf dW5sb2Nr4oCZOgogZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguYzoxOTIwOjY6IHdhcm5pbmc6IHZh cmlhYmxlIOKAmHJldOKAmSBzZXQgYnV0IG5vdCB1c2VkIFstV3VudXNlZC1idXQtc2V0LXZhcmlh YmxlXQogZHJpdmVycy9uZXQvdXNiL2xhbjc4eHguYzogSW4gZnVuY3Rpb24g4oCYbGFuODgzNV9m aXh1cOKAmToKIGRyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmM6MTk5NDo2OiB3YXJuaW5nOiB2YXJp YWJsZSDigJhyZXTigJkgc2V0IGJ1dCBub3QgdXNlZCBbLVd1bnVzZWQtYnV0LXNldC12YXJpYWJs ZV0KIGRyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmM6IEluIGZ1bmN0aW9uIOKAmGxhbjc4eHhfc2V0 X3J4X21heF9mcmFtZV9sZW5ndGjigJk6CiBkcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jOjIxOTI6 Njogd2FybmluZzogdmFyaWFibGUg4oCYcmV04oCZIHNldCBidXQgbm90IHVzZWQgWy1XdW51c2Vk LWJ1dC1zZXQtdmFyaWFibGVdCiBkcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jOiBJbiBmdW5jdGlv biDigJhsYW43OHh4X2NoYW5nZV9tdHXigJk6CiBkcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jOjIy NzA6Njogd2FybmluZzogdmFyaWFibGUg4oCYcmV04oCZIHNldCBidXQgbm90IHVzZWQgWy1XdW51 c2VkLWJ1dC1zZXQtdmFyaWFibGVdCiBkcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jOiBJbiBmdW5j dGlvbiDigJhsYW43OHh4X3NldF9tYWNfYWRkcuKAmToKIGRyaXZlcnMvbmV0L3VzYi9sYW43OHh4 LmM6MjI5OTo2OiB3YXJuaW5nOiB2YXJpYWJsZSDigJhyZXTigJkgc2V0IGJ1dCBub3QgdXNlZCBb LVd1bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KIGRyaXZlcnMvbmV0L3VzYi9sYW43OHh4LmM6IElu IGZ1bmN0aW9uIOKAmGxhbjc4eHhfc2V0X2ZlYXR1cmVz4oCZOgogZHJpdmVycy9uZXQvdXNiL2xh bjc4eHguYzoyMzMzOjY6IHdhcm5pbmc6IHZhcmlhYmxlIOKAmHJldOKAmSBzZXQgYnV0IG5vdCB1 c2VkIFstV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlXQogZHJpdmVycy9uZXQvdXNiL2xhbjc4eHgu YzogSW4gZnVuY3Rpb24g4oCYbGFuNzh4eF9zZXRfc3VzcGVuZOKAmToKIGRyaXZlcnMvbmV0L3Vz Yi9sYW43OHh4LmM6MzgwNzo2OiB3YXJuaW5nOiB2YXJpYWJsZSDigJhyZXTigJkgc2V0IGJ1dCBu b3QgdXNlZCBbLVd1bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KCkNjOiBXb29qdW5nIEh1aCA8d29v anVuZy5odWhAbWljcm9jaGlwLmNvbT4KQ2M6IE1pY3JvY2hpcCBMaW51eCBEcml2ZXIgU3VwcG9y dCA8VU5HTGludXhEcml2ZXJAbWljcm9jaGlwLmNvbT4KQ2M6ICJEYXZpZCBTLiBNaWxsZXIiIDxk YXZlbUBkYXZlbWxvZnQubmV0PgpDYzogSmFrdWIgS2ljaW5za2kgPGt1YmFAa2VybmVsLm9yZz4K Q2M6IG5ldGRldkB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LXVzYkB2Z2VyLmtlcm5lbC5vcmcK U2lnbmVkLW9mZi1ieTogTGVlIEpvbmVzIDxsZWUuam9uZXNAbGluYXJvLm9yZz4KLS0tCiBkcml2 ZXJzL25ldC91c2IvbGFuNzh4eC5jIHwgMjEyICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTAwIGluc2VydGlvbnMoKyksIDExMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jIGIvZHJpdmVycy9u ZXQvdXNiL2xhbjc4eHguYwppbmRleCA2NWIzMTViYzYwYWJkLi41NTE3ZDA1NTVlZjIyIDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC91c2IvbGFuNzh4eC5jCisrKyBiL2RyaXZlcnMvbmV0L3VzYi9s YW43OHh4LmMKQEAgLTgyMiwyMCArODIyLDE5IEBAIHN0YXRpYyBpbnQgbGFuNzh4eF9yZWFkX3Jh d19vdHAoc3RydWN0IGxhbjc4eHhfbmV0ICpkZXYsIHUzMiBvZmZzZXQsCiAJCQkJdTMyIGxlbmd0 aCwgdTggKmRhdGEpCiB7CiAJaW50IGk7Ci0JaW50IHJldDsKIAl1MzIgYnVmOwogCXVuc2lnbmVk IGxvbmcgdGltZW91dDsKIAotCXJldCA9IGxhbjc4eHhfcmVhZF9yZWcoZGV2LCBPVFBfUFdSX0RO LCAmYnVmKTsKKwlsYW43OHh4X3JlYWRfcmVnKGRldiwgT1RQX1BXUl9ETiwgJmJ1Zik7CiAKIAlp ZiAoYnVmICYgT1RQX1BXUl9ETl9QV1JETl9OXykgewogCQkvKiBjbGVhciBpdCBhbmQgd2FpdCB0 byBiZSBjbGVhcmVkICovCi0JCXJldCA9IGxhbjc4eHhfd3JpdGVfcmVnKGRldiwgT1RQX1BXUl9E TiwgMCk7CisJCWxhbjc4eHhfd3JpdGVfcmVnKGRldiwgT1RQX1BXUl9ETiwgMCk7CiAKIAkJdGlt ZW91dCA9IGppZmZpZXMgKyBIWjsKIAkJZG8gewogCQkJdXNsZWVwX3JhbmdlKDEsIDEwKTsKLQkJ CXJldCA9IGxhbjc4eHhfcmVhZF9yZWcoZGV2LCBPVFBfUFdSX0ROLCAmYnVmKTsKKwkJCWxhbjc4 eHhfcmVhZF9yZWcoZGV2LCBPVFBfUFdSX0ROLCAmYnVmKTsKIAkJCWlmICh0aW1lX2FmdGVyKGpp ZmZpZXMsIHRpbWVvdXQpKSB7CiAJCQkJbmV0ZGV2X3dhcm4oZGV2LT5uZXQsCiAJCQkJCSAgICAi dGltZW91dCBvbiBPVFBfUFdSX0ROIik7CkBAIC04NDUsMTggKzg0NCwxOCBAQCBzdGF0aWMgaW50 IGxhbjc4eHhfcmVhZF9yYXdfb3RwKHN0cnVjdCBsYW43OHh4X25ldCAqZGV2LCB1MzIgb2Zmc2V0 LAogCX0KIAogCWZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewotCQlyZXQgPSBsYW43OHh4 X3dyaXRlX3JlZyhkZXYsIE9UUF9BRERSMSwKLQkJCQkJKChvZmZzZXQgKyBpKSA+PiA4KSAmIE9U UF9BRERSMV8xNV8xMSk7Ci0JCXJldCA9IGxhbjc4eHhfd3JpdGVfcmVnKGRldiwgT1RQX0FERFIy LAotCQkJCQkoKG9mZnNldCArIGkpICYgT1RQX0FERFIyXzEwXzMpKTsKKwkJbGFuNzh4eF93cml0 ZV9yZWcoZGV2LCBPVFBfQUREUjEsCisJCQkJICAoKG9mZnNldCArIGkpID4+IDgpICYgT1RQX0FE RFIxXzE1XzExKTsKKwkJbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBPVFBfQUREUjIsCisJCQkJICAo KG9mZnNldCArIGkpICYgT1RQX0FERFIyXzEwXzMpKTsKIAotCQlyZXQgPSBsYW43OHh4X3dyaXRl X3JlZyhkZXYsIE9UUF9GVU5DX0NNRCwgT1RQX0ZVTkNfQ01EX1JFQURfKTsKLQkJcmV0ID0gbGFu Nzh4eF93cml0ZV9yZWcoZGV2LCBPVFBfQ01EX0dPLCBPVFBfQ01EX0dPX0dPXyk7CisJCWxhbjc4 eHhfd3JpdGVfcmVnKGRldiwgT1RQX0ZVTkNfQ01ELCBPVFBfRlVOQ19DTURfUkVBRF8pOworCQls YW43OHh4X3dyaXRlX3JlZyhkZXYsIE9UUF9DTURfR08sIE9UUF9DTURfR09fR09fKTsKIAogCQl0 aW1lb3V0ID0gamlmZmllcyArIEhaOwogCQlkbyB7CiAJCQl1ZGVsYXkoMSk7Ci0JCQlyZXQgPSBs YW43OHh4X3JlYWRfcmVnKGRldiwgT1RQX1NUQVRVUywgJmJ1Zik7CisJCQlsYW43OHh4X3JlYWRf cmVnKGRldiwgT1RQX1NUQVRVUywgJmJ1Zik7CiAJCQlpZiAodGltZV9hZnRlcihqaWZmaWVzLCB0 aW1lb3V0KSkgewogCQkJCW5ldGRldl93YXJuKGRldi0+bmV0LAogCQkJCQkgICAgInRpbWVvdXQg b24gT1RQX1NUQVRVUyIpOwpAQCAtODY0LDcgKzg2Myw3IEBAIHN0YXRpYyBpbnQgbGFuNzh4eF9y ZWFkX3Jhd19vdHAoc3RydWN0IGxhbjc4eHhfbmV0ICpkZXYsIHUzMiBvZmZzZXQsCiAJCQl9CiAJ CX0gd2hpbGUgKGJ1ZiAmIE9UUF9TVEFUVVNfQlVTWV8pOwogCi0JCXJldCA9IGxhbjc4eHhfcmVh ZF9yZWcoZGV2LCBPVFBfUkRfREFUQSwgJmJ1Zik7CisJCWxhbjc4eHhfcmVhZF9yZWcoZGV2LCBP VFBfUkRfREFUQSwgJmJ1Zik7CiAKIAkJZGF0YVtpXSA9ICh1OCkoYnVmICYgMHhGRik7CiAJfQpA QCAtODc2LDIwICs4NzUsMTkgQEAgc3RhdGljIGludCBsYW43OHh4X3dyaXRlX3Jhd19vdHAoc3Ry dWN0IGxhbjc4eHhfbmV0ICpkZXYsIHUzMiBvZmZzZXQsCiAJCQkJIHUzMiBsZW5ndGgsIHU4ICpk YXRhKQogewogCWludCBpOwotCWludCByZXQ7CiAJdTMyIGJ1ZjsKIAl1bnNpZ25lZCBsb25nIHRp bWVvdXQ7CiAKLQlyZXQgPSBsYW43OHh4X3JlYWRfcmVnKGRldiwgT1RQX1BXUl9ETiwgJmJ1Zik7 CisJbGFuNzh4eF9yZWFkX3JlZyhkZXYsIE9UUF9QV1JfRE4sICZidWYpOwogCiAJaWYgKGJ1ZiAm IE9UUF9QV1JfRE5fUFdSRE5fTl8pIHsKIAkJLyogY2xlYXIgaXQgYW5kIHdhaXQgdG8gYmUgY2xl YXJlZCAqLwotCQlyZXQgPSBsYW43OHh4X3dyaXRlX3JlZyhkZXYsIE9UUF9QV1JfRE4sIDApOwor CQlsYW43OHh4X3dyaXRlX3JlZyhkZXYsIE9UUF9QV1JfRE4sIDApOwogCiAJCXRpbWVvdXQgPSBq aWZmaWVzICsgSFo7CiAJCWRvIHsKIAkJCXVkZWxheSgxKTsKLQkJCXJldCA9IGxhbjc4eHhfcmVh ZF9yZWcoZGV2LCBPVFBfUFdSX0ROLCAmYnVmKTsKKwkJCWxhbjc4eHhfcmVhZF9yZWcoZGV2LCBP VFBfUFdSX0ROLCAmYnVmKTsKIAkJCWlmICh0aW1lX2FmdGVyKGppZmZpZXMsIHRpbWVvdXQpKSB7 CiAJCQkJbmV0ZGV2X3dhcm4oZGV2LT5uZXQsCiAJCQkJCSAgICAidGltZW91dCBvbiBPVFBfUFdS X0ROIGNvbXBsZXRpb24iKTsKQEAgLTg5OSwyMSArODk3LDIxIEBAIHN0YXRpYyBpbnQgbGFuNzh4 eF93cml0ZV9yYXdfb3RwKHN0cnVjdCBsYW43OHh4X25ldCAqZGV2LCB1MzIgb2Zmc2V0LAogCX0K IAogCS8qIHNldCB0byBCWVRFIHByb2dyYW0gbW9kZSAqLwotCXJldCA9IGxhbjc4eHhfd3JpdGVf cmVnKGRldiwgT1RQX1BSR01fTU9ERSwgT1RQX1BSR01fTU9ERV9CWVRFXyk7CisJbGFuNzh4eF93 cml0ZV9yZWcoZGV2LCBPVFBfUFJHTV9NT0RFLCBPVFBfUFJHTV9NT0RFX0JZVEVfKTsKIAogCWZv ciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewotCQlyZXQgPSBsYW43OHh4X3dyaXRlX3JlZyhk ZXYsIE9UUF9BRERSMSwKLQkJCQkJKChvZmZzZXQgKyBpKSA+PiA4KSAmIE9UUF9BRERSMV8xNV8x MSk7Ci0JCXJldCA9IGxhbjc4eHhfd3JpdGVfcmVnKGRldiwgT1RQX0FERFIyLAotCQkJCQkoKG9m ZnNldCArIGkpICYgT1RQX0FERFIyXzEwXzMpKTsKLQkJcmV0ID0gbGFuNzh4eF93cml0ZV9yZWco ZGV2LCBPVFBfUFJHTV9EQVRBLCBkYXRhW2ldKTsKLQkJcmV0ID0gbGFuNzh4eF93cml0ZV9yZWco ZGV2LCBPVFBfVFNUX0NNRCwgT1RQX1RTVF9DTURfUFJHVlJGWV8pOwotCQlyZXQgPSBsYW43OHh4 X3dyaXRlX3JlZyhkZXYsIE9UUF9DTURfR08sIE9UUF9DTURfR09fR09fKTsKKwkJbGFuNzh4eF93 cml0ZV9yZWcoZGV2LCBPVFBfQUREUjEsCisJCQkJICAoKG9mZnNldCArIGkpID4+IDgpICYgT1RQ X0FERFIxXzE1XzExKTsKKwkJbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBPVFBfQUREUjIsCisJCQkJ ICAoKG9mZnNldCArIGkpICYgT1RQX0FERFIyXzEwXzMpKTsKKwkJbGFuNzh4eF93cml0ZV9yZWco ZGV2LCBPVFBfUFJHTV9EQVRBLCBkYXRhW2ldKTsKKwkJbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBP VFBfVFNUX0NNRCwgT1RQX1RTVF9DTURfUFJHVlJGWV8pOworCQlsYW43OHh4X3dyaXRlX3JlZyhk ZXYsIE9UUF9DTURfR08sIE9UUF9DTURfR09fR09fKTsKIAogCQl0aW1lb3V0ID0gamlmZmllcyAr IEhaOwogCQlkbyB7CiAJCQl1ZGVsYXkoMSk7Ci0JCQlyZXQgPSBsYW43OHh4X3JlYWRfcmVnKGRl diwgT1RQX1NUQVRVUywgJmJ1Zik7CisJCQlsYW43OHh4X3JlYWRfcmVnKGRldiwgT1RQX1NUQVRV UywgJmJ1Zik7CiAJCQlpZiAodGltZV9hZnRlcihqaWZmaWVzLCB0aW1lb3V0KSkgewogCQkJCW5l dGRldl93YXJuKGRldi0+bmV0LAogCQkJCQkgICAgIlRpbWVvdXQgb24gT1RQX1NUQVRVUyBjb21w bGV0aW9uIik7CkBAIC0xMDM4LDcgKzEwMzYsNiBAQCBzdGF0aWMgdm9pZCBsYW43OHh4X2RlZmVy cmVkX211bHRpY2FzdF93cml0ZShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKnBhcmFtKQogCQkJY29udGFp bmVyX29mKHBhcmFtLCBzdHJ1Y3QgbGFuNzh4eF9wcml2LCBzZXRfbXVsdGljYXN0KTsKIAlzdHJ1 Y3QgbGFuNzh4eF9uZXQgKmRldiA9IHBkYXRhLT5kZXY7CiAJaW50IGk7Ci0JaW50IHJldDsKIAog CW5ldGlmX2RiZyhkZXYsIGRydiwgZGV2LT5uZXQsICJkZWZlcnJlZCBtdWx0aWNhc3Qgd3JpdGUg MHglMDh4XG4iLAogCQkgIHBkYXRhLT5yZmVfY3RsKTsKQEAgLTEwNDcsMTQgKzEwNDQsMTQgQEAg c3RhdGljIHZvaWQgbGFuNzh4eF9kZWZlcnJlZF9tdWx0aWNhc3Rfd3JpdGUoc3RydWN0IHdvcmtf c3RydWN0ICpwYXJhbSkKIAkJCSAgICAgICBEUF9TRUxfVkhGX0hBU0hfTEVOLCBwZGF0YS0+bWNo YXNoX3RhYmxlKTsKIAogCWZvciAoaSA9IDE7IGkgPCBOVU1fT0ZfTUFGOyBpKyspIHsKLQkJcmV0 ID0gbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBNQUZfSEkoaSksIDApOwotCQlyZXQgPSBsYW43OHh4 X3dyaXRlX3JlZyhkZXYsIE1BRl9MTyhpKSwKLQkJCQkJcGRhdGEtPnBmaWx0ZXJfdGFibGVbaV1b MV0pOwotCQlyZXQgPSBsYW43OHh4X3dyaXRlX3JlZyhkZXYsIE1BRl9ISShpKSwKLQkJCQkJcGRh dGEtPnBmaWx0ZXJfdGFibGVbaV1bMF0pOworCQlsYW43OHh4X3dyaXRlX3JlZyhkZXYsIE1BRl9I SShpKSwgMCk7CisJCWxhbjc4eHhfd3JpdGVfcmVnKGRldiwgTUFGX0xPKGkpLAorCQkJCSAgcGRh dGEtPnBmaWx0ZXJfdGFibGVbaV1bMV0pOworCQlsYW43OHh4X3dyaXRlX3JlZyhkZXYsIE1BRl9I SShpKSwKKwkJCQkgIHBkYXRhLT5wZmlsdGVyX3RhYmxlW2ldWzBdKTsKIAl9CiAKLQlyZXQgPSBs YW43OHh4X3dyaXRlX3JlZyhkZXYsIFJGRV9DVEwsIHBkYXRhLT5yZmVfY3RsKTsKKwlsYW43OHh4 X3dyaXRlX3JlZyhkZXYsIFJGRV9DVEwsIHBkYXRhLT5yZmVfY3RsKTsKIH0KIAogc3RhdGljIHZv aWQgbGFuNzh4eF9zZXRfbXVsdGljYXN0KHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYpCkBAIC0x MTI0LDcgKzExMjEsNiBAQCBzdGF0aWMgaW50IGxhbjc4eHhfdXBkYXRlX2Zsb3djb250cm9sKHN0 cnVjdCBsYW43OHh4X25ldCAqZGV2LCB1OCBkdXBsZXgsCiAJCQkJICAgICAgdTE2IGxjbGFkdiwg dTE2IHJtdGFkdikKIHsKIAl1MzIgZmxvdyA9IDAsIGZjdF9mbG93ID0gMDsKLQlpbnQgcmV0Owog CXU4IGNhcDsKIAogCWlmIChkZXYtPmZjX2F1dG9uZWcpCkBAIC0xMTQ3LDEwICsxMTQzLDEwIEBA IHN0YXRpYyBpbnQgbGFuNzh4eF91cGRhdGVfZmxvd2NvbnRyb2woc3RydWN0IGxhbjc4eHhfbmV0 ICpkZXYsIHU4IGR1cGxleCwKIAkJICAoY2FwICYgRkxPV19DVFJMX1JYID8gImVuYWJsZWQiIDog ImRpc2FibGVkIiksCiAJCSAgKGNhcCAmIEZMT1dfQ1RSTF9UWCA/ICJlbmFibGVkIiA6ICJkaXNh YmxlZCIpKTsKIAotCXJldCA9IGxhbjc4eHhfd3JpdGVfcmVnKGRldiwgRkNUX0ZMT1csIGZjdF9m bG93KTsKKwlsYW43OHh4X3dyaXRlX3JlZyhkZXYsIEZDVF9GTE9XLCBmY3RfZmxvdyk7CiAKIAkv KiB0aHJlc2hvbGQgdmFsdWUgc2hvdWxkIGJlIHNldCBiZWZvcmUgZW5hYmxpbmcgZmxvdyAqLwot CXJldCA9IGxhbjc4eHhfd3JpdGVfcmVnKGRldiwgRkxPVywgZmxvdyk7CisJbGFuNzh4eF93cml0 ZV9yZWcoZGV2LCBGTE9XLCBmbG93KTsKIAogCXJldHVybiAwOwogfQpAQCAtMTY2MywxMSArMTY1 OSwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGV0aHRvb2xfb3BzIGxhbjc4eHhfZXRodG9vbF9v cHMgPSB7CiBzdGF0aWMgdm9pZCBsYW43OHh4X2luaXRfbWFjX2FkZHJlc3Moc3RydWN0IGxhbjc4 eHhfbmV0ICpkZXYpCiB7CiAJdTMyIGFkZHJfbG8sIGFkZHJfaGk7Ci0JaW50IHJldDsKIAl1OCBh ZGRyWzZdOwogCi0JcmV0ID0gbGFuNzh4eF9yZWFkX3JlZyhkZXYsIFJYX0FERFJMLCAmYWRkcl9s byk7Ci0JcmV0ID0gbGFuNzh4eF9yZWFkX3JlZyhkZXYsIFJYX0FERFJILCAmYWRkcl9oaSk7CisJ bGFuNzh4eF9yZWFkX3JlZyhkZXYsIFJYX0FERFJMLCAmYWRkcl9sbyk7CisJbGFuNzh4eF9yZWFk X3JlZyhkZXYsIFJYX0FERFJILCAmYWRkcl9oaSk7CiAKIAlhZGRyWzBdID0gYWRkcl9sbyAmIDB4 RkY7CiAJYWRkclsxXSA9IChhZGRyX2xvID4+IDgpICYgMHhGRjsKQEAgLTE3MDAsMTIgKzE2OTUs MTIgQEAgc3RhdGljIHZvaWQgbGFuNzh4eF9pbml0X21hY19hZGRyZXNzKHN0cnVjdCBsYW43OHh4 X25ldCAqZGV2KQogCQkJICAoYWRkclsyXSA8PCAxNikgfCAoYWRkclszXSA8PCAyNCk7CiAJCWFk ZHJfaGkgPSBhZGRyWzRdIHwgKGFkZHJbNV0gPDwgOCk7CiAKLQkJcmV0ID0gbGFuNzh4eF93cml0 ZV9yZWcoZGV2LCBSWF9BRERSTCwgYWRkcl9sbyk7Ci0JCXJldCA9IGxhbjc4eHhfd3JpdGVfcmVn KGRldiwgUlhfQUREUkgsIGFkZHJfaGkpOworCQlsYW43OHh4X3dyaXRlX3JlZyhkZXYsIFJYX0FE RFJMLCBhZGRyX2xvKTsKKwkJbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBSWF9BRERSSCwgYWRkcl9o aSk7CiAJfQogCi0JcmV0ID0gbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBNQUZfTE8oMCksIGFkZHJf bG8pOwotCXJldCA9IGxhbjc4eHhfd3JpdGVfcmVnKGRldiwgTUFGX0hJKDApLCBhZGRyX2hpIHwg TUFGX0hJX1ZBTElEXyk7CisJbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBNQUZfTE8oMCksIGFkZHJf bG8pOworCWxhbjc4eHhfd3JpdGVfcmVnKGRldiwgTUFGX0hJKDApLCBhZGRyX2hpIHwgTUFGX0hJ X1ZBTElEXyk7CiAKIAlldGhlcl9hZGRyX2NvcHkoZGV2LT5uZXQtPmRldl9hZGRyLCBhZGRyKTsK IH0KQEAgLTE4MzgsNyArMTgzMyw3IEBAIHN0YXRpYyB2b2lkIGxhbjc4eHhfcmVtb3ZlX21kaW8o c3RydWN0IGxhbjc4eHhfbmV0ICpkZXYpCiBzdGF0aWMgdm9pZCBsYW43OHh4X2xpbmtfc3RhdHVz X2NoYW5nZShzdHJ1Y3QgbmV0X2RldmljZSAqbmV0KQogewogCXN0cnVjdCBwaHlfZGV2aWNlICpw aHlkZXYgPSBuZXQtPnBoeWRldjsKLQlpbnQgcmV0LCB0ZW1wOworCWludCB0ZW1wOwogCiAJLyog QXQgZm9yY2VkIDEwMCBGL0ggbW9kZSwgY2hpcCBtYXkgZmFpbCB0byBzZXQgbW9kZSBjb3JyZWN0 bHkKIAkgKiB3aGVuIGNhYmxlIGlzIHN3aXRjaGVkIGJldHdlZW4gbG9uZyh+NTArbSkgYW5kIHNo b3J0IG9uZS4KQEAgLTE4NDksNyArMTg0NCw3IEBAIHN0YXRpYyB2b2lkIGxhbjc4eHhfbGlua19z dGF0dXNfY2hhbmdlKHN0cnVjdCBuZXRfZGV2aWNlICpuZXQpCiAJCS8qIGRpc2FibGUgcGh5IGlu dGVycnVwdCAqLwogCQl0ZW1wID0gcGh5X3JlYWQocGh5ZGV2LCBMQU44OFhYX0lOVF9NQVNLKTsK IAkJdGVtcCAmPSB+TEFOODhYWF9JTlRfTUFTS19NRElOVFBJTl9FTl87Ci0JCXJldCA9IHBoeV93 cml0ZShwaHlkZXYsIExBTjg4WFhfSU5UX01BU0ssIHRlbXApOworCQlwaHlfd3JpdGUocGh5ZGV2 LCBMQU44OFhYX0lOVF9NQVNLLCB0ZW1wKTsKIAogCQl0ZW1wID0gcGh5X3JlYWQocGh5ZGV2LCBN SUlfQk1DUik7CiAJCXRlbXAgJj0gfihCTUNSX1NQRUVEMTAwIHwgQk1DUl9TUEVFRDEwMDApOwpA QCAtMTg2Myw3ICsxODU4LDcgQEAgc3RhdGljIHZvaWQgbGFuNzh4eF9saW5rX3N0YXR1c19jaGFu Z2Uoc3RydWN0IG5ldF9kZXZpY2UgKm5ldCkKIAkJLyogZW5hYmxlIHBoeSBpbnRlcnJ1cHQgYmFj ayAqLwogCQl0ZW1wID0gcGh5X3JlYWQocGh5ZGV2LCBMQU44OFhYX0lOVF9NQVNLKTsKIAkJdGVt cCB8PSBMQU44OFhYX0lOVF9NQVNLX01ESU5UUElOX0VOXzsKLQkJcmV0ID0gcGh5X3dyaXRlKHBo eWRldiwgTEFOODhYWF9JTlRfTUFTSywgdGVtcCk7CisJCXBoeV93cml0ZShwaHlkZXYsIExBTjg4 WFhfSU5UX01BU0ssIHRlbXApOwogCX0KIH0KIApAQCAtMTkxNywxNCArMTkxMiwxMyBAQCBzdGF0 aWMgdm9pZCBsYW43OHh4X2lycV9idXNfc3luY191bmxvY2soc3RydWN0IGlycV9kYXRhICppcnFk KQogCXN0cnVjdCBsYW43OHh4X25ldCAqZGV2ID0KIAkJCWNvbnRhaW5lcl9vZihkYXRhLCBzdHJ1 Y3QgbGFuNzh4eF9uZXQsIGRvbWFpbl9kYXRhKTsKIAl1MzIgYnVmOwotCWludCByZXQ7CiAKIAkv KiBjYWxsIHJlZ2lzdGVyIGFjY2VzcyBoZXJlIGJlY2F1c2UgaXJxX2J1c19sb2NrICYgaXJxX2J1 c19zeW5jX3VubG9jawogCSAqIGFyZSBvbmx5IHR3byBjYWxsYmFja3MgZXhlY3V0ZWQgaW4gbm9u LWF0b21pYyBjb250ZXguCiAJICovCi0JcmV0ID0gbGFuNzh4eF9yZWFkX3JlZyhkZXYsIElOVF9F UF9DVEwsICZidWYpOworCWxhbjc4eHhfcmVhZF9yZWcoZGV2LCBJTlRfRVBfQ1RMLCAmYnVmKTsK IAlpZiAoYnVmICE9IGRhdGEtPmlycWVuYWJsZSkKLQkJcmV0ID0gbGFuNzh4eF93cml0ZV9yZWco ZGV2LCBJTlRfRVBfQ1RMLCBkYXRhLT5pcnFlbmFibGUpOworCQlsYW43OHh4X3dyaXRlX3JlZyhk ZXYsIElOVF9FUF9DVEwsIGRhdGEtPmlycWVuYWJsZSk7CiAKIAltdXRleF91bmxvY2soJmRhdGEt PmlycV9sb2NrKTsKIH0KQEAgLTE5OTEsNyArMTk4NSw2IEBAIHN0YXRpYyB2b2lkIGxhbjc4eHhf cmVtb3ZlX2lycV9kb21haW4oc3RydWN0IGxhbjc4eHhfbmV0ICpkZXYpCiBzdGF0aWMgaW50IGxh bjg4MzVfZml4dXAoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldikKIHsKIAlpbnQgYnVmOwotCWlu dCByZXQ7CiAJc3RydWN0IGxhbjc4eHhfbmV0ICpkZXYgPSBuZXRkZXZfcHJpdihwaHlkZXYtPmF0 dGFjaGVkX2Rldik7CiAKIAkvKiBMRUQyL1BNRV9OL0lSUV9OL1JHTUlJX0lEIHBpbiB0byBJUlFf TiBtb2RlICovCkBAIC0yMDAxLDExICsxOTk0LDExIEBAIHN0YXRpYyBpbnQgbGFuODgzNV9maXh1 cChzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2KQogCXBoeV93cml0ZV9tbWQocGh5ZGV2LCBNRElP X01NRF9QQ1MsIDB4ODAxMCwgYnVmKTsKIAogCS8qIFJHTUlJIE1BQyBUWEMgRGVsYXkgRW5hYmxl ICovCi0JcmV0ID0gbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBNQUNfUkdNSUlfSUQsCi0JCQkJTUFD X1JHTUlJX0lEX1RYQ19ERUxBWV9FTl8pOworCWxhbjc4eHhfd3JpdGVfcmVnKGRldiwgTUFDX1JH TUlJX0lELAorCQkJICBNQUNfUkdNSUlfSURfVFhDX0RFTEFZX0VOXyk7CiAKIAkvKiBSR01JSSBU WCBETEwgVHVuZSBBZGp1c3QgKi8KLQlyZXQgPSBsYW43OHh4X3dyaXRlX3JlZyhkZXYsIFJHTUlJ X1RYX0JZUF9ETEwsIDB4M0QwMCk7CisJbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBSR01JSV9UWF9C WVBfRExMLCAweDNEMDApOwogCiAJZGV2LT5pbnRlcmZhY2UgPSBQSFlfSU5URVJGQUNFX01PREVf UkdNSUlfVFhJRDsKIApAQCAtMjE4OSwyOCArMjE4MiwyNyBAQCBzdGF0aWMgaW50IGxhbjc4eHhf cGh5X2luaXQoc3RydWN0IGxhbjc4eHhfbmV0ICpkZXYpCiAKIHN0YXRpYyBpbnQgbGFuNzh4eF9z ZXRfcnhfbWF4X2ZyYW1lX2xlbmd0aChzdHJ1Y3QgbGFuNzh4eF9uZXQgKmRldiwgaW50IHNpemUp CiB7Ci0JaW50IHJldCA9IDA7CiAJdTMyIGJ1ZjsKIAlib29sIHJ4ZW5hYmxlZDsKIAotCXJldCA9 IGxhbjc4eHhfcmVhZF9yZWcoZGV2LCBNQUNfUlgsICZidWYpOworCWxhbjc4eHhfcmVhZF9yZWco ZGV2LCBNQUNfUlgsICZidWYpOwogCiAJcnhlbmFibGVkID0gKChidWYgJiBNQUNfUlhfUlhFTl8p ICE9IDApOwogCiAJaWYgKHJ4ZW5hYmxlZCkgewogCQlidWYgJj0gfk1BQ19SWF9SWEVOXzsKLQkJ cmV0ID0gbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBNQUNfUlgsIGJ1Zik7CisJCWxhbjc4eHhfd3Jp dGVfcmVnKGRldiwgTUFDX1JYLCBidWYpOwogCX0KIAogCS8qIGFkZCA0IHRvIHNpemUgZm9yIEZD UyAqLwogCWJ1ZiAmPSB+TUFDX1JYX01BWF9TSVpFX01BU0tfOwogCWJ1ZiB8PSAoKChzaXplICsg NCkgPDwgTUFDX1JYX01BWF9TSVpFX1NISUZUXykgJiBNQUNfUlhfTUFYX1NJWkVfTUFTS18pOwog Ci0JcmV0ID0gbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBNQUNfUlgsIGJ1Zik7CisJbGFuNzh4eF93 cml0ZV9yZWcoZGV2LCBNQUNfUlgsIGJ1Zik7CiAKIAlpZiAocnhlbmFibGVkKSB7CiAJCWJ1ZiB8 PSBNQUNfUlhfUlhFTl87Ci0JCXJldCA9IGxhbjc4eHhfd3JpdGVfcmVnKGRldiwgTUFDX1JYLCBi dWYpOworCQlsYW43OHh4X3dyaXRlX3JlZyhkZXYsIE1BQ19SWCwgYnVmKTsKIAl9CiAKIAlyZXR1 cm4gMDsKQEAgLTIyNjcsMTMgKzIyNTksMTIgQEAgc3RhdGljIGludCBsYW43OHh4X2NoYW5nZV9t dHUoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldiwgaW50IG5ld19tdHUpCiAJaW50IGxsX210dSA9 IG5ld19tdHUgKyBuZXRkZXYtPmhhcmRfaGVhZGVyX2xlbjsKIAlpbnQgb2xkX2hhcmRfbXR1ID0g ZGV2LT5oYXJkX210dTsKIAlpbnQgb2xkX3J4X3VyYl9zaXplID0gZGV2LT5yeF91cmJfc2l6ZTsK LQlpbnQgcmV0OwogCiAJLyogbm8gc2Vjb25kIHplcm8tbGVuZ3RoIHBhY2tldCByZWFkIHdhbnRl ZCBhZnRlciBtdHUtc2l6ZWQgcGFja2V0cyAqLwogCWlmICgobGxfbXR1ICUgZGV2LT5tYXhwYWNr ZXQpID09IDApCiAJCXJldHVybiAtRURPTTsKIAotCXJldCA9IGxhbjc4eHhfc2V0X3J4X21heF9m cmFtZV9sZW5ndGgoZGV2LCBuZXdfbXR1ICsgVkxBTl9FVEhfSExFTik7CisJbGFuNzh4eF9zZXRf cnhfbWF4X2ZyYW1lX2xlbmd0aChkZXYsIG5ld19tdHUgKyBWTEFOX0VUSF9ITEVOKTsKIAogCW5l dGRldi0+bXR1ID0gbmV3X210dTsKIApAQCAtMjI5Niw3ICsyMjg3LDYgQEAgc3RhdGljIGludCBs YW43OHh4X3NldF9tYWNfYWRkcihzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2LCB2b2lkICpwKQog CXN0cnVjdCBsYW43OHh4X25ldCAqZGV2ID0gbmV0ZGV2X3ByaXYobmV0ZGV2KTsKIAlzdHJ1Y3Qg c29ja2FkZHIgKmFkZHIgPSBwOwogCXUzMiBhZGRyX2xvLCBhZGRyX2hpOwotCWludCByZXQ7CiAK IAlpZiAobmV0aWZfcnVubmluZyhuZXRkZXYpKQogCQlyZXR1cm4gLUVCVVNZOwpAQCAtMjMxMywx MiArMjMwMywxMiBAQCBzdGF0aWMgaW50IGxhbjc4eHhfc2V0X21hY19hZGRyKHN0cnVjdCBuZXRf ZGV2aWNlICpuZXRkZXYsIHZvaWQgKnApCiAJYWRkcl9oaSA9IG5ldGRldi0+ZGV2X2FkZHJbNF0g fAogCQkgIG5ldGRldi0+ZGV2X2FkZHJbNV0gPDwgODsKIAotCXJldCA9IGxhbjc4eHhfd3JpdGVf cmVnKGRldiwgUlhfQUREUkwsIGFkZHJfbG8pOwotCXJldCA9IGxhbjc4eHhfd3JpdGVfcmVnKGRl diwgUlhfQUREUkgsIGFkZHJfaGkpOworCWxhbjc4eHhfd3JpdGVfcmVnKGRldiwgUlhfQUREUkws IGFkZHJfbG8pOworCWxhbjc4eHhfd3JpdGVfcmVnKGRldiwgUlhfQUREUkgsIGFkZHJfaGkpOwog CiAJLyogQWRkZWQgdG8gc3VwcG9ydCBNQUMgYWRkcmVzcyBjaGFuZ2VzICovCi0JcmV0ID0gbGFu Nzh4eF93cml0ZV9yZWcoZGV2LCBNQUZfTE8oMCksIGFkZHJfbG8pOwotCXJldCA9IGxhbjc4eHhf d3JpdGVfcmVnKGRldiwgTUFGX0hJKDApLCBhZGRyX2hpIHwgTUFGX0hJX1ZBTElEXyk7CisJbGFu Nzh4eF93cml0ZV9yZWcoZGV2LCBNQUZfTE8oMCksIGFkZHJfbG8pOworCWxhbjc4eHhfd3JpdGVf cmVnKGRldiwgTUFGX0hJKDApLCBhZGRyX2hpIHwgTUFGX0hJX1ZBTElEXyk7CiAKIAlyZXR1cm4g MDsKIH0KQEAgLTIzMzAsNyArMjMyMCw2IEBAIHN0YXRpYyBpbnQgbGFuNzh4eF9zZXRfZmVhdHVy ZXMoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldiwKIAlzdHJ1Y3QgbGFuNzh4eF9uZXQgKmRldiA9 IG5ldGRldl9wcml2KG5ldGRldik7CiAJc3RydWN0IGxhbjc4eHhfcHJpdiAqcGRhdGEgPSAoc3Ry dWN0IGxhbjc4eHhfcHJpdiAqKShkZXYtPmRhdGFbMF0pOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7 Ci0JaW50IHJldDsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZwZGF0YS0+cmZlX2N0bF9sb2NrLCBm bGFncyk7CiAKQEAgLTIzNTQsNyArMjM0Myw3IEBAIHN0YXRpYyBpbnQgbGFuNzh4eF9zZXRfZmVh dHVyZXMoc3RydWN0IG5ldF9kZXZpY2UgKm5ldGRldiwKIAogCXNwaW5fdW5sb2NrX2lycXJlc3Rv cmUoJnBkYXRhLT5yZmVfY3RsX2xvY2ssIGZsYWdzKTsKIAotCXJldCA9IGxhbjc4eHhfd3JpdGVf cmVnKGRldiwgUkZFX0NUTCwgcGRhdGEtPnJmZV9jdGwpOworCWxhbjc4eHhfd3JpdGVfcmVnKGRl diwgUkZFX0NUTCwgcGRhdGEtPnJmZV9jdGwpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0zODA0LDcg KzM3OTMsNiBAQCBzdGF0aWMgdTE2IGxhbjc4eHhfd2FrZWZyYW1lX2NyYzE2KGNvbnN0IHU4ICpi dWYsIGludCBsZW4pCiBzdGF0aWMgaW50IGxhbjc4eHhfc2V0X3N1c3BlbmQoc3RydWN0IGxhbjc4 eHhfbmV0ICpkZXYsIHUzMiB3b2wpCiB7CiAJdTMyIGJ1ZjsKLQlpbnQgcmV0OwogCWludCBtYXNr X2luZGV4OwogCXUxNiBjcmM7CiAJdTMyIHRlbXBfd3Vjc3I7CkBAIC0zODEzLDI2ICszODAxLDI2 IEBAIHN0YXRpYyBpbnQgbGFuNzh4eF9zZXRfc3VzcGVuZChzdHJ1Y3QgbGFuNzh4eF9uZXQgKmRl diwgdTMyIHdvbCkKIAljb25zdCB1OCBpcHY2X211bHRpY2FzdFszXSA9IHsgMHgzMywgMHgzMyB9 OwogCWNvbnN0IHU4IGFycF90eXBlWzJdID0geyAweDA4LCAweDA2IH07CiAKLQlyZXQgPSBsYW43 OHh4X3JlYWRfcmVnKGRldiwgTUFDX1RYLCAmYnVmKTsKKwlsYW43OHh4X3JlYWRfcmVnKGRldiwg TUFDX1RYLCAmYnVmKTsKIAlidWYgJj0gfk1BQ19UWF9UWEVOXzsKLQlyZXQgPSBsYW43OHh4X3dy aXRlX3JlZyhkZXYsIE1BQ19UWCwgYnVmKTsKLQlyZXQgPSBsYW43OHh4X3JlYWRfcmVnKGRldiwg TUFDX1JYLCAmYnVmKTsKKwlsYW43OHh4X3dyaXRlX3JlZyhkZXYsIE1BQ19UWCwgYnVmKTsKKwls YW43OHh4X3JlYWRfcmVnKGRldiwgTUFDX1JYLCAmYnVmKTsKIAlidWYgJj0gfk1BQ19SWF9SWEVO XzsKLQlyZXQgPSBsYW43OHh4X3dyaXRlX3JlZyhkZXYsIE1BQ19SWCwgYnVmKTsKKwlsYW43OHh4 X3dyaXRlX3JlZyhkZXYsIE1BQ19SWCwgYnVmKTsKIAotCXJldCA9IGxhbjc4eHhfd3JpdGVfcmVn KGRldiwgV1VDU1IsIDApOwotCXJldCA9IGxhbjc4eHhfd3JpdGVfcmVnKGRldiwgV1VDU1IyLCAw KTsKLQlyZXQgPSBsYW43OHh4X3dyaXRlX3JlZyhkZXYsIFdLX1NSQywgMHhGRkYxRkYxRlVMKTsK KwlsYW43OHh4X3dyaXRlX3JlZyhkZXYsIFdVQ1NSLCAwKTsKKwlsYW43OHh4X3dyaXRlX3JlZyhk ZXYsIFdVQ1NSMiwgMCk7CisJbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBXS19TUkMsIDB4RkZGMUZG MUZVTCk7CiAKIAl0ZW1wX3d1Y3NyID0gMDsKIAogCXRlbXBfcG10X2N0bCA9IDA7Ci0JcmV0ID0g bGFuNzh4eF9yZWFkX3JlZyhkZXYsIFBNVF9DVEwsICZ0ZW1wX3BtdF9jdGwpOworCWxhbjc4eHhf cmVhZF9yZWcoZGV2LCBQTVRfQ1RMLCAmdGVtcF9wbXRfY3RsKTsKIAl0ZW1wX3BtdF9jdGwgJj0g flBNVF9DVExfUkVTX0NMUl9XS1BfRU5fOwogCXRlbXBfcG10X2N0bCB8PSBQTVRfQ1RMX1JFU19D TFJfV0tQX1NUU187CiAKIAlmb3IgKG1hc2tfaW5kZXggPSAwOyBtYXNrX2luZGV4IDwgTlVNX09G X1dVRl9DRkc7IG1hc2tfaW5kZXgrKykKLQkJcmV0ID0gbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBX VUZfQ0ZHKG1hc2tfaW5kZXgpLCAwKTsKKwkJbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBXVUZfQ0ZH KG1hc2tfaW5kZXgpLCAwKTsKIAogCW1hc2tfaW5kZXggPSAwOwogCWlmICh3b2wgJiBXQUtFX1BI WSkgewpAQCAtMzg2MSwzMCArMzg0OSwzMCBAQCBzdGF0aWMgaW50IGxhbjc4eHhfc2V0X3N1c3Bl bmQoc3RydWN0IGxhbjc4eHhfbmV0ICpkZXYsIHUzMiB3b2wpCiAKIAkJLyogc2V0IFdVRl9DRkcg JiBXVUZfTUFTSyBmb3IgSVB2NCBNdWx0aWNhc3QgKi8KIAkJY3JjID0gbGFuNzh4eF93YWtlZnJh bWVfY3JjMTYoaXB2NF9tdWx0aWNhc3QsIDMpOwotCQlyZXQgPSBsYW43OHh4X3dyaXRlX3JlZyhk ZXYsIFdVRl9DRkcobWFza19pbmRleCksCi0JCQkJCVdVRl9DRkdYX0VOXyB8Ci0JCQkJCVdVRl9D RkdYX1RZUEVfTUNBU1RfIHwKLQkJCQkJKDAgPDwgV1VGX0NGR1hfT0ZGU0VUX1NISUZUXykgfAot CQkJCQkoY3JjICYgV1VGX0NGR1hfQ1JDMTZfTUFTS18pKTsKLQotCQlyZXQgPSBsYW43OHh4X3dy aXRlX3JlZyhkZXYsIFdVRl9NQVNLMChtYXNrX2luZGV4KSwgNyk7Ci0JCXJldCA9IGxhbjc4eHhf d3JpdGVfcmVnKGRldiwgV1VGX01BU0sxKG1hc2tfaW5kZXgpLCAwKTsKLQkJcmV0ID0gbGFuNzh4 eF93cml0ZV9yZWcoZGV2LCBXVUZfTUFTSzIobWFza19pbmRleCksIDApOwotCQlyZXQgPSBsYW43 OHh4X3dyaXRlX3JlZyhkZXYsIFdVRl9NQVNLMyhtYXNrX2luZGV4KSwgMCk7CisJCWxhbjc4eHhf d3JpdGVfcmVnKGRldiwgV1VGX0NGRyhtYXNrX2luZGV4KSwKKwkJCQkgIFdVRl9DRkdYX0VOXyB8 CisJCQkJICBXVUZfQ0ZHWF9UWVBFX01DQVNUXyB8CisJCQkJICAoMCA8PCBXVUZfQ0ZHWF9PRkZT RVRfU0hJRlRfKSB8CisJCQkJICAoY3JjICYgV1VGX0NGR1hfQ1JDMTZfTUFTS18pKTsKKworCQls YW43OHh4X3dyaXRlX3JlZyhkZXYsIFdVRl9NQVNLMChtYXNrX2luZGV4KSwgNyk7CisJCWxhbjc4 eHhfd3JpdGVfcmVnKGRldiwgV1VGX01BU0sxKG1hc2tfaW5kZXgpLCAwKTsKKwkJbGFuNzh4eF93 cml0ZV9yZWcoZGV2LCBXVUZfTUFTSzIobWFza19pbmRleCksIDApOworCQlsYW43OHh4X3dyaXRl X3JlZyhkZXYsIFdVRl9NQVNLMyhtYXNrX2luZGV4KSwgMCk7CiAJCW1hc2tfaW5kZXgrKzsKIAog CQkvKiBmb3IgSVB2NiBNdWx0aWNhc3QgKi8KIAkJY3JjID0gbGFuNzh4eF93YWtlZnJhbWVfY3Jj MTYoaXB2Nl9tdWx0aWNhc3QsIDIpOwotCQlyZXQgPSBsYW43OHh4X3dyaXRlX3JlZyhkZXYsIFdV Rl9DRkcobWFza19pbmRleCksCi0JCQkJCVdVRl9DRkdYX0VOXyB8Ci0JCQkJCVdVRl9DRkdYX1RZ UEVfTUNBU1RfIHwKLQkJCQkJKDAgPDwgV1VGX0NGR1hfT0ZGU0VUX1NISUZUXykgfAotCQkJCQko Y3JjICYgV1VGX0NGR1hfQ1JDMTZfTUFTS18pKTsKLQotCQlyZXQgPSBsYW43OHh4X3dyaXRlX3Jl ZyhkZXYsIFdVRl9NQVNLMChtYXNrX2luZGV4KSwgMyk7Ci0JCXJldCA9IGxhbjc4eHhfd3JpdGVf cmVnKGRldiwgV1VGX01BU0sxKG1hc2tfaW5kZXgpLCAwKTsKLQkJcmV0ID0gbGFuNzh4eF93cml0 ZV9yZWcoZGV2LCBXVUZfTUFTSzIobWFza19pbmRleCksIDApOwotCQlyZXQgPSBsYW43OHh4X3dy aXRlX3JlZyhkZXYsIFdVRl9NQVNLMyhtYXNrX2luZGV4KSwgMCk7CisJCWxhbjc4eHhfd3JpdGVf cmVnKGRldiwgV1VGX0NGRyhtYXNrX2luZGV4KSwKKwkJCQkgIFdVRl9DRkdYX0VOXyB8CisJCQkJ ICBXVUZfQ0ZHWF9UWVBFX01DQVNUXyB8CisJCQkJICAoMCA8PCBXVUZfQ0ZHWF9PRkZTRVRfU0hJ RlRfKSB8CisJCQkJICAoY3JjICYgV1VGX0NGR1hfQ1JDMTZfTUFTS18pKTsKKworCQlsYW43OHh4 X3dyaXRlX3JlZyhkZXYsIFdVRl9NQVNLMChtYXNrX2luZGV4KSwgMyk7CisJCWxhbjc4eHhfd3Jp dGVfcmVnKGRldiwgV1VGX01BU0sxKG1hc2tfaW5kZXgpLCAwKTsKKwkJbGFuNzh4eF93cml0ZV9y ZWcoZGV2LCBXVUZfTUFTSzIobWFza19pbmRleCksIDApOworCQlsYW43OHh4X3dyaXRlX3JlZyhk ZXYsIFdVRl9NQVNLMyhtYXNrX2luZGV4KSwgMCk7CiAJCW1hc2tfaW5kZXgrKzsKIAogCQl0ZW1w X3BtdF9jdGwgfD0gUE1UX0NUTF9XT0xfRU5fOwpAQCAtMzkwNSwxNiArMzg5MywxNiBAQCBzdGF0 aWMgaW50IGxhbjc4eHhfc2V0X3N1c3BlbmQoc3RydWN0IGxhbjc4eHhfbmV0ICpkZXYsIHUzMiB3 b2wpCiAJCSAqIGZvciBwYWNrZXR0eXBlIChvZmZzZXQgMTIsMTMpID0gQVJQICgweDA4MDYpCiAJ CSAqLwogCQljcmMgPSBsYW43OHh4X3dha2VmcmFtZV9jcmMxNihhcnBfdHlwZSwgMik7Ci0JCXJl dCA9IGxhbjc4eHhfd3JpdGVfcmVnKGRldiwgV1VGX0NGRyhtYXNrX2luZGV4KSwKLQkJCQkJV1VG X0NGR1hfRU5fIHwKLQkJCQkJV1VGX0NGR1hfVFlQRV9BTExfIHwKLQkJCQkJKDAgPDwgV1VGX0NG R1hfT0ZGU0VUX1NISUZUXykgfAotCQkJCQkoY3JjICYgV1VGX0NGR1hfQ1JDMTZfTUFTS18pKTsK LQotCQlyZXQgPSBsYW43OHh4X3dyaXRlX3JlZyhkZXYsIFdVRl9NQVNLMChtYXNrX2luZGV4KSwg MHgzMDAwKTsKLQkJcmV0ID0gbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBXVUZfTUFTSzEobWFza19p bmRleCksIDApOwotCQlyZXQgPSBsYW43OHh4X3dyaXRlX3JlZyhkZXYsIFdVRl9NQVNLMihtYXNr X2luZGV4KSwgMCk7Ci0JCXJldCA9IGxhbjc4eHhfd3JpdGVfcmVnKGRldiwgV1VGX01BU0szKG1h c2tfaW5kZXgpLCAwKTsKKwkJbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBXVUZfQ0ZHKG1hc2tfaW5k ZXgpLAorCQkJCSAgV1VGX0NGR1hfRU5fIHwKKwkJCQkgIFdVRl9DRkdYX1RZUEVfQUxMXyB8CisJ CQkJICAoMCA8PCBXVUZfQ0ZHWF9PRkZTRVRfU0hJRlRfKSB8CisJCQkJICAoY3JjICYgV1VGX0NG R1hfQ1JDMTZfTUFTS18pKTsKKworCQlsYW43OHh4X3dyaXRlX3JlZyhkZXYsIFdVRl9NQVNLMCht YXNrX2luZGV4KSwgMHgzMDAwKTsKKwkJbGFuNzh4eF93cml0ZV9yZWcoZGV2LCBXVUZfTUFTSzEo bWFza19pbmRleCksIDApOworCQlsYW43OHh4X3dyaXRlX3JlZyhkZXYsIFdVRl9NQVNLMihtYXNr X2luZGV4KSwgMCk7CisJCWxhbjc4eHhfd3JpdGVfcmVnKGRldiwgV1VGX01BU0szKG1hc2tfaW5k ZXgpLCAwKTsKIAkJbWFza19pbmRleCsrOwogCiAJCXRlbXBfcG10X2N0bCB8PSBQTVRfQ1RMX1dP TF9FTl87CkBAIC0zOTIyLDcgKzM5MTAsNyBAQCBzdGF0aWMgaW50IGxhbjc4eHhfc2V0X3N1c3Bl bmQoc3RydWN0IGxhbjc4eHhfbmV0ICpkZXYsIHUzMiB3b2wpCiAJCXRlbXBfcG10X2N0bCB8PSBQ TVRfQ1RMX1NVU19NT0RFXzBfOwogCX0KIAotCXJldCA9IGxhbjc4eHhfd3JpdGVfcmVnKGRldiwg V1VDU1IsIHRlbXBfd3Vjc3IpOworCWxhbjc4eHhfd3JpdGVfcmVnKGRldiwgV1VDU1IsIHRlbXBf d3Vjc3IpOwogCiAJLyogd2hlbiBtdWx0aXBsZSBXT0wgYml0cyBhcmUgc2V0ICovCiAJaWYgKGh3 ZWlnaHRfbG9uZygodW5zaWduZWQgbG9uZyl3b2wpID4gMSkgewpAQCAtMzkzMCwxNiArMzkxOCwx NiBAQCBzdGF0aWMgaW50IGxhbjc4eHhfc2V0X3N1c3BlbmQoc3RydWN0IGxhbjc4eHhfbmV0ICpk ZXYsIHUzMiB3b2wpCiAJCXRlbXBfcG10X2N0bCAmPSB+UE1UX0NUTF9TVVNfTU9ERV9NQVNLXzsK IAkJdGVtcF9wbXRfY3RsIHw9IFBNVF9DVExfU1VTX01PREVfMF87CiAJfQotCXJldCA9IGxhbjc4 eHhfd3JpdGVfcmVnKGRldiwgUE1UX0NUTCwgdGVtcF9wbXRfY3RsKTsKKwlsYW43OHh4X3dyaXRl X3JlZyhkZXYsIFBNVF9DVEwsIHRlbXBfcG10X2N0bCk7CiAKIAkvKiBjbGVhciBXVVBTICovCi0J cmV0ID0gbGFuNzh4eF9yZWFkX3JlZyhkZXYsIFBNVF9DVEwsICZidWYpOworCWxhbjc4eHhfcmVh ZF9yZWcoZGV2LCBQTVRfQ1RMLCAmYnVmKTsKIAlidWYgfD0gUE1UX0NUTF9XVVBTX01BU0tfOwot CXJldCA9IGxhbjc4eHhfd3JpdGVfcmVnKGRldiwgUE1UX0NUTCwgYnVmKTsKKwlsYW43OHh4X3dy aXRlX3JlZyhkZXYsIFBNVF9DVEwsIGJ1Zik7CiAKLQlyZXQgPSBsYW43OHh4X3JlYWRfcmVnKGRl diwgTUFDX1JYLCAmYnVmKTsKKwlsYW43OHh4X3JlYWRfcmVnKGRldiwgTUFDX1JYLCAmYnVmKTsK IAlidWYgfD0gTUFDX1JYX1JYRU5fOwotCXJldCA9IGxhbjc4eHhfd3JpdGVfcmVnKGRldiwgTUFD X1JYLCBidWYpOworCWxhbjc4eHhfd3JpdGVfcmVnKGRldiwgTUFDX1JYLCBidWYpOwogCiAJcmV0 dXJuIDA7CiB9Ci0tIAoyLjI1LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2Vy bmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1h bi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==