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=-8.7 required=3.0 tests=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 D9437C31E4C for ; Fri, 14 Jun 2019 11:28:07 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 B98E52175B for ; Fri, 14 Jun 2019 11:28:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B98E52175B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hbkN8-0008SQ-0u; Fri, 14 Jun 2019 11:27:54 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hbkN6-0008Rb-HF for xen-devel@lists.xenproject.org; Fri, 14 Jun 2019 11:27:52 +0000 X-Inumbo-ID: 703b6cfe-8e97-11e9-a07e-5be0cf5927e5 Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 703b6cfe-8e97-11e9-a07e-5be0cf5927e5; Fri, 14 Jun 2019 11:27:49 +0000 (UTC) Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=anthony.perard@citrix.com; spf=Pass smtp.mailfrom=anthony.perard@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender authenticity information available from domain of anthony.perard@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="anthony.perard@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa5.hc3370-68.iphmx.com: domain of anthony.perard@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="anthony.perard@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa5.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa5.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: 4v17sPX06L0GBxB8o8zh5iKDAxoT+LV+GRHc9AD61XHVKOxA4m9E5NlPaNigXSqzmf+QBLMjJ0 HQr7lpgm8v7ZnLfRyXNthDcBCz9Za2etHpkdX55noCB8pem5ag/TNiepHcJheMZl1jv1M9Tb7a FTEsfiGqE7YY2ntTAHlhdHWoCJ+HV/gBki6lNCw9E/BZxgqZOlQQD8/K4rbV1Wvl63s/B9TrJX cL+vfYeA+yJiZks720zWchQauNS9aegAcFw6ZUhDTrVw/OsGR760SikPiax5z3ZTvMHjZ7m693 xO8= X-SBRS: 2.7 X-MesageID: 1724306 X-Ironport-Server: esa5.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.63,373,1557201600"; d="scan'208";a="1724306" From: Anthony PERARD To: Date: Fri, 14 Jun 2019 12:24:43 +0100 Message-ID: <20190614112444.29980-15-anthony.perard@citrix.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190614112444.29980-1-anthony.perard@citrix.com> References: <20190614112444.29980-1-anthony.perard@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 14/15] libxl_usb: usbctrl, make use of generic device handling functions X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Anthony PERARD , Ian Jackson , Wei Liu Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" VHdvIGZ1bmN0aW9ucyBpbiBnZW5lcmF0ZSBgbGlieGxfZGV2aWNlX3VzYmN0cmwnIGNhbiBiZSBy ZXBsYWNlZCBieQpnZW5lcmljIG1hY3JvOgotIGxpYnhsX2RldmljZV91c2JjdHJsX2xpc3QgLT4g TElCWExfREVGSU5FX0RFVklDRV9MSVNUCi0gbGlieGxfZGV2aWRfdG9fZGV2aWNlX3VzYmN0cmwg LT4gTElCWExfREVGSU5FX0RFVklEX1RPX0RFVklDRQoKVGhpcyBwYXRjaCBvbmx5IG5lZWRzIHRv IGRlZmluZSBgbGlieGxfX3VzYmN0cmxfZGV2dHlwZS5mcm9tX3hlbnN0b3JlJwp0byBtYWtlcyB1 c2Ugb2YgdGhlbS4KClNtYWxsIGNoYW5nZSwgbGlieGxfZGV2aWRfdG9fZGV2aWNlX3VzYmN0cmwg ZG9lc24ndCBsaXN0IGFsbCB1c2JjdHJsCmFueW1vcmUgYmVmb3JlIGZpbmRpbmcgdGhlIHJpZ2h0 IG9uZS4KClNpZ25lZC1vZmYtYnk6IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRy aXguY29tPgotLS0KIHRvb2xzL2xpYnhsL2xpYnhsX3VzYi5jIHwgMTIyICsrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzMiBpbnNlcnRpb25z KCspLCA5MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF91c2Iu YyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3VzYi5jCmluZGV4IDk4NTFmZTg0NjguLmRlNDlmODYyMGMg MTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3VzYi5jCisrKyBiL3Rvb2xzL2xpYnhsL2xp YnhsX3VzYi5jCkBAIC01NjMsODEgKzU2Myw1MyBAQCB2b2lkIGxpYnhsX19pbml0aWF0ZV9kZXZp Y2VfdXNiY3RybF9yZW1vdmUobGlieGxfX2VnYyAqZWdjLAogICAgIHJldHVybjsKIH0KIAotbGli eGxfZGV2aWNlX3VzYmN0cmwgKgotbGlieGxfZGV2aWNlX3VzYmN0cmxfbGlzdChsaWJ4bF9jdHgg KmN0eCwgdWludDMyX3QgZG9taWQsIGludCAqbnVtKQorc3RhdGljIGludCBsaWJ4bF9fdXNiY3Ry bF9mcm9tX3hlbnN0b3JlKGxpYnhsX19nYyAqZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbGlieGxfcGF0aCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpZCBkZXZpZCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfdXNiY3RybCAqdXNiY3RybF9y KQogewotICAgIEdDX0lOSVQoY3R4KTsKLSAgICBsaWJ4bF9kZXZpY2VfdXNiY3RybCAqdXNiY3Ry bHMgPSBOVUxMOwotICAgIGNoYXIgKmxpYnhsX3Z1c2JzX3BhdGggPSBOVUxMOwotICAgIGNoYXIg KiplbnRyeSA9IE5VTEw7Ci0gICAgdW5zaWduZWQgaW50IG5lbnRyaWVzID0gMDsKLQotICAgICpu dW0gPSAwOwotCi0gICAgbGlieGxfdnVzYnNfcGF0aCA9IEdDU1BSSU5URigiJXMvZGV2aWNlLyVz IiwKLSAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194c19saWJ4bF9wYXRoKGdjLCBkb21pZCks Ci0gICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2tpbmRfdG9fc3RyaW5nKExJQlhM X19ERVZJQ0VfS0lORF9WVVNCKSk7Ci0gICAgZW50cnkgPSBsaWJ4bF9feHNfZGlyZWN0b3J5KGdj LCBYQlRfTlVMTCwgbGlieGxfdnVzYnNfcGF0aCwgJm5lbnRyaWVzKTsKLQotICAgIGlmIChlbnRy eSAmJiBuZW50cmllcykgewotICAgICAgICB1c2JjdHJscyA9IGxpYnhsX196YWxsb2MoTk9HQywg c2l6ZW9mKCp1c2JjdHJscykgKiBuZW50cmllcyk7Ci0gICAgICAgIGxpYnhsX2RldmljZV91c2Jj dHJsICp1c2JjdHJsOwotICAgICAgICBsaWJ4bF9kZXZpY2VfdXNiY3RybCAqZW5kID0gdXNiY3Ry bHMgKyBuZW50cmllczsKLSAgICAgICAgZm9yICh1c2JjdHJsID0gdXNiY3RybHM7Ci0gICAgICAg ICAgICAgdXNiY3RybCA8IGVuZDsKLSAgICAgICAgICAgICB1c2JjdHJsKyssIGVudHJ5KyssICgq bnVtKSsrKSB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyICp0bXAsICpiZV9wYXRoLCAqbGlieGxf cGF0aDsKLSAgICAgICAgICAgIGludCByZXQ7Ci0KLSAgICAgICAgICAgIGxpYnhsX2RldmljZV91 c2JjdHJsX2luaXQodXNiY3RybCk7Ci0gICAgICAgICAgICB1c2JjdHJsLT5kZXZpZCA9IGF0b2ko KmVudHJ5KTsKKyAgICBpbnQgcmM7CisgICAgY29uc3QgY2hhciAqdG1wOworICAgIGNvbnN0IGNo YXIgKmJlX3BhdGg7CiAKICNkZWZpbmUgUkVBRF9TVUJQQVRIKHBhdGgsIHN1YnBhdGgpICh7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgcmV0ID0gbGlieGxfX3hz X3JlYWRfY2hlY2tlZChnYywgWEJUX05VTEwsICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg ICAgcmMgPSBsaWJ4bF9feHNfcmVhZF9jaGVja2VkKGdjLCBYQlRfTlVMTCwgICAgICAgICAgICAg ICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDU1BSSU5U RigiJXMvIiBzdWJwYXRoLCBwYXRoKSwgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZ0bXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBp ZiAocmV0KSBnb3RvIG91dDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgICAgICBpZiAocmMpIGdvdG8gb3V0OyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIChjaGFyICopdG1wOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSkKIAogI2Rl ZmluZSBSRUFEX1NVQlBBVEhfSU5UKHBhdGgsIHN1YnBhdGgpICh7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAotICAgICAgICByZXQgPSBsaWJ4bF9feHNfcmVhZF9jaGVja2VkKGdjLCBY QlRfTlVMTCwgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICByYyA9IGxpYnhsX194c19y ZWFkX2NoZWNrZWQoZ2MsIFhCVF9OVUxMLCAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0NTUFJJTlRGKCIlcy8iIHN1YnBhdGgsIHBh dGgpLCAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnRtcCk7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGlmIChyZXQpIGdvdG8gb3V0OyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlm IChyYykgZ290byBvdXQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKICAgICAgICAgdG1wID8gYXRvaSh0bXApIDogLTE7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9KQogCi0gICAgICAgICAgICBsaWJ4bF9wYXRo ID0gR0NTUFJJTlRGKCIlcy8lcyIsIGxpYnhsX3Z1c2JzX3BhdGgsICplbnRyeSk7Ci0gICAgICAg ICAgICBsaWJ4bF91c2JjdHJsX3R5cGVfZnJvbV9zdHJpbmcoUkVBRF9TVUJQQVRIKGxpYnhsX3Bh dGgsICJ0eXBlIiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JnVzYmN0cmwtPnR5cGUpOwotICAgICAgICAgICAgaWYgKHVzYmN0cmwtPnR5cGUgPT0gTElCWExf VVNCQ1RSTF9UWVBFX0RFVklDRU1PREVMKSB7Ci0gICAgICAgICAgICAgICAgYmVfcGF0aCA9IGxp YnhsX3BhdGg7Ci0gICAgICAgICAgICAgICAgcmV0ID0gbGlieGxfX2dldF9kb21pZChnYywgJnVz YmN0cmwtPmJhY2tlbmRfZG9taWQpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg ICAgICBiZV9wYXRoID0gUkVBRF9TVUJQQVRIKGxpYnhsX3BhdGgsICJiYWNrZW5kIik7Ci0gICAg ICAgICAgICAgICAgaWYgKCFiZV9wYXRoKSBnb3RvIG91dDsKLSAgICAgICAgICAgICAgICByZXQg PSBsaWJ4bF9fYmFja2VuZHBhdGhfcGFyc2VfZG9taWQoZ2MsIGJlX3BhdGgsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ1c2JjdHJsLT5iYWNr ZW5kX2RvbWlkKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChyZXQpIGdvdG8gb3V0 OwotICAgICAgICAgICAgdXNiY3RybC0+dmVyc2lvbiA9IFJFQURfU1VCUEFUSF9JTlQoYmVfcGF0 aCwgInVzYi12ZXIiKTsKLSAgICAgICAgICAgIHVzYmN0cmwtPnBvcnRzID0gUkVBRF9TVUJQQVRI X0lOVChiZV9wYXRoLCAibnVtLXBvcnRzIik7CisgICAgdXNiY3RybF9yLT5kZXZpZCA9IGRldmlk OworICAgIGxpYnhsX3VzYmN0cmxfdHlwZV9mcm9tX3N0cmluZyhSRUFEX1NVQlBBVEgobGlieGxf cGF0aCwgInR5cGUiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnVzYmN0 cmxfci0+dHlwZSk7CisgICAgaWYgKHVzYmN0cmxfci0+dHlwZSA9PSBMSUJYTF9VU0JDVFJMX1RZ UEVfREVWSUNFTU9ERUwpIHsKKyAgICAgICAgYmVfcGF0aCA9IGxpYnhsX3BhdGg7CisgICAgICAg IHJjID0gbGlieGxfX2dldF9kb21pZChnYywgJnVzYmN0cmxfci0+YmFja2VuZF9kb21pZCk7Cisg ICAgfSBlbHNlIHsKKyAgICAgICAgYmVfcGF0aCA9IFJFQURfU1VCUEFUSChsaWJ4bF9wYXRoLCAi YmFja2VuZCIpOworICAgICAgICBpZiAoIWJlX3BhdGgpIGdvdG8gb3V0OworICAgICAgICByYyA9 IGxpYnhsX19iYWNrZW5kcGF0aF9wYXJzZV9kb21pZChnYywgYmVfcGF0aCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ1c2JjdHJsX3ItPmJhY2tlbmRfZG9t aWQpOworICAgIH0KKyAgICBpZiAocmMpIGdvdG8gb3V0OworICAgIHVzYmN0cmxfci0+dmVyc2lv biA9IFJFQURfU1VCUEFUSF9JTlQoYmVfcGF0aCwgInVzYi12ZXIiKTsKKyAgICB1c2JjdHJsX3It PnBvcnRzID0gUkVBRF9TVUJQQVRIX0lOVChiZV9wYXRoLCAibnVtLXBvcnRzIik7CiAKICN1bmRl ZiBSRUFEX1NVQlBBVEgKICN1bmRlZiBSRUFEX1NVQlBBVEhfSU5UCi0gICAgICAgfQotICAgIH0K LQotICAgIEdDX0ZSRUU7Ci0gICAgcmV0dXJuIHVzYmN0cmxzOwotCiBvdXQ6Ci0gICAgTE9HRChF UlJPUiwgZG9taWQsICJVbmFibGUgdG8gbGlzdCBVU0IgQ29udHJvbGxlcnMiKTsKLSAgICBsaWJ4 bF9kZXZpY2VfdXNiY3RybF9saXN0X2ZyZWUodXNiY3RybHMsICpudW0pOwotICAgIEdDX0ZSRUU7 Ci0gICAgKm51bSA9IDA7Ci0gICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHJjKQorICAgICAgICBs aWJ4bF9kZXZpY2VfdXNiY3RybF9kaXNwb3NlKHVzYmN0cmxfcik7CisgICAgcmV0dXJuIHJjOwog fQogCiBpbnQgbGlieGxfZGV2aWNlX3VzYmN0cmxfZ2V0aW5mbyhsaWJ4bF9jdHggKmN0eCwgdWlu dDMyX3QgZG9taWQsCkBAIC03MDUsMzAgKzY3Nyw2IEBAIGludCBsaWJ4bF9kZXZpY2VfdXNiY3Ry bF9nZXRpbmZvKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKICAgICByZXR1cm4gcmM7 CiB9CiAKLWludCBsaWJ4bF9kZXZpZF90b19kZXZpY2VfdXNiY3RybChsaWJ4bF9jdHggKmN0eCwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21pZCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGV2aWQsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGlieGxfZGV2aWNlX3VzYmN0cmwgKnVzYmN0cmwpCi17Ci0gICAg bGlieGxfZGV2aWNlX3VzYmN0cmwgKnVzYmN0cmxzOwotICAgIGludCBuYiA9IDA7Ci0gICAgaW50 IGksIHJjOwotCi0gICAgdXNiY3RybHMgPSBsaWJ4bF9kZXZpY2VfdXNiY3RybF9saXN0KGN0eCwg ZG9taWQsICZuYik7Ci0gICAgaWYgKCF1c2JjdHJscykgcmV0dXJuIEVSUk9SX0ZBSUw7Ci0KLSAg ICByYyA9IEVSUk9SX0ZBSUw7Ci0gICAgZm9yIChpID0gMDsgaSA8IG5iOyBpKyspIHsKLSAgICAg ICAgaWYgKGRldmlkID09IHVzYmN0cmxzW2ldLmRldmlkKSB7Ci0gICAgICAgICAgICBsaWJ4bF9k ZXZpY2VfdXNiY3RybF9jb3B5KGN0eCwgdXNiY3RybCwgJnVzYmN0cmxzW2ldKTsKLSAgICAgICAg ICAgIHJjID0gMDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotCi0gICAg bGlieGxfZGV2aWNlX3VzYmN0cmxfbGlzdF9mcmVlKHVzYmN0cmxzLCBuYik7Ci0gICAgcmV0dXJu IHJjOwotfQogCiBzdGF0aWMgY2hhciAqdXNiZGV2X2J1c2FkZHJfdG9fYnVzaWQobGlieGxfX2dj ICpnYywgaW50IGJ1cywgaW50IGFkZHIpCiB7CkBAIC0xOTQ1LDE1ICsxODkzLDYgQEAgc3RhdGlj IGludCBsaWJ4bF9kZXZpY2VfdXNiZGV2X2NvbXBhcmUoY29uc3QgbGlieGxfZGV2aWNlX3VzYmRl diAqZDEsCiAgICAgcmV0dXJuIENPTVBBUkVfVVNCKGQxLCBkMik7CiB9CiAKLXZvaWQgbGlieGxf ZGV2aWNlX3VzYmN0cmxfbGlzdF9mcmVlKGxpYnhsX2RldmljZV91c2JjdHJsICpsaXN0LCBpbnQg bnIpCi17Ci0gICBpbnQgaTsKLQotICAgZm9yIChpID0gMDsgaSA8IG5yOyBpKyspCi0gICAgICAg bGlieGxfZGV2aWNlX3VzYmN0cmxfZGlzcG9zZSgmbGlzdFtpXSk7Ci0gICBmcmVlKGxpc3QpOwot fQotCiB2b2lkIGxpYnhsX2RldmljZV91c2JkZXZfbGlzdF9mcmVlKGxpYnhsX2RldmljZV91c2Jk ZXYgKmxpc3QsIGludCBucikKIHsKICAgIGludCBpOwpAQCAtMTk2NSw3ICsxOTA0LDEwIEBAIHZv aWQgbGlieGxfZGV2aWNlX3VzYmRldl9saXN0X2ZyZWUobGlieGxfZGV2aWNlX3VzYmRldiAqbGlz dCwgaW50IG5yKQogCiAjZGVmaW5lIGxpYnhsX19kZXZpY2VfdXNiY3RybF91cGRhdGVfZGV2aWQg TlVMTAogCitMSUJYTF9ERUZJTkVfREVWSURfVE9fREVWSUNFKHVzYmN0cmwpCitMSUJYTF9ERUZJ TkVfREVWSUNFX0xJU1QodXNiY3RybCkKIERFRklORV9ERVZJQ0VfVFlQRV9TVFJVQ1QodXNiY3Ry bCwgVlVTQiwKKyAgICAuZnJvbV94ZW5zdG9yZSA9IChkZXZpY2VfZnJvbV94ZW5zdG9yZV9mbl90 KWxpYnhsX191c2JjdHJsX2Zyb21feGVuc3RvcmUsCiAgICAgLmRtX25lZWRlZCA9IGxpYnhsX2Rl dmljZV91c2JjdHJsX2RtX25lZWRlZAogKTsKIAotLSAKQW50aG9ueSBQRVJBUkQKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs