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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0F356C433FE for ; Mon, 11 Apr 2022 09:50:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Date:Message-Id:MIME-Version:Subject:Cc :To:From:References:In-Reply-To:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=I/IuNHBGCilSYLj2jt+f4YHGT4bSEHN61Tzdo0pun90=; b=q4tcz7kvHYacnD BpH6IE3Xjo1phd+fJggZXbvc+06PD5VkspWimevrtDb5T4rLUg/l5TCxBT4r0OmNy3LX975qRMDSp fEDC3wcnSyvluTDFsIjgWZMx07lCAFGSeCTDks5cKP61OKNKLNOi/tCcc5Xkv6Xqh6FrDo6aHnJDh 06eBU+9mdf9EU9DGnZkQu3HmIOTCThT6Ixx5KDFKONIBMbp91O4jtWIuOcMEC7pyY8kNh5Phe6++e xgfpz/Q/vcQ/cF9qGlDYUOaVsY1j9Tap4mPgzsTfa1ldp8mQlP0NwdvGxwMmbN/fYi3ctCMKXa6k6 K/ydyYiy9W/IncX+ATnA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ndqgQ-0082os-UG; Mon, 11 Apr 2022 09:50:06 +0000 Received: from pandora.armlinux.org.uk ([2001:4d48:ad52:32c8:5054:ff:fe00:142]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1ndqcy-0080mk-Dt; Mon, 11 Apr 2022 09:46:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Date:Sender:Message-Id:Content-Type: Content-Transfer-Encoding:MIME-Version:Subject:Cc:To:From:References: In-Reply-To:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=PBUozL5TIxonaPPm3Nh+ChnOYojhIraEKu/Zpweidq8=; b=M6dCV8CgL0eONW2rbti+oomK6B GWDu2gkXKPxrycr//b8wvGNCUpHZB4kCvBFpsnZ5L4KNzPVsPYt7oQPgVX2Aw/0aFT5yGF8wNQfnr 8ya53a/jeyDy8eV2C6eux15IJmGI0ZKP+dfeukJQnBLxFCvCBaWBFb9mxeY3AiahOBstUAyx6NLWy vQWaWJhxpVUn1f/KLUvAxpsQFOwubsBCYzQVIScSqydRLrj/swPF86rk2CTPXo6HIUKIPqwVV8rpu uTE+pDVH7hHKyWfihTMfYdT45s9YsWvp1TjkmDnO5IZNKVBL8IyjtHG9Ax4HaQxCUB2S0BpC73Z1N R19SC6Ew==; Received: from e0022681537dd.dyn.armlinux.org.uk ([fd8f:7570:feb6:1:222:68ff:fe15:37dd]:52870 helo=rmk-PC.armlinux.org.uk) by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ndqcu-0000HW-A2; Mon, 11 Apr 2022 10:46:28 +0100 Received: from rmk by rmk-PC.armlinux.org.uk with local (Exim 4.94.2) (envelope-from ) id 1ndqct-0055RO-Da; Mon, 11 Apr 2022 10:46:27 +0100 In-Reply-To: References: From: "Russell King (Oracle)" To: Landen Chao , DENG Qingfang , Sean Wang Cc: Andrew Lunn , Vivien Didelot , Florian Fainelli , Vladimir Oltean , "David S. Miller" , Jakub Kicinski , Paolo Abeni , Matthias Brugger , netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: [PATCH net-next v2 7/9] net: dsa: mt7530: partially convert to phylink_pcs MIME-Version: 1.0 MIME-Version: 1.0 Content-Disposition: inline Message-Id: Date: Mon, 11 Apr 2022 10:46:27 +0100 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220411_024632_653832_4E3B70D6 X-CRM114-Status: GOOD ( 26.02 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org UGFydGlhbGx5IGNvbnZlcnQgdGhlIG10NzUzMCBkcml2ZXIgdG8gdXNlIHBoeWxpbmsncyBQQ1Mg c3VwcG9ydC4gVGhpcwppcyBhIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gYXMgd2UgZG9uJ3QgbW92 ZSBhbnl0aGluZyBpbnRvIHRoZQpwY3NfY29uZmlnIG1ldGhvZCB5ZXQgLSB0aGlzIGRyaXZlciBz dXBwb3J0cyBTR01JSSBvciAxMDAwQkFTRS1YCndpdGhvdXQgaW4tYmFuZC4KClRlc3RlZC1ieTog TWFyZWsgQmVow7puIDxrYWJlbEBrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBSdXNzZWxsIEtp bmcgKE9yYWNsZSkgPHJtaytrZXJuZWxAYXJtbGludXgub3JnLnVrPgotLS0KIGRyaXZlcnMvbmV0 L2RzYS9tdDc1MzAuYyB8IDE0NCArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0KIGRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuaCB8ICAyMSArKystLS0KIDIgZmlsZXMgY2hhbmdl ZCwgOTUgaW5zZXJ0aW9ucygrKSwgNzAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZHNhL210NzUzMC5jIGIvZHJpdmVycy9uZXQvZHNhL210NzUzMC5jCmluZGV4IGFhN2Yy MTY4M2EwNy4uMWMwZDkzMTk3M2U1IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9kc2EvbXQ3NTMw LmMKKysrIGIvZHJpdmVycy9uZXQvZHNhL210NzUzMC5jCkBAIC0yNCw2ICsyNCwxMSBAQAogCiAj aW5jbHVkZSAibXQ3NTMwLmgiCiAKK3N0YXRpYyBzdHJ1Y3QgbXQ3NTN4X3BjcyAqcGNzX3RvX210 NzUzeF9wY3Moc3RydWN0IHBoeWxpbmtfcGNzICpwY3MpCit7CisJcmV0dXJuIGNvbnRhaW5lcl9v ZihwY3MsIHN0cnVjdCBtdDc1M3hfcGNzLCBwY3MpOworfQorCiAvKiBTdHJpbmcsIG9mZnNldCwg YW5kIHJlZ2lzdGVyIHNpemUgaW4gYnl0ZXMgaWYgZGlmZmVyZW50IGZyb20gNCBieXRlcyAqLwog c3RhdGljIGNvbnN0IHN0cnVjdCBtdDc1MzBfbWliX2Rlc2MgbXQ3NTMwX21pYltdID0gewogCU1J Ql9ERVNDKDEsIDB4MDAsICJUeERyb3AiKSwKQEAgLTI1MjEsMTIgKzI1MjYsMTEgQEAgc3RhdGlj IGludCBtdDc1MzFfcmdtaWlfc2V0dXAoc3RydWN0IG10NzUzMF9wcml2ICpwcml2LCB1MzIgcG9y dCwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQKLW10NzUzMV9zZ21paV9saW5rX3VwX2Zv cmNlKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsCi0JCQkgICB1bnNpZ25lZCBpbnQg bW9kZSwgcGh5X2ludGVyZmFjZV90IGludGVyZmFjZSwKLQkJCSAgIGludCBzcGVlZCwgaW50IGR1 cGxleCkKK3N0YXRpYyB2b2lkIG10NzUzMV9wY3NfbGlua191cChzdHJ1Y3QgcGh5bGlua19wY3Mg KnBjcywgdW5zaWduZWQgaW50IG1vZGUsCisJCQkgICAgICAgcGh5X2ludGVyZmFjZV90IGludGVy ZmFjZSwgaW50IHNwZWVkLCBpbnQgZHVwbGV4KQogewotCXN0cnVjdCBtdDc1MzBfcHJpdiAqcHJp diA9IGRzLT5wcml2OworCXN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdiA9IHBjc190b19tdDc1M3hf cGNzKHBjcyktPnByaXY7CisJaW50IHBvcnQgPSBwY3NfdG9fbXQ3NTN4X3BjcyhwY3MpLT5wb3J0 OwogCXVuc2lnbmVkIGludCB2YWw7CiAKIAkvKiBGb3IgYWRqdXN0aW5nIHNwZWVkIGFuZCBkdXBs ZXggb2YgU0dNSUkgZm9yY2UgbW9kZS4gKi8KQEAgLTI1NTIsNiArMjU1Niw5IEBAIG10NzUzMV9z Z21paV9saW5rX3VwX2ZvcmNlKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsCiAKIAkv KiBNVDc1MzEgU0dNSUkgMUcgZm9yY2UgbW9kZSBjYW4gb25seSB3b3JrIGluIGZ1bGwgZHVwbGV4 IG1vZGUsCiAJICogbm8gbWF0dGVyIE1UNzUzMV9TR01JSV9GT1JDRV9IQUxGX0RVUExFWCBpcyBz ZXQgb3Igbm90LgorCSAqCisJICogVGhlIHNwZWVkIGNoZWNrIGlzIHVubmVjZXNzYXJ5IGFzIHRo ZSBNQUMgY2FwYWJpbGl0aWVzIGFwcGx5CisJICogdGhpcyByZXN0cmljdGlvbi4gLS1ybWsKIAkg Ki8KIAlpZiAoKHNwZWVkID09IFNQRUVEXzEwIHx8IHNwZWVkID09IFNQRUVEXzEwMCkgJiYKIAkg ICAgZHVwbGV4ICE9IERVUExFWF9GVUxMKQpAQCAtMjYyNyw5ICsyNjM0LDEwIEBAIHN0YXRpYyBp bnQgbXQ3NTMxX3NnbWlpX3NldHVwX21vZGVfYW4oc3RydWN0IG10NzUzMF9wcml2ICpwcml2LCBp bnQgcG9ydCwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgbXQ3NTMxX3NnbWlpX3Jlc3Rh cnRfYW4oc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCkKK3N0YXRpYyB2b2lkIG10NzUz MV9wY3NfYW5fcmVzdGFydChzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcykKIHsKLQlzdHJ1Y3QgbXQ3 NTMwX3ByaXYgKnByaXYgPSBkcy0+cHJpdjsKKwlzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYgPSBw Y3NfdG9fbXQ3NTN4X3BjcyhwY3MpLT5wcml2OworCWludCBwb3J0ID0gcGNzX3RvX210NzUzeF9w Y3MocGNzKS0+cG9ydDsKIAl1MzIgdmFsOwogCiAJLyogT25seSByZXN0YXJ0IEFOIHdoZW4gQU4g aXMgZW5hYmxlZCAqLwpAQCAtMjY4Niw2ICsyNjk0LDI0IEBAIG10NzUzeF9tYWNfY29uZmlnKHN0 cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsIHVuc2lnbmVkIGludCBtb2RlLAogCXJldHVy biBwcml2LT5pbmZvLT5tYWNfcG9ydF9jb25maWcoZHMsIHBvcnQsIG1vZGUsIHN0YXRlLT5pbnRl cmZhY2UpOwogfQogCitzdGF0aWMgc3RydWN0IHBoeWxpbmtfcGNzICoKK210NzUzeF9waHlsaW5r X21hY19zZWxlY3RfcGNzKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsCisJCQkgICAg ICBwaHlfaW50ZXJmYWNlX3QgaW50ZXJmYWNlKQoreworCXN0cnVjdCBtdDc1MzBfcHJpdiAqcHJp diA9IGRzLT5wcml2OworCisJc3dpdGNoIChpbnRlcmZhY2UpIHsKKwljYXNlIFBIWV9JTlRFUkZB Q0VfTU9ERV9UUkdNSUk6CisJY2FzZSBQSFlfSU5URVJGQUNFX01PREVfU0dNSUk6CisJY2FzZSBQ SFlfSU5URVJGQUNFX01PREVfMTAwMEJBU0VYOgorCWNhc2UgUEhZX0lOVEVSRkFDRV9NT0RFXzI1 MDBCQVNFWDoKKwkJcmV0dXJuICZwcml2LT5wY3NbcG9ydF0ucGNzOworCisJZGVmYXVsdDoKKwkJ cmV0dXJuIE5VTEw7CisJfQorfQorCiBzdGF0aWMgdm9pZAogbXQ3NTN4X3BoeWxpbmtfbWFjX2Nv bmZpZyhzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LCB1bnNpZ25lZCBpbnQgbW9kZSwK IAkJCSAgY29uc3Qgc3RydWN0IHBoeWxpbmtfbGlua19zdGF0ZSAqc3RhdGUpCkBAIC0yNzQ3LDE3 ICsyNzczLDYgQEAgbXQ3NTN4X3BoeWxpbmtfbWFjX2NvbmZpZyhzdHJ1Y3QgZHNhX3N3aXRjaCAq ZHMsIGludCBwb3J0LCB1bnNpZ25lZCBpbnQgbW9kZSwKIAkJbXQ3NTMwX3dyaXRlKHByaXYsIE1U NzUzMF9QTUNSX1AocG9ydCksIG1jcl9uZXcpOwogfQogCi1zdGF0aWMgdm9pZAotbXQ3NTN4X3Bo eWxpbmtfbWFjX2FuX3Jlc3RhcnQoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCkKLXsK LQlzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYgPSBkcy0+cHJpdjsKLQotCWlmICghcHJpdi0+aW5m by0+bWFjX3Bjc19hbl9yZXN0YXJ0KQotCQlyZXR1cm47Ci0KLQlwcml2LT5pbmZvLT5tYWNfcGNz X2FuX3Jlc3RhcnQoZHMsIHBvcnQpOwotfQotCiBzdGF0aWMgdm9pZCBtdDc1M3hfcGh5bGlua19t YWNfbGlua19kb3duKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsCiAJCQkJCSB1bnNp Z25lZCBpbnQgbW9kZSwKIAkJCQkJIHBoeV9pbnRlcmZhY2VfdCBpbnRlcmZhY2UpCkBAIC0yNzY3 LDE2ICsyNzgyLDEzIEBAIHN0YXRpYyB2b2lkIG10NzUzeF9waHlsaW5rX21hY19saW5rX2Rvd24o c3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCwKIAltdDc1MzBfY2xlYXIocHJpdiwgTVQ3 NTMwX1BNQ1JfUChwb3J0KSwgUE1DUl9MSU5LX1NFVFRJTkdTX01BU0spOwogfQogCi1zdGF0aWMg dm9pZCBtdDc1M3hfbWFjX3Bjc19saW5rX3VwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBv cnQsCi0JCQkJICAgdW5zaWduZWQgaW50IG1vZGUsIHBoeV9pbnRlcmZhY2VfdCBpbnRlcmZhY2Us Ci0JCQkJICAgaW50IHNwZWVkLCBpbnQgZHVwbGV4KQorc3RhdGljIHZvaWQgbXQ3NTN4X3BoeWxp bmtfcGNzX2xpbmtfdXAoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsCisJCQkJICAgICAgIHVuc2ln bmVkIGludCBtb2RlLAorCQkJCSAgICAgICBwaHlfaW50ZXJmYWNlX3QgaW50ZXJmYWNlLAorCQkJ CSAgICAgICBpbnQgc3BlZWQsIGludCBkdXBsZXgpCiB7Ci0Jc3RydWN0IG10NzUzMF9wcml2ICpw cml2ID0gZHMtPnByaXY7Ci0KLQlpZiAoIXByaXYtPmluZm8tPm1hY19wY3NfbGlua191cCkKLQkJ cmV0dXJuOwotCi0JcHJpdi0+aW5mby0+bWFjX3Bjc19saW5rX3VwKGRzLCBwb3J0LCBtb2RlLCBp bnRlcmZhY2UsIHNwZWVkLCBkdXBsZXgpOworCWlmIChwY3MtPm9wcy0+cGNzX2xpbmtfdXApCisJ CXBjcy0+b3BzLT5wY3NfbGlua191cChwY3MsIG1vZGUsIGludGVyZmFjZSwgc3BlZWQsIGR1cGxl eCk7CiB9CiAKIHN0YXRpYyB2b2lkIG10NzUzeF9waHlsaW5rX21hY19saW5rX3VwKHN0cnVjdCBk c2Ffc3dpdGNoICpkcywgaW50IHBvcnQsCkBAIC0yNzg5LDggKzI4MDEsNiBAQCBzdGF0aWMgdm9p ZCBtdDc1M3hfcGh5bGlua19tYWNfbGlua191cChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBw b3J0LAogCXN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdiA9IGRzLT5wcml2OwogCXUzMiBtY3I7CiAK LQltdDc1M3hfbWFjX3Bjc19saW5rX3VwKGRzLCBwb3J0LCBtb2RlLCBpbnRlcmZhY2UsIHNwZWVk LCBkdXBsZXgpOwotCiAJbWNyID0gUE1DUl9SWF9FTiB8IFBNQ1JfVFhfRU4gfCBQTUNSX0ZPUkNF X0xOSzsKIAogCS8qIE1UNzUzeCBNQUMgd29ya3MgaW4gMUcgZnVsbCBkdXBsZXggbW9kZSBmb3Ig YWxsIHVwLWNsb2NrZWQKQEAgLTI4NzAsNiArMjg4MCw4IEBAIG10NzUzMV9jcHVfcG9ydF9jb25m aWcoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCkKIAkJcmV0dXJuIHJldDsKIAltdDc1 MzBfd3JpdGUocHJpdiwgTVQ3NTMwX1BNQ1JfUChwb3J0KSwKIAkJICAgICBQTUNSX0NQVV9QT1JU X1NFVFRJTkcocHJpdi0+aWQpKTsKKwltdDc1M3hfcGh5bGlua19wY3NfbGlua191cCgmcHJpdi0+ cGNzW3BvcnRdLnBjcywgTUxPX0FOX0ZJWEVELAorCQkJCSAgIGludGVyZmFjZSwgc3BlZWQsIERV UExFWF9GVUxMKTsKIAltdDc1M3hfcGh5bGlua19tYWNfbGlua191cChkcywgcG9ydCwgTUxPX0FO X0ZJWEVELCBpbnRlcmZhY2UsIE5VTEwsCiAJCQkJICAgc3BlZWQsIERVUExFWF9GVUxMLCB0cnVl LCB0cnVlKTsKIApAQCAtMjkwOSwxNiArMjkyMSwxMyBAQCBtdDc1M3hfcGh5bGlua192YWxpZGF0 ZShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LAogCWxpbmttb2RlX2FuZChzdGF0ZS0+ YWR2ZXJ0aXNpbmcsIHN0YXRlLT5hZHZlcnRpc2luZywgbWFzayk7CiB9CiAKLXN0YXRpYyBpbnQK LW10NzUzMF9waHlsaW5rX21hY19saW5rX3N0YXRlKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50 IHBvcnQsCi0JCQkgICAgICBzdHJ1Y3QgcGh5bGlua19saW5rX3N0YXRlICpzdGF0ZSkKK3N0YXRp YyB2b2lkIG10NzUzMF9wY3NfZ2V0X3N0YXRlKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLAorCQkJ CSBzdHJ1Y3QgcGh5bGlua19saW5rX3N0YXRlICpzdGF0ZSkKIHsKLQlzdHJ1Y3QgbXQ3NTMwX3By aXYgKnByaXYgPSBkcy0+cHJpdjsKKwlzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYgPSBwY3NfdG9f bXQ3NTN4X3BjcyhwY3MpLT5wcml2OworCWludCBwb3J0ID0gcGNzX3RvX210NzUzeF9wY3MocGNz KS0+cG9ydDsKIAl1MzIgcG1zcjsKIAotCWlmIChwb3J0IDwgMCB8fCBwb3J0ID49IE1UNzUzMF9O VU1fUE9SVFMpCi0JCXJldHVybiAtRUlOVkFMOwotCiAJcG1zciA9IG10NzUzMF9yZWFkKHByaXYs IE1UNzUzMF9QTVNSX1AocG9ydCkpOwogCiAJc3RhdGUtPmxpbmsgPSAocG1zciAmIFBNU1JfTElO Syk7CkBAIC0yOTQ1LDggKzI5NTQsNiBAQCBtdDc1MzBfcGh5bGlua19tYWNfbGlua19zdGF0ZShz dHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LAogCQlzdGF0ZS0+cGF1c2UgfD0gTUxPX1BB VVNFX1JYOwogCWlmIChwbXNyICYgUE1TUl9UWF9GQykKIAkJc3RhdGUtPnBhdXNlIHw9IE1MT19Q QVVTRV9UWDsKLQotCXJldHVybiAxOwogfQogCiBzdGF0aWMgaW50CkBAIC0yOTg4LDMyICsyOTk1 LDQ5IEBAIG10NzUzMV9zZ21paV9wY3NfZ2V0X3N0YXRlX2FuKHN0cnVjdCBtdDc1MzBfcHJpdiAq cHJpdiwgaW50IHBvcnQsCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQKLW10NzUzMV9waHls aW5rX21hY19saW5rX3N0YXRlKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsCi0JCQkg ICAgICBzdHJ1Y3QgcGh5bGlua19saW5rX3N0YXRlICpzdGF0ZSkKK3N0YXRpYyB2b2lkIG10NzUz MV9wY3NfZ2V0X3N0YXRlKHN0cnVjdCBwaHlsaW5rX3BjcyAqcGNzLAorCQkJCSBzdHJ1Y3QgcGh5 bGlua19saW5rX3N0YXRlICpzdGF0ZSkKIHsKLQlzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYgPSBk cy0+cHJpdjsKKwlzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYgPSBwY3NfdG9fbXQ3NTN4X3Bjcyhw Y3MpLT5wcml2OworCWludCBwb3J0ID0gcGNzX3RvX210NzUzeF9wY3MocGNzKS0+cG9ydDsKIAog CWlmIChzdGF0ZS0+aW50ZXJmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV9TR01JSSkKLQkJcmV0 dXJuIG10NzUzMV9zZ21paV9wY3NfZ2V0X3N0YXRlX2FuKHByaXYsIHBvcnQsIHN0YXRlKTsKLQot CXJldHVybiAtRU9QTk9UU1VQUDsKKwkJbXQ3NTMxX3NnbWlpX3Bjc19nZXRfc3RhdGVfYW4ocHJp diwgcG9ydCwgc3RhdGUpOworCWVsc2UKKwkJc3RhdGUtPmxpbmsgPSBmYWxzZTsKIH0KIAotc3Rh dGljIGludAotbXQ3NTN4X3BoeWxpbmtfbWFjX2xpbmtfc3RhdGUoc3RydWN0IGRzYV9zd2l0Y2gg KmRzLCBpbnQgcG9ydCwKLQkJCSAgICAgIHN0cnVjdCBwaHlsaW5rX2xpbmtfc3RhdGUgKnN0YXRl KQorc3RhdGljIGludCBtdDc1M3hfcGNzX2NvbmZpZyhzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywg dW5zaWduZWQgaW50IG1vZGUsCisJCQkgICAgIHBoeV9pbnRlcmZhY2VfdCBpbnRlcmZhY2UsCisJ CQkgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgKmFkdmVydGlzaW5nLAorCQkJICAgICBib29sIHBl cm1pdF9wYXVzZV90b19tYWMpCiB7Ci0Jc3RydWN0IG10NzUzMF9wcml2ICpwcml2ID0gZHMtPnBy aXY7CisJcmV0dXJuIDA7Cit9CiAKLQlyZXR1cm4gcHJpdi0+aW5mby0+bWFjX3BvcnRfZ2V0X3N0 YXRlKGRzLCBwb3J0LCBzdGF0ZSk7CitzdGF0aWMgdm9pZCBtdDc1MzBfcGNzX2FuX3Jlc3RhcnQo c3RydWN0IHBoeWxpbmtfcGNzICpwY3MpCit7CiB9CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcGh5 bGlua19wY3Nfb3BzIG10NzUzMF9wY3Nfb3BzID0geworCS5wY3NfZ2V0X3N0YXRlID0gbXQ3NTMw X3Bjc19nZXRfc3RhdGUsCisJLnBjc19jb25maWcgPSBtdDc1M3hfcGNzX2NvbmZpZywKKwkucGNz X2FuX3Jlc3RhcnQgPSBtdDc1MzBfcGNzX2FuX3Jlc3RhcnQsCit9OworCitzdGF0aWMgY29uc3Qg c3RydWN0IHBoeWxpbmtfcGNzX29wcyBtdDc1MzFfcGNzX29wcyA9IHsKKwkucGNzX2dldF9zdGF0 ZSA9IG10NzUzMV9wY3NfZ2V0X3N0YXRlLAorCS5wY3NfY29uZmlnID0gbXQ3NTN4X3Bjc19jb25m aWcsCisJLnBjc19hbl9yZXN0YXJ0ID0gbXQ3NTMxX3Bjc19hbl9yZXN0YXJ0LAorCS5wY3NfbGlu a191cCA9IG10NzUzMV9wY3NfbGlua191cCwKK307CisKIHN0YXRpYyBpbnQKIG10NzUzeF9zZXR1 cChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMpCiB7CiAJc3RydWN0IG10NzUzMF9wcml2ICpwcml2ID0g ZHMtPnByaXY7CiAJaW50IHJldCA9IHByaXYtPmluZm8tPnN3X3NldHVwKGRzKTsKKwlpbnQgaTsK IAogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CkBAIC0zMDI2LDYgKzMwNTAsMTMgQEAgbXQ3NTN4 X3NldHVwKHN0cnVjdCBkc2Ffc3dpdGNoICpkcykKIAlpZiAocmV0ICYmIHByaXYtPmlycSkKIAkJ bXQ3NTMwX2ZyZWVfaXJxX2NvbW1vbihwcml2KTsKIAorCS8qIEluaXRpYWxpc2UgdGhlIFBDUyBk ZXZpY2VzICovCisJZm9yIChpID0gMDsgaSA8IHByaXYtPmRzLT5udW1fcG9ydHM7IGkrKykgewor CQlwcml2LT5wY3NbaV0ucGNzLm9wcyA9IHByaXYtPmluZm8tPnBjc19vcHM7CisJCXByaXYtPnBj c1tpXS5wcml2ID0gcHJpdjsKKwkJcHJpdi0+cGNzW2ldLnBvcnQgPSBpOworCX0KKwogCXJldHVy biByZXQ7CiB9CiAKQEAgLTMwODcsOSArMzExOCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHNh X3N3aXRjaF9vcHMgbXQ3NTMwX3N3aXRjaF9vcHMgPSB7CiAJLnBvcnRfbWlycm9yX2RlbAk9IG10 NzUzeF9wb3J0X21pcnJvcl9kZWwsCiAJLnBoeWxpbmtfZ2V0X2NhcHMJPSBtdDc1M3hfcGh5bGlu a19nZXRfY2FwcywKIAkucGh5bGlua192YWxpZGF0ZQk9IG10NzUzeF9waHlsaW5rX3ZhbGlkYXRl LAotCS5waHlsaW5rX21hY19saW5rX3N0YXRlCT0gbXQ3NTN4X3BoeWxpbmtfbWFjX2xpbmtfc3Rh dGUsCisJLnBoeWxpbmtfbWFjX3NlbGVjdF9wY3MJPSBtdDc1M3hfcGh5bGlua19tYWNfc2VsZWN0 X3BjcywKIAkucGh5bGlua19tYWNfY29uZmlnCT0gbXQ3NTN4X3BoeWxpbmtfbWFjX2NvbmZpZywK LQkucGh5bGlua19tYWNfYW5fcmVzdGFydAk9IG10NzUzeF9waHlsaW5rX21hY19hbl9yZXN0YXJ0 LAogCS5waHlsaW5rX21hY19saW5rX2Rvd24JPSBtdDc1M3hfcGh5bGlua19tYWNfbGlua19kb3du LAogCS5waHlsaW5rX21hY19saW5rX3VwCT0gbXQ3NTN4X3BoeWxpbmtfbWFjX2xpbmtfdXAsCiAJ LmdldF9tYWNfZWVlCQk9IG10NzUzeF9nZXRfbWFjX2VlZSwKQEAgLTMwOTksMzYgKzMxMjksMzQg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkc2Ffc3dpdGNoX29wcyBtdDc1MzBfc3dpdGNoX29wcyA9 IHsKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXQ3NTN4X2luZm8gbXQ3NTN4X3RhYmxlW10gPSB7CiAJ W0lEX01UNzYyMV0gPSB7CiAJCS5pZCA9IElEX01UNzYyMSwKKwkJLnBjc19vcHMgPSAmbXQ3NTMw X3Bjc19vcHMsCiAJCS5zd19zZXR1cCA9IG10NzUzMF9zZXR1cCwKIAkJLnBoeV9yZWFkID0gbXQ3 NTMwX3BoeV9yZWFkLAogCQkucGh5X3dyaXRlID0gbXQ3NTMwX3BoeV93cml0ZSwKIAkJLnBhZF9z ZXR1cCA9IG10NzUzMF9wYWRfY2xrX3NldHVwLAogCQkubWFjX3BvcnRfZ2V0X2NhcHMgPSBtdDc1 MzBfbWFjX3BvcnRfZ2V0X2NhcHMsCi0JCS5tYWNfcG9ydF9nZXRfc3RhdGUgPSBtdDc1MzBfcGh5 bGlua19tYWNfbGlua19zdGF0ZSwKIAkJLm1hY19wb3J0X2NvbmZpZyA9IG10NzUzMF9tYWNfY29u ZmlnLAogCX0sCiAJW0lEX01UNzUzMF0gPSB7CiAJCS5pZCA9IElEX01UNzUzMCwKKwkJLnBjc19v cHMgPSAmbXQ3NTMwX3Bjc19vcHMsCiAJCS5zd19zZXR1cCA9IG10NzUzMF9zZXR1cCwKIAkJLnBo eV9yZWFkID0gbXQ3NTMwX3BoeV9yZWFkLAogCQkucGh5X3dyaXRlID0gbXQ3NTMwX3BoeV93cml0 ZSwKIAkJLnBhZF9zZXR1cCA9IG10NzUzMF9wYWRfY2xrX3NldHVwLAogCQkubWFjX3BvcnRfZ2V0 X2NhcHMgPSBtdDc1MzBfbWFjX3BvcnRfZ2V0X2NhcHMsCi0JCS5tYWNfcG9ydF9nZXRfc3RhdGUg PSBtdDc1MzBfcGh5bGlua19tYWNfbGlua19zdGF0ZSwKIAkJLm1hY19wb3J0X2NvbmZpZyA9IG10 NzUzMF9tYWNfY29uZmlnLAogCX0sCiAJW0lEX01UNzUzMV0gPSB7CiAJCS5pZCA9IElEX01UNzUz MSwKKwkJLnBjc19vcHMgPSAmbXQ3NTMxX3Bjc19vcHMsCiAJCS5zd19zZXR1cCA9IG10NzUzMV9z ZXR1cCwKIAkJLnBoeV9yZWFkID0gbXQ3NTMxX2luZF9waHlfcmVhZCwKIAkJLnBoeV93cml0ZSA9 IG10NzUzMV9pbmRfcGh5X3dyaXRlLAogCQkucGFkX3NldHVwID0gbXQ3NTMxX3BhZF9zZXR1cCwK IAkJLmNwdV9wb3J0X2NvbmZpZyA9IG10NzUzMV9jcHVfcG9ydF9jb25maWcsCiAJCS5tYWNfcG9y dF9nZXRfY2FwcyA9IG10NzUzMV9tYWNfcG9ydF9nZXRfY2FwcywKLQkJLm1hY19wb3J0X2dldF9z dGF0ZSA9IG10NzUzMV9waHlsaW5rX21hY19saW5rX3N0YXRlLAogCQkubWFjX3BvcnRfY29uZmln ID0gbXQ3NTMxX21hY19jb25maWcsCi0JCS5tYWNfcGNzX2FuX3Jlc3RhcnQgPSBtdDc1MzFfc2dt aWlfcmVzdGFydF9hbiwKLQkJLm1hY19wY3NfbGlua191cCA9IG10NzUzMV9zZ21paV9saW5rX3Vw X2ZvcmNlLAogCX0sCiB9OwogCkBAIC0zMTg2LDcgKzMyMTQsNyBAQCBtdDc1MzBfcHJvYmUoc3Ry dWN0IG1kaW9fZGV2aWNlICptZGlvZGV2KQogCWlmICghcHJpdi0+aW5mby0+c3dfc2V0dXAgfHwg IXByaXYtPmluZm8tPnBhZF9zZXR1cCB8fAogCSAgICAhcHJpdi0+aW5mby0+cGh5X3JlYWQgfHwg IXByaXYtPmluZm8tPnBoeV93cml0ZSB8fAogCSAgICAhcHJpdi0+aW5mby0+bWFjX3BvcnRfZ2V0 X2NhcHMgfHwKLQkgICAgIXByaXYtPmluZm8tPm1hY19wb3J0X2dldF9zdGF0ZSB8fCAhcHJpdi0+ aW5mby0+bWFjX3BvcnRfY29uZmlnKQorCSAgICAhcHJpdi0+aW5mby0+bWFjX3BvcnRfY29uZmln KQogCQlyZXR1cm4gLUVJTlZBTDsKIAogCXByaXYtPmlkID0gcHJpdi0+aW5mby0+aWQ7CmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmggYi9kcml2ZXJzL25ldC9kc2EvbXQ3NTMw LmgKaW5kZXggNzNjZmQyOWZiYjE3Li43MWUzNmI2OWI5NmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bmV0L2RzYS9tdDc1MzAuaAorKysgYi9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmgKQEAgLTc0MSw2 ICs3NDEsMTIgQEAgc3RhdGljIGNvbnN0IGNoYXIgKnA1X2ludGZfbW9kZXModW5zaWduZWQgaW50 IHA1X2ludGVyZmFjZSkKIAogc3RydWN0IG10NzUzMF9wcml2OwogCitzdHJ1Y3QgbXQ3NTN4X3Bj cyB7CisJc3RydWN0IHBoeWxpbmtfcGNzIHBjczsKKwlzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXY7 CisJaW50IHBvcnQ7Cit9OworCiAvKiBzdHJ1Y3QgbXQ3NTN4X2luZm8gLQlUaGlzIGlzIHRoZSBt YWluIGRhdGEgc3RydWN0dXJlIGZvciBob2xkaW5nIHRoZSBzcGVjaWZpYwogICoJCQlwYXJ0IGZv ciBlYWNoIHN1cHBvcnRlZCBkZXZpY2UKICAqIEBzd19zZXR1cDoJCUhvbGRpbmcgdGhlIGhhbmRs ZXIgdG8gYSBkZXZpY2UgaW5pdGlhbGl6YXRpb24KQEAgLTc1MiwxOCArNzU4LDE0IEBAIHN0cnVj dCBtdDc1MzBfcHJpdjsKICAqCQkJcG9ydAogICogQG1hY19wb3J0X3ZhbGlkYXRlOglIb2xkaW5n IHRoZSB3YXkgdG8gc2V0IGFkZGl0aW9uIHZhbGlkYXRlIHR5cGUgZm9yIGEKICAqCQkJY2VydGFu IE1BQyBwb3J0Ci0gKiBAbWFjX3BvcnRfZ2V0X3N0YXRlOiBIb2xkaW5nIHRoZSB3YXkgZ2V0dGlu ZyB0aGUgTUFDL1BDUyBzdGF0ZSBmb3IgYSBjZXJ0YWluCi0gKgkJCU1BQyBwb3J0CiAgKiBAbWFj X3BvcnRfY29uZmlnOglIb2xkaW5nIHRoZSB3YXkgc2V0dGluZyB1cCB0aGUgUEhZIGF0dHJpYnV0 ZSB0byBhCiAgKgkJCWNlcnRhaW4gTUFDIHBvcnQKLSAqIEBtYWNfcGNzX2FuX3Jlc3RhcnQJSG9s ZGluZyB0aGUgd2F5IHJlc3RhcnRpbmcgUENTIGF1dG9uZWdvdGlhdGlvbiBmb3IgYQotICoJCQlj ZXJ0YWluIE1BQyBwb3J0Ci0gKiBAbWFjX3Bjc19saW5rX3VwOglIb2xkaW5nIHRoZSB3YXkgc2V0 dGluZyB1cCB0aGUgUEhZIGF0dHJpYnV0ZSB0byB0aGUgcGNzCi0gKgkJCW9mIHRoZSBjZXJ0YWlu IE1BQyBwb3J0CiAgKi8KIHN0cnVjdCBtdDc1M3hfaW5mbyB7CiAJZW51bSBtdDc1M3hfaWQgaWQ7 CiAKKwljb25zdCBzdHJ1Y3QgcGh5bGlua19wY3Nfb3BzICpwY3Nfb3BzOworCiAJaW50ICgqc3df c2V0dXApKHN0cnVjdCBkc2Ffc3dpdGNoICpkcyk7CiAJaW50ICgqcGh5X3JlYWQpKHN0cnVjdCBt dDc1MzBfcHJpdiAqcHJpdiwgaW50IHBvcnQsIGludCByZWdudW0pOwogCWludCAoKnBoeV93cml0 ZSkoc3RydWN0IG10NzUzMF9wcml2ICpwcml2LCBpbnQgcG9ydCwgaW50IHJlZ251bSwgdTE2IHZh bCk7CkBAIC03NzQsMTUgKzc3Niw5IEBAIHN0cnVjdCBtdDc1M3hfaW5mbyB7CiAJdm9pZCAoKm1h Y19wb3J0X3ZhbGlkYXRlKShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LAogCQkJCSAg cGh5X2ludGVyZmFjZV90IGludGVyZmFjZSwKIAkJCQkgIHVuc2lnbmVkIGxvbmcgKnN1cHBvcnRl ZCk7Ci0JaW50ICgqbWFjX3BvcnRfZ2V0X3N0YXRlKShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGlu dCBwb3J0LAotCQkJCSAgc3RydWN0IHBoeWxpbmtfbGlua19zdGF0ZSAqc3RhdGUpOwogCWludCAo Km1hY19wb3J0X2NvbmZpZykoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCwKIAkJCSAg ICAgICB1bnNpZ25lZCBpbnQgbW9kZSwKIAkJCSAgICAgICBwaHlfaW50ZXJmYWNlX3QgaW50ZXJm YWNlKTsKLQl2b2lkICgqbWFjX3Bjc19hbl9yZXN0YXJ0KShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMs IGludCBwb3J0KTsKLQl2b2lkICgqbWFjX3Bjc19saW5rX3VwKShzdHJ1Y3QgZHNhX3N3aXRjaCAq ZHMsIGludCBwb3J0LAotCQkJCXVuc2lnbmVkIGludCBtb2RlLCBwaHlfaW50ZXJmYWNlX3QgaW50 ZXJmYWNlLAotCQkJCWludCBzcGVlZCwgaW50IGR1cGxleCk7CiB9OwogCiAvKiBzdHJ1Y3QgbXQ3 NTMwX3ByaXYgLQlUaGlzIGlzIHRoZSBtYWluIGRhdGEgc3RydWN0dXJlIGZvciBob2xkaW5nIHRo ZSBzdGF0ZQpAQCAtODI0LDYgKzgyMCw3IEBAIHN0cnVjdCBtdDc1MzBfcHJpdiB7CiAJdTgJCQlt aXJyb3JfdHg7CiAKIAlzdHJ1Y3QgbXQ3NTMwX3BvcnQJcG9ydHNbTVQ3NTMwX05VTV9QT1JUU107 CisJc3RydWN0IG10NzUzeF9wY3MJcGNzW01UNzUzMF9OVU1fUE9SVFNdOwogCS8qIHByb3RlY3Qg YW1vbmcgcHJvY2Vzc2VzIGZvciByZWdpc3RlcnMgYWNjZXNzKi8KIAlzdHJ1Y3QgbXV0ZXggcmVn X211dGV4OwogCWludCBpcnE7Ci0tIAoyLjMwLjIKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1tZWRpYXRlayBtYWlsaW5nIGxpc3QKTGludXgt bWVkaWF0ZWtAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LW1lZGlhdGVrCg==