From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id ED0E4A0C47 for ; Wed, 16 Jun 2021 06:43:54 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C479F40140; Wed, 16 Jun 2021 06:43:54 +0200 (CEST) Received: from mail-ot1-f98.google.com (mail-ot1-f98.google.com [209.85.210.98]) by mails.dpdk.org (Postfix) with ESMTP id 3AD1F4003C for ; Wed, 16 Jun 2021 06:43:53 +0200 (CEST) Received: by mail-ot1-f98.google.com with SMTP id 7-20020a9d0d070000b0290439abcef697so1271892oti.2 for ; Tue, 15 Jun 2021 21:43:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; h=mime-version:subject:from:to:cc:message-id:date; bh=ReS6RPCQx0P5iTH4hpW5n6OwHexrVo0Hxk0gWm7OWZ4=; b=NAgZJmnKNQLQMLFXnsthi5U14tphh8apJ+UenUEhf9RZz+yMozUc9pLCgYFKN2dPh2 8ynHWTt2DWbKFD+42DjvkLv7N5G95uvXBZcIZFxrH37yvksb5rxmQw/v/bPUBh39clZN RAOmWV6rBIB4bmMJUXg9ru+z5p8Msw7dNI4Z8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:to:cc:message-id:date; bh=ReS6RPCQx0P5iTH4hpW5n6OwHexrVo0Hxk0gWm7OWZ4=; b=D+V+ZuXvZ3Zmg0RBCftCfEPrvlFceydk0how03g5fAjOiinSxPkdcvOjSi1Uwq3+oM 2i4Y0EWfNk6NCLJgTEqz1RYY1Oqf9S3Pg69Nh6sbaNv5wfcpiZN0W75hUYHbR7bdZ+id 90wYOnJMpDCWk/l17FAlPk55AbBbQxxdAb809HEpw72CY1dEqpR3re0znJryPPwSDhE+ tyhmE0jLY3xfgc9uNm4QfRhBZ3WF9IdO0LD1RgCD8QmHsSOzA+//h26kp/JWgzO9fNKf DtfQN1klSL1HTYaOO94Rpn36aVd3L9/QQouz+GA1kWgYsLejZbdTumWL4GDj3UgosXcX +sNg== X-Gm-Message-State: AOAM530Zr8Xkb/kuQFV47SfEQw4nNdP72hiljK7p0zOjikdlwDeyki+B BvjsYXf/HLmSsenCyM5mNIQlDGLp+X23+8nTLLhwtmSh/pRNTw== X-Google-Smtp-Source: ABdhPJyMQzp2ybnv5oWVLxGSfZbIlfwRcM0XRq/ySUr/e7ZlTi6nnB1oKCB+mbK/i8j4qrEG+gX2z7F9W2h5 X-Received: by 2002:a9d:475:: with SMTP id 108mr2231556otc.69.1623818632419; Tue, 15 Jun 2021 21:43:52 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [132.177.123.84]) by smtp-relay.gmail.com with ESMTPS id a22sm436115otq.14.2021.06.15.21.43.52 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 15 Jun 2021 21:43:52 -0700 (PDT) X-Relaying-Domain: iol.unh.edu Received: from noxus.dpdklab.iol.unh.edu (targon.iol.unh.edu [132.177.125.242]) by postal.iol.unh.edu (Postfix) with ESMTP id D3A3C605246B; Wed, 16 Jun 2021 00:43:51 -0400 (EDT) Received: from noxus.dpdklab.iol.unh.edu (localhost [IPv6:::1]) by noxus.dpdklab.iol.unh.edu (Postfix) with ESMTP id C0CD06D45A; Wed, 16 Jun 2021 00:43:51 -0400 (EDT) Content-Type: multipart/mixed; boundary="===============0074158294412765178==" MIME-Version: 1.0 From: dpdklab@iol.unh.edu To: test-report@dpdk.org Cc: dpdk-test-reports@iol.unh.edu Message-Id: <20210616044351.C0CD06D45A@noxus.dpdklab.iol.unh.edu> Date: Wed, 16 Jun 2021 00:43:51 -0400 (EDT) Subject: [dpdk-test-report] |WARNING| pw94274-94287 [PATCH] [v1, 14/14] common/mlx5: clean up legacy PCI bus driver X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org Sender: "test-report" --===============0074158294412765178== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogaW9sLXRlc3RpbmcKVGVzdC1TdGF0dXM6IFdBUk5JTkcKaHR0cDovL2RwZGsu b3JnL3BhdGNoLzk0Mjc0CgpfYXBwbHkgcGF0Y2ggZmFpbHVyZV8KClN1Ym1pdHRlcjogWHVlbWlu ZyBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT4KRGF0ZTogV2VkbmVzZGF5LCBKdW5lIDE2IDIwMjEg MDQ6MDk6MzUgCkFwcGxpZWQgb246IENvbW1pdElEOjJjYTkyZjU0NDEwNDAwYWY3NmExZjBiYzNi ZmVjYzgwNzdlMjgyYWEKQXBwbHkgcGF0Y2ggc2V0IDk0Mjc0LTk0Mjg3IGZhaWxlZDoKCkNoZWNr aW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbGludXgvbWx4NV9vcy5jLi4uCkh1bmsgIzEgc3Vj Y2VlZGVkIGF0IDE5NzcgKG9mZnNldCA4IGxpbmVzKS4KSHVuayAjMiBzdWNjZWVkZWQgYXQgMjQw OSAob2Zmc2V0IDggbGluZXMpLgpIdW5rICMzIHN1Y2NlZWRlZCBhdCAyNDU5IChvZmZzZXQgOCBs aW5lcykuCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbGludXgvbWx4NV9vcy5oLi4u CkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NS5jLi4uCkNoZWNraW5nIHBhdGNo IGRyaXZlcnMvbmV0L21seDUvbWx4NS5oLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21s eDUvbWx4NV9tci5jLi4uCkh1bmsgIzIgc3VjY2VlZGVkIGF0IDMxMiAob2Zmc2V0IDUgbGluZXMp LgpIdW5rICMzIHN1Y2NlZWRlZCBhdCAzMjcgKG9mZnNldCA1IGxpbmVzKS4KSHVuayAjNCBzdWNj ZWVkZWQgYXQgMzYxIChvZmZzZXQgNSBsaW5lcykuCkh1bmsgIzUgc3VjY2VlZGVkIGF0IDM3NiAo b2Zmc2V0IDUgbGluZXMpLgpIdW5rICM2IHN1Y2NlZWRlZCBhdCAzODUgKG9mZnNldCA1IGxpbmVz KS4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgltciA9IG1seDVfbXJfbG9va3VwX2xpc3Qo JnNoLT5zaGFyZV9jYWNoZSwgJmVudHJ5LCAodWludHB0cl90KWFkZHIpOwoJaWYgKCFtcikgewoJ CXJ0ZV9yd2xvY2tfcmVhZF91bmxvY2soJnNoLT5zaGFyZV9jYWNoZS5yd2xvY2spOwoJCURSVl9M T0coV0FSTklORywgImFkZHJlc3MgMHglIiBQUkl4UFRSICIgd2Fzbid0IHJlZ2lzdGVyZWQgIgoJ CQkJICJ0byBQQ0kgZGV2aWNlICVwIiwgKHVpbnRwdHJfdClhZGRyLAoJCQkJICh2b2lkICopcGRl dik7CgkJcnRlX2Vycm5vID0gRUlOVkFMOwoJCXJldHVybiAtMTsKCX0KCUxJU1RfUkVNT1ZFKG1y LCBtcik7CgltbHg1X21yX2ZyZWUobXIsIHNoLT5zaGFyZV9jYWNoZS5kZXJlZ19tcl9jYik7CglE UlZfTE9HKERFQlVHLCAicG9ydCAldSByZW1vdmUgTVIoJXApIGZyb20gbGlzdCIsIGRldi0+ZGF0 YS0+cG9ydF9pZCwKCSAgICAgICh2b2lkICopbXIpOwoJbWx4NV9tcl9yZWJ1aWxkX2NhY2hlKCZz aC0+c2hhcmVfY2FjaGUpOwoJLyoKCSAqIE5vIGV4cGxpY2l0IHdtYiBpcyBuZWVkZWQgYWZ0ZXIg dXBkYXRpbmcgZGV2X2dlbiBkdWUgdG8KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGRyaXZlcnMvbmV0 L21seDUvbWx4NV9tci5jOjM5NApDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVf cnh0eC5oLi4uCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9saW51eC9tbHg1X29zLmMg Y2xlYW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L2xpbnV4L21seDVfb3MuaCBj bGVhbmx5LgpBcHBsaWVkIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NS5jIGNsZWFubHkuCkFw cGxpZWQgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1LmggY2xlYW5seS4KQXBwbHlpbmcgcGF0 Y2ggZHJpdmVycy9uZXQvbWx4NS9tbHg1X21yLmMgd2l0aCAxIHJlamVjdC4uLgpIdW5rICMxIGFw cGxpZWQgY2xlYW5seS4KSHVuayAjMiBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzMgYXBwbGllZCBj bGVhbmx5LgpIdW5rICM0IGFwcGxpZWQgY2xlYW5seS4KSHVuayAjNSBhcHBsaWVkIGNsZWFubHku Ckh1bmsgIzYgYXBwbGllZCBjbGVhbmx5LgpSZWplY3RlZCBodW5rICM3LgpBcHBsaWVkIHBhdGNo IGRyaXZlcnMvbmV0L21seDUvbWx4NV9yeHR4LmggY2xlYW5seS4KZGlmZiBhL2RyaXZlcnMvbmV0 L21seDUvbWx4NV9tci5jIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X21yLmMJKHJlamVjdGVkIGh1 bmtzKQpAQCAtMzk0LDE2ICszOTMsMTUgQEAgbWx4NV9kbWFfdW5tYXAoc3RydWN0IHJ0ZV9wY2lf ZGV2aWNlICpwZGV2LCB2b2lkICphZGRyLAogCW1yID0gbWx4NV9tcl9sb29rdXBfbGlzdCgmc2gt PnNoYXJlX2NhY2hlLCAmZW50cnksICh1aW50cHRyX3QpYWRkcik7CiAJaWYgKCFtcikgewogCQly dGVfcndsb2NrX3JlYWRfdW5sb2NrKCZzaC0+c2hhcmVfY2FjaGUucndsb2NrKTsKLQkJRFJWX0xP RyhXQVJOSU5HLCAiYWRkcmVzcyAweCUiIFBSSXhQVFIgIiB3YXNuJ3QgcmVnaXN0ZXJlZCAiCi0J CQkJICJ0byBQQ0kgZGV2aWNlICVwIiwgKHVpbnRwdHJfdClhZGRyLAotCQkJCSAodm9pZCAqKXBk ZXYpOworCQlEUlZfTE9HKFdBUk5JTkcsICJhZGRyZXNzIDB4JSIgUFJJeFBUUiAiIHdhc24ndCBy ZWdpc3RlcmVkIHRvIGRldmljZSAlcyIsCisJCQkodWludHB0cl90KWFkZHIsIHJ0ZV9kZXYtPm5h bWUpOwogCQlydGVfZXJybm8gPSBFSU5WQUw7CiAJCXJldHVybiAtMTsKIAl9CiAJTElTVF9SRU1P VkUobXIsIG1yKTsKLQltbHg1X21yX2ZyZWUobXIsIHNoLT5zaGFyZV9jYWNoZS5kZXJlZ19tcl9j Yik7CiAJRFJWX0xPRyhERUJVRywgInBvcnQgJXUgcmVtb3ZlIE1SKCVwKSBmcm9tIGxpc3QiLCBk ZXYtPmRhdGEtPnBvcnRfaWQsCiAJICAgICAgKHZvaWQgKiltcik7CisJbWx4NV9tcl9mcmVlKG1y LCBzaC0+c2hhcmVfY2FjaGUuZGVyZWdfbXJfY2IpOwogCW1seDVfbXJfcmVidWlsZF9jYWNoZSgm c2gtPnNoYXJlX2NhY2hlKTsKIAkvKgogCSAqIE5vIGV4cGxpY2l0IHdtYiBpcyBuZWVkZWQgYWZ0 ZXIgdXBkYXRpbmcgZGV2X2dlbiBkdWUgdG8KU2tpcHBlZCBwYXRjaCAnZG9jL2d1aWRlcy9uaWNz L21seDUucnN0Jy4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9saW51eC9tbHg1X2V0 aGRldl9vcy5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbGludXgvbWx4NV9v cy5jLi4uCmVycm9yOiBkcml2ZXJzL25ldC9tbHg1L2xpbnV4L21seDVfb3MuYzogZG9lcyBub3Qg bWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS9saW51eC9tbHg1X29z LmguLi4KZXJyb3I6IGRyaXZlcnMvbmV0L21seDUvbGludXgvbWx4NV9vcy5oOiBkb2VzIG5vdCBt YXRjaCBpbmRleApDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDUuYy4uLgplcnJv cjogZHJpdmVycy9uZXQvbWx4NS9tbHg1LmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNraW5n IHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NS5oLi4uCmVycm9yOiBkcml2ZXJzL25ldC9tbHg1 L21seDUuaDogZG9lcyBub3QgbWF0Y2ggaW5kZXgKQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9uZXQv bWx4NS9tbHg1X21hYy5jLi4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvbWx4NV9y eG1vZGUuYy4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfdHJpZ2dlci5j Li4uCkNoZWNraW5nIHBhdGNoIGRyaXZlcnMvbmV0L21seDUvd2luZG93cy9tbHg1X29zLmMuLi4K QXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L2xpbnV4L21seDVfZXRoZGV2X29zLmMgY2xl YW5seS4KQXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfbWFjLmMgY2xlYW5seS4K QXBwbGllZCBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfcnhtb2RlLmMgY2xlYW5seS4KQXBw bGllZCBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L21seDVfdHJpZ2dlci5jIGNsZWFubHkuCkFwcGxp ZWQgcGF0Y2ggZHJpdmVycy9uZXQvbWx4NS93aW5kb3dzL21seDVfb3MuYyBjbGVhbmx5LgpDaGVj a2luZyBwYXRjaCBkcml2ZXJzL25ldC9tbHg1L2xpbnV4L21seDVfb3MuYy4uLgplcnJvcjogZHJp dmVycy9uZXQvbWx4NS9saW51eC9tbHg1X29zLmM6IGRvZXMgbm90IG1hdGNoIGluZGV4CkNoZWNr aW5nIHBhdGNoIGRyaXZlcnMvY29tbW9uL21seDUvbGludXgvbWx4NV9jb21tb25fb3MuaC4uLgpD aGVja2luZyBwYXRjaCBkcml2ZXJzL2NvbW1vbi9tbHg1L21seDVfY29tbW9uLmMuLi4KQ2hlY2tp bmcgcGF0Y2ggZHJpdmVycy9jb21tb24vbWx4NS9tbHg1X2NvbW1vbi5oLi4uCkNoZWNraW5nIHBh dGNoIGRyaXZlcnMvY29tbW9uL21seDUvbWx4NV9jb21tb25fcGNpLmMuLi4KZXJyb3I6IHdoaWxl IHNlYXJjaGluZyBmb3I6CiNpbmNsdWRlIDxydGVfZGV2YXJncy5oPgojaW5jbHVkZSA8cnRlX2Vy cm5vLmg+CiNpbmNsdWRlIDxydGVfY2xhc3MuaD4KCiNpbmNsdWRlICJtbHg1X2NvbW1vbl9sb2cu aCIKI2luY2x1ZGUgIm1seDVfY29tbW9uX3BjaS5oIgojaW5jbHVkZSAibWx4NV9jb21tb25fcHJp dmF0ZS5oIgoKc3RhdGljIHN0cnVjdCBydGVfcGNpX2RyaXZlciBtbHg1X2NvbW1vbl9wY2lfZHJp dmVyOwoKLyoqKioqKioqKiogTGVnYWN5IFBDSSBidXMgZHJpdmVyLCB0byBiZSByZW1vdmVkICoq KioqKioqLwoKc3RydWN0IG1seDVfcGNpX2RldmljZSB7CglzdHJ1Y3QgcnRlX3BjaV9kZXZpY2Ug KnBjaV9kZXY7CglUQUlMUV9FTlRSWShtbHg1X3BjaV9kZXZpY2UpIG5leHQ7Cgl1aW50MzJfdCBj bGFzc2VzX2xvYWRlZDsKfTsKCi8qIEhlYWQgb2YgbGlzdCBvZiBkcml2ZXJzLiAqLwpzdGF0aWMg VEFJTFFfSEVBRChtbHg1X3BjaV9idXNfZHJ2X2hlYWQsIG1seDVfcGNpX2RyaXZlcikgZHJ2X2xp c3QgPQoJCQkJVEFJTFFfSEVBRF9JTklUSUFMSVpFUihkcnZfbGlzdCk7CgovKiBIZWFkIG9mIG1s eDUgcGNpIGRldmljZXMuICovCnN0YXRpYyBUQUlMUV9IRUFEKG1seDVfcGNpX2RldmljZXNfaGVh ZCwgbWx4NV9wY2lfZGV2aWNlKSBkZXZpY2VzX2xpc3QgPQoJCQkJVEFJTFFfSEVBRF9JTklUSUFM SVpFUihkZXZpY2VzX2xpc3QpOwoKc3RhdGljIGNvbnN0IHN0cnVjdCB7Cgljb25zdCBjaGFyICpu YW1lOwoJdW5zaWduZWQgaW50IGRyaXZlcl9jbGFzczsKfSBtbHg1X2NsYXNzZXNbXSA9IHsKCXsg Lm5hbWUgPSAidmRwYSIsIC5kcml2ZXJfY2xhc3MgPSBNTFg1X0NMQVNTX1ZEUEEgfSwKCXsgLm5h bWUgPSAibmV0IiwgLmRyaXZlcl9jbGFzcyA9IE1MWDVfQ0xBU1NfTkVUIH0sCgl7IC5uYW1lID0g InJlZ2V4IiwgLmRyaXZlcl9jbGFzcyA9IE1MWDVfQ0xBU1NfUkVHRVggfSwKCXsgLm5hbWUgPSAi Y29tcHJlc3MiLCAuZHJpdmVyX2NsYXNzID0gTUxYNV9DTEFTU19DT01QUkVTUyB9LAp9OwoKc3Rh dGljIGNvbnN0IHVuc2lnbmVkIGludCBtbHg1X2NsYXNzX2NvbWJpbmF0aW9uc1tdID0gewoJTUxY NV9DTEFTU19ORVQsCglNTFg1X0NMQVNTX1ZEUEEsCglNTFg1X0NMQVNTX1JFR0VYLAoJTUxYNV9D TEFTU19DT01QUkVTUywKCU1MWDVfQ0xBU1NfTkVUIHwgTUxYNV9DTEFTU19SRUdFWCwKCU1MWDVf Q0xBU1NfVkRQQSB8IE1MWDVfQ0xBU1NfUkVHRVgsCglNTFg1X0NMQVNTX05FVCB8IE1MWDVfQ0xB U1NfQ09NUFJFU1MsCglNTFg1X0NMQVNTX1ZEUEEgfCBNTFg1X0NMQVNTX0NPTVBSRVNTLAoJTUxY NV9DTEFTU19SRUdFWCB8IE1MWDVfQ0xBU1NfQ09NUFJFU1MsCglNTFg1X0NMQVNTX05FVCB8IE1M WDVfQ0xBU1NfUkVHRVggfCBNTFg1X0NMQVNTX0NPTVBSRVNTLAoJTUxYNV9DTEFTU19WRFBBIHwg TUxYNV9DTEFTU19SRUdFWCB8IE1MWDVfQ0xBU1NfQ09NUFJFU1MsCgkvKiBOZXcgY2xhc3MgY29t YmluYXRpb24gc2hvdWxkIGJlIGFkZGVkIGhlcmUuICovCn07CgpzdGF0aWMgaW50CmNsYXNzX25h bWVfdG9fdmFsdWUoY29uc3QgY2hhciAqY2xhc3NfbmFtZSkKewoJdW5zaWduZWQgaW50IGk7CgoJ Zm9yIChpID0gMDsgaSA8IFJURV9ESU0obWx4NV9jbGFzc2VzKTsgaSsrKSB7CgkJaWYgKHN0cmNt cChjbGFzc19uYW1lLCBtbHg1X2NsYXNzZXNbaV0ubmFtZSkgPT0gMCkKCQkJcmV0dXJuIG1seDVf Y2xhc3Nlc1tpXS5kcml2ZXJfY2xhc3M7Cgl9CglyZXR1cm4gLUVJTlZBTDsKfQoKc3RhdGljIHN0 cnVjdCBtbHg1X3BjaV9kcml2ZXIgKgpkcml2ZXJfZ2V0KHVpbnQzMl90IGNsYXNzKQp7CglzdHJ1 Y3QgbWx4NV9wY2lfZHJpdmVyICpkcml2ZXI7CgoJVEFJTFFfRk9SRUFDSChkcml2ZXIsICZkcnZf bGlzdCwgbmV4dCkgewoJCWlmIChkcml2ZXItPmRyaXZlcl9jbGFzcyA9PSBjbGFzcykKCQkJcmV0 dXJuIGRyaXZlcjsKCX0KCXJldHVybiBOVUxMOwp9CgpzdGF0aWMgaW50CmJ1c19jbWRsaW5lX29w dGlvbnNfaGFuZGxlcihfX3J0ZV91bnVzZWQgY29uc3QgY2hhciAqa2V5LAoJCQkgICAgY29uc3Qg Y2hhciAqY2xhc3NfbmFtZXMsIHZvaWQgKm9wYXF1ZSkKewoJaW50ICpyZXQgPSBvcGFxdWU7Cglj aGFyICpuc3RyX29yZzsKCWludCBjbGFzc192YWw7CgljaGFyICpmb3VuZDsKCWNoYXIgKm5zdHI7 CgljaGFyICpyZWZzdHIgPSBOVUxMOwoKCSpyZXQgPSAwOwoJbnN0ciA9IHN0cmR1cChjbGFzc19u YW1lcyk7CglpZiAoIW5zdHIpIHsKCQkqcmV0ID0gLUVOT01FTTsKCQlyZXR1cm4gKnJldDsKCX0K CW5zdHJfb3JnID0gbnN0cjsKCWZvdW5kID0gc3RydG9rX3IobnN0ciwgIjoiLCAmcmVmc3RyKTsK CWlmICghZm91bmQpCgkJZ290byBlcnI7CglkbyB7CgkJLyogRXh0cmFjdCBlYWNoIGluZGl2aWR1 YWwgY2xhc3MgbmFtZS4gTXVsdGlwbGUKCQkgKiBjbGFzcyBrZXksdmFsdWUgaXMgc3VwcGxpZWQg YXMgY2xhc3M9bmV0OnZkcGE6Zm9vOmJhci4KCQkgKi8KCQljbGFzc192YWwgPSBjbGFzc19uYW1l X3RvX3ZhbHVlKGZvdW5kKTsKCQkvKiBDaGVjayBpZiBpdHMgYSB2YWxpZCBjbGFzcy4gKi8KCQlp ZiAoY2xhc3NfdmFsIDwgMCkgewoJCQkqcmV0ID0gLUVJTlZBTDsKCQkJZ290byBlcnI7CgkJfQoJ CSpyZXQgfD0gY2xhc3NfdmFsOwoJCWZvdW5kID0gc3RydG9rX3IoTlVMTCwgIjoiLCAmcmVmc3Ry KTsKCX0gd2hpbGUgKGZvdW5kKTsKZXJyOgoJZnJlZShuc3RyX29yZyk7CglpZiAoKnJldCA8IDAp CgkJRFJWX0xPRyhFUlIsICJJbnZhbGlkIG1seDUgY2xhc3Mgb3B0aW9ucyAlcy4iCgkJCSIgTWF5 YmUgdHlwbyBpbiBkZXZpY2UgY2xhc3MgYXJndW1lbnQgc2V0dGluZz8iLAoJCQljbGFzc19uYW1l cyk7CglyZXR1cm4gKnJldDsKfQoKc3RhdGljIGludApwYXJzZV9jbGFzc19vcHRpb25zKGNvbnN0 IHN0cnVjdCBydGVfZGV2YXJncyAqZGV2YXJncykKewoJY29uc3QgY2hhciAqa2V5ID0gUlRFX0RF VkFSR1NfS0VZX0NMQVNTOwoJc3RydWN0IHJ0ZV9rdmFyZ3MgKmt2bGlzdDsKCWludCByZXQgPSAw OwoKCWlmIChkZXZhcmdzID09IE5VTEwpCgkJcmV0dXJuIDA7Cglrdmxpc3QgPSBydGVfa3Zhcmdz X3BhcnNlKGRldmFyZ3MtPmFyZ3MsIE5VTEwpOwoJaWYgKGt2bGlzdCA9PSBOVUxMKQoJCXJldHVy biAwOwoJaWYgKHJ0ZV9rdmFyZ3NfY291bnQoa3ZsaXN0LCBrZXkpKQoJCXJ0ZV9rdmFyZ3NfcHJv Y2Vzcyhrdmxpc3QsIGtleSwgYnVzX2NtZGxpbmVfb3B0aW9uc19oYW5kbGVyLAoJCQkJICAgJnJl dCk7CglydGVfa3ZhcmdzX2ZyZWUoa3ZsaXN0KTsKCXJldHVybiByZXQ7Cn0KCnN0YXRpYyBib29s Cm1seDVfYnVzX21hdGNoKGNvbnN0IHN0cnVjdCBtbHg1X3BjaV9kcml2ZXIgKmRydiwKCSAgICAg ICBjb25zdCBzdHJ1Y3QgcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYpCnsKCWNvbnN0IHN0cnVjdCBy dGVfcGNpX2lkICppZF90YWJsZTsKCglmb3IgKGlkX3RhYmxlID0gZHJ2LT5wY2lfZHJpdmVyLmlk X3RhYmxlOyBpZF90YWJsZS0+dmVuZG9yX2lkICE9IDA7CgkgICAgIGlkX3RhYmxlKyspIHsKCQkv KiBDaGVjayBpZiBkZXZpY2UncyBpZHMgbWF0Y2ggdGhlIGNsYXNzIGRyaXZlcidzIGlkcy4gKi8K CQlpZiAoaWRfdGFibGUtPnZlbmRvcl9pZCAhPSBwY2lfZGV2LT5pZC52ZW5kb3JfaWQgJiYKCQkg ICAgaWRfdGFibGUtPnZlbmRvcl9pZCAhPSBSVEVfUENJX0FOWV9JRCkKCQkJY29udGludWU7CgkJ aWYgKGlkX3RhYmxlLT5kZXZpY2VfaWQgIT0gcGNpX2Rldi0+aWQuZGV2aWNlX2lkICYmCgkJICAg IGlkX3RhYmxlLT5kZXZpY2VfaWQgIT0gUlRFX1BDSV9BTllfSUQpCgkJCWNvbnRpbnVlOwoJCWlm IChpZF90YWJsZS0+c3Vic3lzdGVtX3ZlbmRvcl9pZCAhPQoJCSAgICBwY2lfZGV2LT5pZC5zdWJz eXN0ZW1fdmVuZG9yX2lkICYmCgkJICAgIGlkX3RhYmxlLT5zdWJzeXN0ZW1fdmVuZG9yX2lkICE9 IFJURV9QQ0lfQU5ZX0lEKQoJCQljb250aW51ZTsKCQlpZiAoaWRfdGFibGUtPnN1YnN5c3RlbV9k ZXZpY2VfaWQgIT0KCQkgICAgcGNpX2Rldi0+aWQuc3Vic3lzdGVtX2RldmljZV9pZCAmJgoJCSAg ICBpZF90YWJsZS0+c3Vic3lzdGVtX2RldmljZV9pZCAhPSBSVEVfUENJXwplcnJvcjogcGF0Y2gg ZmFpbGVkOiBkcml2ZXJzL2NvbW1vbi9tbHg1L21seDVfY29tbW9uX3BjaS5jOjgKSHVuayAjMiBz dWNjZWVkZWQgYXQgNTA5IChvZmZzZXQgNDE0IGxpbmVzKS4KSHVuayAjMyBzdWNjZWVkZWQgYXQg NTE2IChvZmZzZXQgNDE0IGxpbmVzKS4KQ2hlY2tpbmcgcGF0Y2ggZHJpdmVycy9jb21tb24vbWx4 NS9tbHg1X2NvbW1vbl9wY2kuaC4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NvbW1vbi9tbHg1 L21seDVfY29tbW9uX3ByaXZhdGUuaC4uLgpDaGVja2luZyBwYXRjaCBkcml2ZXJzL2NvbW1vbi9t bHg1L3ZlcnNpb24ubWFwLi4uCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9jb21tb24vbWx4NS9saW51 eC9tbHg1X2NvbW1vbl9vcy5oIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9jb21tb24v bWx4NS9tbHg1X2NvbW1vbi5jIGNsZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9jb21tb24v bWx4NS9tbHg1X2NvbW1vbi5oIGNsZWFubHkuCkFwcGx5aW5nIHBhdGNoIGRyaXZlcnMvY29tbW9u L21seDUvbWx4NV9jb21tb25fcGNpLmMgd2l0aCAxIHJlamVjdC4uLgpSZWplY3RlZCBodW5rICMx LgpIdW5rICMyIGFwcGxpZWQgY2xlYW5seS4KSHVuayAjMyBhcHBsaWVkIGNsZWFubHkuCkFwcGxp ZWQgcGF0Y2ggZHJpdmVycy9jb21tb24vbWx4NS9tbHg1X2NvbW1vbl9wY2kuaCBjbGVhbmx5LgpB cHBsaWVkIHBhdGNoIGRyaXZlcnMvY29tbW9uL21seDUvbWx4NV9jb21tb25fcHJpdmF0ZS5oIGNs ZWFubHkuCkFwcGxpZWQgcGF0Y2ggZHJpdmVycy9jb21tb24vbWx4NS92ZXJzaW9uLm1hcCBjbGVh bmx5LgpkaWZmIGEvZHJpdmVycy9jb21tb24vbWx4NS9tbHg1X2NvbW1vbl9wY2kuYyBiL2RyaXZl cnMvY29tbW9uL21seDUvbWx4NV9jb21tb25fcGNpLmMJKHJlamVjdGVkIGh1bmtzKQpAQCAtOCw0 MzEgKzgsMTcgQEAKICNpbmNsdWRlIDxydGVfZGV2YXJncy5oPgogI2luY2x1ZGUgPHJ0ZV9lcnJu by5oPgogI2luY2x1ZGUgPHJ0ZV9jbGFzcy5oPgorI2luY2x1ZGUgPHJ0ZV9wY2kuaD4KKyNpbmNs dWRlIDxydGVfYnVzX3BjaS5oPgogCiAjaW5jbHVkZSAibWx4NV9jb21tb25fbG9nLmgiCi0jaW5j bHVkZSAibWx4NV9jb21tb25fcGNpLmgiCiAjaW5jbHVkZSAibWx4NV9jb21tb25fcHJpdmF0ZS5o IgogCiBzdGF0aWMgc3RydWN0IHJ0ZV9wY2lfZHJpdmVyIG1seDVfY29tbW9uX3BjaV9kcml2ZXI7 CiAKLS8qKioqKioqKioqIExlZ2FjeSBQQ0kgYnVzIGRyaXZlciwgdG8gYmUgcmVtb3ZlZCAqKioq KioqKi8KLQotc3RydWN0IG1seDVfcGNpX2RldmljZSB7Ci0Jc3RydWN0IHJ0ZV9wY2lfZGV2aWNl ICpwY2lfZGV2OwotCVRBSUxRX0VOVFJZKG1seDVfcGNpX2RldmljZSkgbmV4dDsKLQl1aW50MzJf dCBjbGFzc2VzX2xvYWRlZDsKLX07Ci0KLS8qIEhlYWQgb2YgbGlzdCBvZiBkcml2ZXJzLiAqLwot c3RhdGljIFRBSUxRX0hFQUQobWx4NV9wY2lfYnVzX2Rydl9oZWFkLCBtbHg1X3BjaV9kcml2ZXIp IGRydl9saXN0ID0KLQkJCQlUQUlMUV9IRUFEX0lOSVRJQUxJWkVSKGRydl9saXN0KTsKLQotLyog SGVhZCBvZiBtbHg1IHBjaSBkZXZpY2VzLiAqLwotc3RhdGljIFRBSUxRX0hFQUQobWx4NV9wY2lf ZGV2aWNlc19oZWFkLCBtbHg1X3BjaV9kZXZpY2UpIGRldmljZXNfbGlzdCA9Ci0JCQkJVEFJTFFf SEVBRF9JTklUSUFMSVpFUihkZXZpY2VzX2xpc3QpOwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IHsK LQljb25zdCBjaGFyICpuYW1lOwotCXVuc2lnbmVkIGludCBkcml2ZXJfY2xhc3M7Ci19IG1seDVf Y2xhc3Nlc1tdID0gewotCXsgLm5hbWUgPSAidmRwYSIsIC5kcml2ZXJfY2xhc3MgPSBNTFg1X0NM QVNTX1ZEUEEgfSwKLQl7IC5uYW1lID0gIm5ldCIsIC5kcml2ZXJfY2xhc3MgPSBNTFg1X0NMQVNT X05FVCB9LAotCXsgLm5hbWUgPSAicmVnZXgiLCAuZHJpdmVyX2NsYXNzID0gTUxYNV9DTEFTU19S RUdFWCB9LAotCXsgLm5hbWUgPSAiY29tcHJlc3MiLCAuZHJpdmVyX2NsYXNzID0gTUxYNV9DTEFT U19DT01QUkVTUyB9LAotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBtbHg1X2NsYXNz X2NvbWJpbmF0aW9uc1tdID0gewotCU1MWDVfQ0xBU1NfTkVULAotCU1MWDVfQ0xBU1NfVkRQQSwK LQlNTFg1X0NMQVNTX1JFR0VYLAotCU1MWDVfQ0xBU1NfQ09NUFJFU1MsCi0JTUxYNV9DTEFTU19O RVQgfCBNTFg1X0NMQVNTX1JFR0VYLAotCU1MWDVfQ0xBU1NfVkRQQSB8IE1MWDVfQ0xBU1NfUkVH RVgsCi0JTUxYNV9DTEFTU19ORVQgfCBNTFg1X0NMQVNTX0NPTVBSRVNTLAotCU1MWDVfQ0xBU1Nf VkRQQSB8IE1MWDVfQ0xBU1NfQ09NUFJFU1MsCi0JTUxYNV9DTEFTU19SRUdFWCB8IE1MWDVfQ0xB U1NfQ09NUFJFU1MsCi0JTUxYNV9DTEFTU19ORVQgfCBNTFg1X0NMQVNTX1JFR0VYIHwgTUxYNV9D TEFTU19DT01QUkVTUywKLQlNTFg1X0NMQVNTX1ZEUEEgfCBNTFg1X0NMQVNTX1JFR0VYIHwgTUxY NV9DTEFTU19DT01QUkVTUywKLQkvKiBOZXcgY2xhc3MgY29tYmluYXRpb24gc2hvdWxkIGJlIGFk ZGVkIGhlcmUuICovCi19OwotCi1zdGF0aWMgaW50Ci1jbGFzc19uYW1lX3RvX3ZhbHVlKGNvbnN0 IGNoYXIgKmNsYXNzX25hbWUpCi17Ci0JdW5zaWduZWQgaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBp IDwgUlRFX0RJTShtbHg1X2NsYXNzZXMpOyBpKyspIHsKLQkJaWYgKHN0cmNtcChjbGFzc19uYW1l LCBtbHg1X2NsYXNzZXNbaV0ubmFtZSkgPT0gMCkKLQkJCXJldHVybiBtbHg1X2NsYXNzZXNbaV0u ZHJpdmVyX2NsYXNzOwotCX0KLQlyZXR1cm4gLUVJTlZBTDsKLX0KLQotc3RhdGljIHN0cnVjdCBt bHg1X3BjaV9kcml2ZXIgKgotZHJpdmVyX2dldCh1aW50MzJfdCBjbGFzcykKLXsKLQlzdHJ1Y3Qg bWx4NV9wY2lfZHJpdmVyICpkcml2ZXI7Ci0KLQlUQUlMUV9GT1JFQUNIKGRyaXZlciwgJmRydl9s aXN0LCBuZXh0KSB7Ci0JCWlmIChkcml2ZXItPmRyaXZlcl9jbGFzcyA9PSBjbGFzcykKLQkJCXJl dHVybiBkcml2ZXI7Ci0JfQotCXJldHVybiBOVUxMOwotfQotCi1zdGF0aWMgaW50Ci1idXNfY21k bGluZV9vcHRpb25zX2hhbmRsZXIoX19ydGVfdW51c2VkIGNvbnN0IGNoYXIgKmtleSwKLQkJCSAg ICBjb25zdCBjaGFyICpjbGFzc19uYW1lcywgdm9pZCAqb3BhcXVlKQotewotCWludCAqcmV0ID0g b3BhcXVlOwotCWNoYXIgKm5zdHJfb3JnOwotCWludCBjbGFzc192YWw7Ci0JY2hhciAqZm91bmQ7 Ci0JY2hhciAqbnN0cjsKLQljaGFyICpyZWZzdHIgPSBOVUxMOwotCi0JKnJldCA9IDA7Ci0JbnN0 ciA9IHN0cmR1cChjbGFzc19uYW1lcyk7Ci0JaWYgKCFuc3RyKSB7Ci0JCSpyZXQgPSAtRU5PTUVN OwotCQlyZXR1cm4gKnJldDsKLQl9Ci0JbnN0cl9vcmcgPSBuc3RyOwotCWZvdW5kID0gc3RydG9r X3IobnN0ciwgIjoiLCAmcmVmc3RyKTsKLQlpZiAoIWZvdW5kKQotCQlnb3RvIGVycjsKLQlkbyB7 Ci0JCS8qIEV4dHJhY3QgZWFjaCBpbmRpdmlkdWFsIGNsYXNzIG5hbWUuIE11bHRpcGxlCi0JCSAq IGNsYXNzIGtleSx2YWx1ZSBpcyBzdXBwbGllZCBhcyBjbGFzcz1uZXQ6dmRwYTpmb286YmFyLgot CQkgKi8KLQkJY2xhc3NfdmFsID0gY2xhc3NfbmFtZV90b192YWx1ZShmb3VuZCk7Ci0JCS8qIENo ZWNrIGlmIGl0cyBhIHZhbGlkIGNsYXNzLiAqLwotCQlpZiAoY2xhc3NfdmFsIDwgMCkgewotCQkJ KnJldCA9IC1FSU5WQUw7Ci0JCQlnb3RvIGVycjsKLQkJfQotCQkqcmV0IHw9IGNsYXNzX3ZhbDsK LQkJZm91bmQgPSBzdHJ0b2tfcihOVUxMLCAiOiIsICZyZWZzdHIpOwotCX0gd2hpbGUgKGZvdW5k KTsKLWVycjoKLQlmcmVlKG5zdHJfb3JnKTsKLQlpZiAoKnJldCA8IDApCi0JCURSVl9MT0coRVJS LCAiSW52YWxpZCBtbHg1IGNsYXNzIG9wdGlvbnMgJXMuIgotCQkJIiBNYXliZSB0eXBvIGluIGRl dmljZSBjbGFzcyBhcmd1bWVudCBzZXR0aW5nPyIsCi0JCQljbGFzc19uYW1lcyk7Ci0JcmV0dXJu ICpyZXQ7Ci19Ci0KLXN0YXRpYyBpbnQKLXBhcnNlX2NsYXNzX29wdGlvbnMoY29uc3Qgc3RydWN0 IHJ0ZV9kZXZhcmdzICpkZXZhcmdzKQotewotCWNvbnN0IGNoYXIgKmtleSA9IFJURV9ERVZBUkdT X0tFWV9DTEFTUzsKLQlzdHJ1Y3QgcnRlX2t2YXJncyAqa3ZsaXN0OwotCWludCByZXQgPSAwOwot Ci0JaWYgKGRldmFyZ3MgPT0gTlVMTCkKLQkJcmV0dXJuIDA7Ci0Ja3ZsaXN0ID0gcnRlX2t2YXJn c19wYXJzZShkZXZhcmdzLT5hcmdzLCBOVUxMKTsKLQlpZiAoa3ZsaXN0ID09IE5VTEwpCi0JCXJl dHVybiAwOwotCWlmIChydGVfa3ZhcmdzX2NvdW50KGt2bGlzdCwga2V5KSkKLQkJcnRlX2t2YXJn c19wcm9jZXNzKGt2bGlzdCwga2V5LCBidXNfY21kbGluZV9vcHRpb25zX2hhbmRsZXIsCi0JCQkJ ICAgJnJldCk7Ci0JcnRlX2t2YXJnc19mcmVlKGt2bGlzdCk7Ci0JcmV0dXJuIHJldDsKLX0KLQot c3RhdGljIGJvb2wKLW1seDVfYnVzX21hdGNoKGNvbnN0IHN0cnVjdCBtbHg1X3BjaV9kcml2ZXIg KmRydiwKLQkgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2KQotewot CWNvbnN0IHN0cnVjdCBydGVfcGNpX2lkICppZF90YWJsZTsKLQotCWZvciAoaWRfdGFibGUgPSBk cnYtPnBjaV9kcml2ZXIuaWRfdGFibGU7IGlkX3RhYmxlLT52ZW5kb3JfaWQgIT0gMDsKLQkgICAg IGlkX3RhYmxlKyspIHsKLQkJLyogQ2hlY2sgaWYgZGV2aWNlJ3MgaWRzIG1hdGNoIHRoZSBjbGFz cyBkcml2ZXIncyBpZHMuICovCi0JCWlmIChpZF90YWJsZS0+dmVuZG9yX2lkICE9IHBjaV9kZXYt PmlkLnZlbmRvcl9pZCAmJgotCQkgICAgaWRfdGFibGUtPnZlbmRvcl9pZCAhPSBSVEVfUENJX0FO WV9JRCkKLQkJCWNvbnRpbnVlOwotCQlpZiAoaWRfdGFibGUtPmRldmljZV9pZCAhPSBwY2lfZGV2 LT5pZC5kZXZpY2VfaWQgJiYKLQkJICAgIGlkX3RhYmxlLT5kZXZpY2VfaWQgIT0gUlRFX1BDSV9B TllfSUQpCi0JCQljb250aW51ZTsKLQkJaWYgKGlkX3RhYmxlLT5zdWJzeXN0ZW1fdmVuZG9yX2lk ICE9Ci0JCSAgICBwY2lfZGV2LT5pZC5zdWJzeXN0ZW1fdmVuZG9yX2lkICYmCi0JCSAgICBpZF90 YWJsZS0+c3Vic3lzdGVtX3ZlbmRvcl9pZCAhPSBSVEVfUENJX0FOWV9JRCkKLQkJCWNvbnRpbnVl OwotCQlpZiAoaWRfdGFibGUtPnN1YnN5c3RlbV9kZXZpY2VfaWQgIT0KLQkJICAgIHBjaV9kZXYt PmlkLnN1YnN5c3RlbV9kZXZpY2VfaWQgJiYKLQkJICAgIGlkX3RhYmxlLT5zdWJzeXN0ZW1fZGV2 aWNlX2lkICE9IFJURV9QQ0lfQU5ZX0lEKQotCQkJY29udGludWU7Ci0JCWlmIChpZF90YWJsZS0+ Y2xhc3NfaWQgIT0gcGNpX2Rldi0+aWQuY2xhc3NfaWQgJiYKLQkJICAgIGlkX3RhYmxlLT5jbGFz c19pZCAhPSBSVEVfQ0xBU1NfQU5ZX0lEKQotCQkJY29udGludWU7Ci0JCXJldHVybiB0cnVlOwot CX0KLQlyZXR1cm4gZmFsc2U7Ci19Ci0KLXN0YXRpYyBpbnQKLWlzX3ZhbGlkX2NsYXNzX2NvbWJp bmF0aW9uKHVpbnQzMl90IHVzZXJfY2xhc3NlcykKLXsKLQl1bnNpZ25lZCBpbnQgaTsKLQotCS8q IFZlcmlmeSBpZiB1c2VyIHNwZWNpZmllZCB2YWxpZCBzdXBwb3J0ZWQgY29tYmluYXRpb24uICov Ci0JZm9yIChpID0gMDsgaSA8IFJURV9ESU0obWx4NV9jbGFzc19jb21iaW5hdGlvbnMpOyBpKysp IHsKLQkJaWYgKG1seDVfY2xhc3NfY29tYmluYXRpb25zW2ldID09IHVzZXJfY2xhc3NlcykKLQkJ CXJldHVybiAwOwotCX0KLQkvKiBOb3QgZm91bmQgYW55IHZhbGlkIGNsYXNzIGNvbWJpbmF0aW9u LiAqLwotCXJldHVybiAtRUlOVkFMOwotfQotCi1zdGF0aWMgc3RydWN0IG1seDVfcGNpX2Rldmlj ZSAqCi1wY2lfdG9fbWx4NV9kZXZpY2UoY29uc3Qgc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lf ZGV2KQotewotCXN0cnVjdCBtbHg1X3BjaV9kZXZpY2UgKmRldjsKLQotCVRBSUxRX0ZPUkVBQ0go ZGV2LCAmZGV2aWNlc19saXN0LCBuZXh0KSB7Ci0JCWlmIChkZXYtPnBjaV9kZXYgPT0gcGNpX2Rl dikKLQkJCXJldHVybiBkZXY7Ci0JfQotCXJldHVybiBOVUxMOwotfQotCi1zdGF0aWMgYm9vbAot ZGV2aWNlX2NsYXNzX2VuYWJsZWQoY29uc3Qgc3RydWN0IG1seDVfcGNpX2RldmljZSAqZGV2aWNl LCB1aW50MzJfdCBjbGFzcykKLXsKLQlyZXR1cm4gKGRldmljZS0+Y2xhc3Nlc19sb2FkZWQgJiBj bGFzcykgPyB0cnVlIDogZmFsc2U7Ci19Ci0KLXN0YXRpYyB2b2lkCi1kZXZfcmVsZWFzZShzdHJ1 Y3QgbWx4NV9wY2lfZGV2aWNlICpkZXYpCi17Ci0JVEFJTFFfUkVNT1ZFKCZkZXZpY2VzX2xpc3Qs IGRldiwgbmV4dCk7Ci0JcnRlX2ZyZWUoZGV2KTsKLX0KLQotc3RhdGljIGludAotZHJpdmVyc19y ZW1vdmUoc3RydWN0IG1seDVfcGNpX2RldmljZSAqZGV2LCB1aW50MzJfdCBlbmFibGVkX2NsYXNz ZXMpCi17Ci0Jc3RydWN0IG1seDVfcGNpX2RyaXZlciAqZHJpdmVyOwotCWludCBsb2NhbF9yZXQg PSAtRU5PREVWOwotCXVuc2lnbmVkIGludCBpID0gMDsKLQlpbnQgcmV0ID0gMDsKLQotCWVuYWJs ZWRfY2xhc3NlcyAmPSBkZXYtPmNsYXNzZXNfbG9hZGVkOwotCXdoaWxlIChlbmFibGVkX2NsYXNz ZXMpIHsKLQkJZHJpdmVyID0gZHJpdmVyX2dldChSVEVfQklUNjQoaSkpOwotCQlpZiAoZHJpdmVy KSB7Ci0JCQlsb2NhbF9yZXQgPSBkcml2ZXItPnBjaV9kcml2ZXIucmVtb3ZlKGRldi0+cGNpX2Rl dik7Ci0JCQlpZiAoIWxvY2FsX3JldCkKLQkJCQlkZXYtPmNsYXNzZXNfbG9hZGVkICY9IH5SVEVf QklUNjQoaSk7Ci0JCQllbHNlIGlmIChyZXQgPT0gMCkKLQkJCQlyZXQgPSBsb2NhbF9yZXQ7Ci0J CX0KLQkJZW5hYmxlZF9jbGFzc2VzICY9IH5SVEVfQklUNjQoaSk7Ci0JCWkrKzsKLQl9Ci0JaWYg KGxvY2FsX3JldCkKLQkJcmV0ID0gbG9jYWxfcmV0OwotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRp YyBpbnQKLWRyaXZlcnNfcHJvYmUoc3RydWN0IG1seDVfcGNpX2RldmljZSAqZGV2LCBzdHJ1Y3Qg cnRlX3BjaV9kcml2ZXIgKnBjaV9kcnYsCi0JICAgICAgc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpw Y2lfZGV2LCB1aW50MzJfdCB1c2VyX2NsYXNzZXMpCi17Ci0Jc3RydWN0IG1seDVfcGNpX2RyaXZl ciAqZHJpdmVyOwotCXVpbnQzMl90IGVuYWJsZWRfY2xhc3NlcyA9IDA7Ci0JYm9vbCBhbHJlYWR5 X2xvYWRlZDsKLQlpbnQgcmV0OwotCi0JVEFJTFFfRk9SRUFDSChkcml2ZXIsICZkcnZfbGlzdCwg bmV4dCkgewotCQlpZiAoKGRyaXZlci0+ZHJpdmVyX2NsYXNzICYgdXNlcl9jbGFzc2VzKSA9PSAw KQotCQkJY29udGludWU7Ci0JCWlmICghbWx4NV9idXNfbWF0Y2goZHJpdmVyLCBwY2lfZGV2KSkK LQkJCWNvbnRpbnVlOwotCQlhbHJlYWR5X2xvYWRlZCA9IGRldi0+Y2xhc3Nlc19sb2FkZWQgJiBk cml2ZXItPmRyaXZlcl9jbGFzczsKLQkJaWYgKGFscmVhZHlfbG9hZGVkICYmCi0JCSAgICAhKGRy aXZlci0+cGNpX2RyaXZlci5kcnZfZmxhZ3MgJiBSVEVfUENJX0RSVl9QUk9CRV9BR0FJTikpIHsK LQkJCURSVl9MT0coRVJSLCAiRGV2aWNlICVzIGlzIGFscmVhZHkgcHJvYmVkIiwKLQkJCQlwY2lf ZGV2LT5kZXZpY2UubmFtZSk7Ci0JCQlyZXQgPSAtRUVYSVNUOwotCQkJZ290byBwcm9iZV9lcnI7 Ci0JCX0KLQkJcmV0ID0gZHJpdmVyLT5wY2lfZHJpdmVyLnByb2JlKHBjaV9kcnYsIHBjaV9kZXYp OwotCQlpZiAocmV0IDwgMCkgewotCQkJRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gbG9hZCBkcml2 ZXIgJXMiLAotCQkJCWRyaXZlci0+cGNpX2RyaXZlci5kcml2ZXIubmFtZSk7Ci0JCQlnb3RvIHBy b2JlX2VycjsKLQkJfQotCQllbmFibGVkX2NsYXNzZXMgfD0gZHJpdmVyLT5kcml2ZXJfY2xhc3M7 Ci0JfQotCWRldi0+Y2xhc3Nlc19sb2FkZWQgfD0gZW5hYmxlZF9jbGFzc2VzOwotCXJldHVybiAw OwotcHJvYmVfZXJyOgotCS8qIE9ubHkgdW5sb2FkIGRyaXZlcnMgd2hpY2ggYXJlIGVuYWJsZWQg d2hpY2ggd2VyZSBlbmFibGVkCi0JICogaW4gdGhpcyBwcm9iZSBpbnN0YW5jZS4KLQkgKi8KLQlk cml2ZXJzX3JlbW92ZShkZXYsIGVuYWJsZWRfY2xhc3Nlcyk7Ci0JcmV0dXJuIHJldDsKLX0KLQot LyoqCi0gKiBEUERLIGNhbGxiYWNrIHRvIHJlZ2lzdGVyIHRvIHByb2JlIG11bHRpcGxlIGRyaXZl cnMgZm9yIGEgUENJIGRldmljZS4KLSAqCi0gKiBAcGFyYW1baW5dIHBjaV9kcnYKLSAqICAgUENJ IGRyaXZlciBzdHJ1Y3R1cmUuCi0gKiBAcGFyYW1baW5dIGRldgotICogICBQQ0kgZGV2aWNlIGlu Zm9ybWF0aW9uLgotICoKLSAqIEByZXR1cm4KLSAqICAgMCBvbiBzdWNjZXNzLCBhIG5lZ2F0aXZl IGVycm5vIHZhbHVlIG90aGVyd2lzZSBhbmQgcnRlX2Vycm5vIGlzIHNldC4KLSAqLwotc3RhdGlj IGludAotbWx4NV9wY2lfcHJvYmUoc3RydWN0IHJ0ZV9wY2lfZHJpdmVyICpwY2lfZHJ2IF9fcnRl X3VudXNlZCwKLQkgICAgICAgc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2KQotewotCXN0 cnVjdCBtbHg1X3BjaV9kZXZpY2UgKmRldjsKLQl1aW50MzJfdCB1c2VyX2NsYXNzZXMgPSAwOwot CWJvb2wgbmV3X2RldmljZSA9IGZhbHNlOwotCWludCByZXQ7Ci0KLQlyZXQgPSBwYXJzZV9jbGFz c19vcHRpb25zKHBjaV9kZXYtPmRldmljZS5kZXZhcmdzKTsKLQlpZiAocmV0IDwgMCkKLQkJcmV0 dXJuIHJldDsKLQl1c2VyX2NsYXNzZXMgPSByZXQ7Ci0JaWYgKHVzZXJfY2xhc3NlcykgewotCQkv KiBWYWxpZGF0ZSBjb21iaW5hdGlvbiBoZXJlLiAqLwotCQlyZXQgPSBpc192YWxpZF9jbGFzc19j b21iaW5hdGlvbih1c2VyX2NsYXNzZXMpOwotCQlpZiAocmV0KSB7Ci0JCQlEUlZfTE9HKEVSUiwg IlVuc3VwcG9ydGVkIG1seDUgY2xhc3NlcyBzdXBwbGllZC4iKTsKLQkJCXJldHVybiByZXQ7Ci0J CX0KLQl9IGVsc2UgewotCQkvKiBEZWZhdWx0IHRvIG5ldCBjbGFzcy4gKi8KLQkJdXNlcl9jbGFz c2VzID0gTUxYNV9DTEFTU19ORVQ7Ci0JfQotCWRldiA9IHBjaV90b19tbHg1X2RldmljZShwY2lf ZGV2KTsKLQlpZiAoIWRldikgewotCQlkZXYgPSBydGVfem1hbGxvYygibWx4NV9wY2lfZGV2aWNl Iiwgc2l6ZW9mKCpkZXYpLCAwKTsKLQkJaWYgKCFkZXYpCi0JCQlyZXR1cm4gLUVOT01FTTsKLQkJ ZGV2LT5wY2lfZGV2ID0gcGNpX2RldjsKLQkJVEFJTFFfSU5TRVJUX0hFQUQoJmRldmljZXNfbGlz dCwgZGV2LCBuZXh0KTsKLQkJbmV3X2RldmljZSA9IHRydWU7Ci0JfQotCXJldCA9IGRyaXZlcnNf cHJvYmUoZGV2LCBwY2lfZHJ2LCBwY2lfZGV2LCB1c2VyX2NsYXNzZXMpOwotCWlmIChyZXQpCi0J CWdvdG8gY2xhc3NfZXJyOwotCXJldHVybiAwOwotY2xhc3NfZXJyOgotCWlmIChuZXdfZGV2aWNl KQotCQlkZXZfcmVsZWFzZShkZXYpOwotCXJldHVybiByZXQ7Ci19Ci0KLS8qKgotICogRFBESyBj YWxsYmFjayB0byByZW1vdmUgb25lIG9yIG1vcmUgZHJpdmVycyBmb3IgYSBQQ0kgZGV2aWNlLgot ICoKLSAqIFRoaXMgZnVuY3Rpb24gcmVtb3ZlcyBhbGwgZHJpdmVycyBwcm9iZWQgZm9yIGEgZ2l2 ZW4gUENJIGRldmljZS4KLSAqCi0gKiBAcGFyYW1baW5dIHBjaV9kZXYKLSAqICAgUG9pbnRlciB0 byB0aGUgUENJIGRldmljZS4KLSAqCi0gKiBAcmV0dXJuCi0gKiAgIDAgb24gc3VjY2VzcywgdGhl IGZ1bmN0aW9uIGNhbm5vdCBmYWlsLgotICovCi1zdGF0aWMgaW50Ci1tbHg1X3BjaV9yZW1vdmUo c3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2KQotewotCXN0cnVjdCBtbHg1X3BjaV9kZXZp Y2UgKmRldjsKLQlpbnQgcmV0OwotCi0JZGV2ID0gcGNpX3RvX21seDVfZGV2aWNlKHBjaV9kZXYp OwotCWlmICghZGV2KQotCQlyZXR1cm4gLUVOT0RFVjsKLQkvKiBNYXRjaGluZyBkZXZpY2UgZm91 bmQsIGNsZWFudXAgYW5kIHVubG9hZCBkcml2ZXJzLiAqLwotCXJldCA9IGRyaXZlcnNfcmVtb3Zl KGRldiwgZGV2LT5jbGFzc2VzX2xvYWRlZCk7Ci0JaWYgKCFyZXQpCi0JCWRldl9yZWxlYXNlKGRl dik7Ci0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGludAotbWx4NV9wY2lfZG1hX21hcChzdHJ1 Y3QgcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYsIHZvaWQgKmFkZHIsCi0JCSB1aW50NjRfdCBpb3Zh LCBzaXplX3QgbGVuKQotewotCXN0cnVjdCBtbHg1X3BjaV9kcml2ZXIgKmRyaXZlciA9IE5VTEw7 Ci0Jc3RydWN0IG1seDVfcGNpX2RyaXZlciAqdGVtcDsKLQlzdHJ1Y3QgbWx4NV9wY2lfZGV2aWNl ICpkZXY7Ci0JaW50IHJldCA9IC1FSU5WQUw7Ci0KLQlkZXYgPSBwY2lfdG9fbWx4NV9kZXZpY2Uo cGNpX2Rldik7Ci0JaWYgKCFkZXYpCi0JCXJldHVybiAtRU5PREVWOwotCVRBSUxRX0ZPUkVBQ0go ZHJpdmVyLCAmZHJ2X2xpc3QsIG5leHQpIHsKLQkJaWYgKGRldmljZV9jbGFzc19lbmFibGVkKGRl diwgZHJpdmVyLT5kcml2ZXJfY2xhc3MpICYmCi0JCSAgICBkcml2ZXItPnBjaV9kcml2ZXIuZG1h X21hcCkgewotCQkJcmV0ID0gZHJpdmVyLT5wY2lfZHJpdmVyLmRtYV9tYXAocGNpX2RldiwgYWRk ciwKLQkJCQkJCQkgaW92YSwgbGVuKTsKLQkJCWlmIChyZXQpCi0JCQkJZ290byBtYXBfZXJyOwot CQl9Ci0JfQotCXJldHVybiByZXQ7Ci1tYXBfZXJyOgotCVRBSUxRX0ZPUkVBQ0godGVtcCwgJmRy dl9saXN0LCBuZXh0KSB7Ci0JCWlmICh0ZW1wID09IGRyaXZlcikKLQkJCWJyZWFrOwotCQlpZiAo ZGV2aWNlX2NsYXNzX2VuYWJsZWQoZGV2LCB0ZW1wLT5kcml2ZXJfY2xhc3MpICYmCi0JCSAgICB0 ZW1wLT5wY2lfZHJpdmVyLmRtYV9tYXAgJiYgdGVtcC0+cGNpX2RyaXZlci5kbWFfdW5tYXApCi0J CQl0ZW1wLT5wY2lfZHJpdmVyLmRtYV91bm1hcChwY2lfZGV2LCBhZGRyLCBpb3ZhLCBsZW4pOwot CX0KLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW50Ci1tbHg1X3BjaV9kbWFfdW5tYXAoc3Ry dWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2LCB2b2lkICphZGRyLAotCQkgICB1aW50NjRfdCBp b3ZhLCBzaXplX3QgbGVuKQotewotCXN0cnVjdCBtbHg1X3BjaV9kcml2ZXIgKmRyaXZlcjsKLQlz dHJ1Y3QgbWx4NV9wY2lfZGV2aWNlICpkZXY7Ci0JaW50IGxvY2FsX3JldCA9IC1FSU5WQUw7Ci0J aW50IHJldDsKLQotCWRldiA9IHBjaV90b19tbHg1X2RldmljZShwY2lfZGV2KTsKLQlpZiAoIWRl dikKLQkJcmV0dXJuIC1FTk9ERVY7Ci0JcmV0ID0gMDsKLQkvKiBUaGVyZSBpcyBubyB1bm1hcCBl cnJvciByZWNvdmVyeSBpbiBjdXJyZW50IGltcGxlbWVudGF0aW9uLiAqLwotCVRBSUxRX0ZPUkVB Q0hfUkVWRVJTRShkcml2ZXIsICZkcnZfbGlzdCwgbWx4NV9wY2lfYnVzX2Rydl9oZWFkLCBuZXh0 KSB7Ci0JCWlmIChkZXZpY2VfY2xhc3NfZW5hYmxlZChkZXYsIGRyaXZlci0+ZHJpdmVyX2NsYXNz KSAmJgotCQkgICAgZHJpdmVyLT5wY2lfZHJpdmVyLmRtYV91bm1hcCkgewotCQkJbG9jYWxfcmV0 ID0gZHJpdmVyLT5wY2lfZHJpdmVyLmRtYV91bm1hcChwY2lfZGV2LCBhZGRyLAotCQkJCQkJCQkg aW92YSwgbGVuKTsKLQkJCWlmIChsb2NhbF9yZXQgJiYgKHJldCA9PSAwKSkKLQkJCQlyZXQgPSBs b2NhbF9yZXQ7Ci0JCX0KLQl9Ci0JaWYgKGxvY2FsX3JldCkKLQkJcmV0ID0gbG9jYWxfcmV0Owot CXJldHVybiByZXQ7Ci19Ci0KIC8qIFBDSSBJRCB0YWJsZSBpcyBidWlsZCBkeW5hbWljYWxseSBi YXNlZCBvbiByZWdpc3RlcmVkIG1seDUgZHJpdmVycy4gKi8KIHN0YXRpYyBzdHJ1Y3QgcnRlX3Bj aV9pZCAqbWx4NV9wY2lfaWRfdGFibGU7CiAKLXN0YXRpYyBzdHJ1Y3QgcnRlX3BjaV9kcml2ZXIg bWx4NV9wY2lfZHJpdmVyID0gewotCS5kcml2ZXIgPSB7Ci0JCS5uYW1lID0gTUxYNV9QQ0lfRFJJ VkVSX05BTUUsCi0JfSwKLQkucHJvYmUgPSBtbHg1X3BjaV9wcm9iZSwKLQkucmVtb3ZlID0gbWx4 NV9wY2lfcmVtb3ZlLAotCS5kbWFfbWFwID0gbWx4NV9wY2lfZG1hX21hcCwKLQkuZG1hX3VubWFw ID0gbWx4NV9wY2lfZG1hX3VubWFwLAotfTsKLQogc3RhdGljIGludAogcGNpX2lkX3RhYmxlX3Np emVfZ2V0KGNvbnN0IHN0cnVjdCBydGVfcGNpX2lkICppZF90YWJsZSkKIHsKCmh0dHBzOi8vbGFi LmRwZGsub3JnL3Jlc3VsdHMvZGFzaGJvYXJkL3BhdGNoc2V0cy8xNzQwMi8KClVOSC1JT0wgRFBE SyBDb21tdW5pdHkgTGFiCg== --===============0074158294412765178==--