From owner-freebsd-virtualization@freebsd.org Sun Feb 14 02:49:19 2016 Return-Path: Delivered-To: freebsd-virtualization@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7FDD9AA085F for ; Sun, 14 Feb 2016 02:49:19 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: from phabric-backend.rbsd.freebsd.org (unknown [IPv6:2607:fc50:2000:101::1bb:73]) by mx1.freebsd.org (Postfix) with ESMTP id 67A7F15A1 for ; Sun, 14 Feb 2016 02:49:19 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 651303320412; Sun, 14 Feb 2016 02:49:19 +0000 (UTC) Date: Sun, 14 Feb 2016 02:49:19 +0000 To: freebsd-virtualization@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D5185+333+b2354430ad09b93f@reviews.freebsd.org Subject: [Differential] [Updated, 115 lines] D5185: tcp/lro: Allow network drivers to set the limit for TCP ACK/data segment aggregation limit Message-ID: <2b76a513a7071ca6090ec19d47846631@localhost.localdomain> X-Priority: 3 X-Phabricator-Sent-This-Message: Yes X-Mail-Transport-Agent: MetaMTA X-Auto-Response-Suppress: All X-Phabricator-Mail-Tags: , , Thread-Topic: D5185: tcp/lro: Allow network drivers to set the limit for TCP ACK/data segment aggregation limit X-Herald-Rules: <64> X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-Cc: X-Phabricator-Cc: Precedence: bulk In-Reply-To: References: Thread-Index: NTU0NmM0Mjk2NjdmNzVhNmM3MzlkMWQyNTdmIFa/6y8= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_2b76a513a7071ca6090ec19d47846631" X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Feb 2016 02:49:19 -0000 --b1_2b76a513a7071ca6090ec19d47846631 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit sepherosa_gmail.com updated this revision to Diff 13282. sepherosa_gmail.com added a comment. Expand length limitation to 32 bits. Suggested by hselasky. CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D5185?vs=13028&id=13282 REVISION DETAIL https://reviews.freebsd.org/D5185 AFFECTED FILES sys/dev/hyperv/netvsc/hv_net_vsc.h sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c sys/netinet/tcp_lro.c sys/netinet/tcp_lro.h EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, honzhan_microsoft.com, howard0su_gmail.com, np, transport, hselasky, network, adrian, gallatin Cc: freebsd-virtualization-list, freebsd-net-list --b1_2b76a513a7071ca6090ec19d47846631 Content-Type: text/x-patch; charset=utf-8; name="D5185.13282.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5185.13282.patch" ZGlmZiAtLWdpdCBhL3N5cy9uZXRpbmV0L3RjcF9scm8uaCBiL3N5cy9uZXRpbmV0L3RjcF9scm8u aAotLS0gYS9zeXMvbmV0aW5ldC90Y3BfbHJvLmgKKysrIGIvc3lzL25ldGluZXQvdGNwX2xyby5o CkBAIC05MSwxMSArOTEsMTYgQEAKIAl1bnNpZ25lZAlscm9fY250OwogCXVuc2lnbmVkCWxyb19t YnVmX2NvdW50OwogCXVuc2lnbmVkCWxyb19tYnVmX21heDsKKwl1bnNpZ25lZCBzaG9ydAlscm9f YWNrY250X2xpbTsJCS8qIG1heCAjIG9mIGFnZ3JlZ2F0ZWQgQUNLcyAqLworCXVuc2lnbmVkIAls cm9fbGVuZ3RoX2xpbTsJCS8qIG1heCBsZW4gb2YgYWdncmVnYXRlZCBkYXRhICovCiAKIAlzdHJ1 Y3QgbHJvX2hlYWQJbHJvX2FjdGl2ZTsKIAlzdHJ1Y3QgbHJvX2hlYWQJbHJvX2ZyZWU7CiB9Owog CisjZGVmaW5lCVRDUF9MUk9fTEVOR1RIX01BWAk2NTUzNQorI2RlZmluZQlUQ1BfTFJPX0FDS0NO VF9NQVgJNjU1MzUJCS8qIHVubGltaXRlZCAqLworCiBpbnQgdGNwX2xyb19pbml0KHN0cnVjdCBs cm9fY3RybCAqKTsKIGludCB0Y3BfbHJvX2luaXRfYXJncyhzdHJ1Y3QgbHJvX2N0cmwgKiwgc3Ry dWN0IGlmbmV0ICosIHVuc2lnbmVkLCB1bnNpZ25lZCk7CiB2b2lkIHRjcF9scm9fZnJlZShzdHJ1 Y3QgbHJvX2N0cmwgKik7CmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldC90Y3BfbHJvLmMgYi9zeXMv bmV0aW5ldC90Y3BfbHJvLmMKLS0tIGEvc3lzL25ldGluZXQvdGNwX2xyby5jCisrKyBiL3N5cy9u ZXRpbmV0L3RjcF9scm8uYwpAQCAtODcsNiArODcsOCBAQAogCWxjLT5scm9fbWJ1Zl9jb3VudCA9 IDA7CiAJbGMtPmxyb19tYnVmX21heCA9IGxyb19tYnVmczsKIAlsYy0+bHJvX2NudCA9IGxyb19l bnRyaWVzOworCWxjLT5scm9fYWNrY250X2xpbSA9IFRDUF9MUk9fQUNLQ05UX01BWDsKKwlsYy0+ bHJvX2xlbmd0aF9saW0gPSBUQ1BfTFJPX0xFTkdUSF9NQVg7CiAJbGMtPmlmcCA9IGlmcDsKIAlT TElTVF9JTklUKCZsYy0+bHJvX2ZyZWUpOwogCVNMSVNUX0lOSVQoJmxjLT5scm9fYWN0aXZlKTsK QEAgLTYwOCw3ICs2MTAsNyBAQAogCQl9CiAKIAkJLyogRmx1c2ggbm93IGlmIGFwcGVuZGluZyB3 aWxsIHJlc3VsdCBpbiBvdmVyZmxvdy4gKi8KLQkJaWYgKGxlLT5wX2xlbiA+ICg2NTUzNSAtIHRj cF9kYXRhX2xlbikpIHsKKwkJaWYgKGxlLT5wX2xlbiA+IChsYy0+bHJvX2xlbmd0aF9saW0gLSB0 Y3BfZGF0YV9sZW4pKSB7CiAJCQlTTElTVF9SRU1PVkUoJmxjLT5scm9fYWN0aXZlLCBsZSwgbHJv X2VudHJ5LCBuZXh0KTsKIAkJCXRjcF9scm9fZmx1c2gobGMsIGxlKTsKIAkJCWJyZWFrOwpAQCAt NjQ2LDYgKzY0OCwxNSBAQAogCiAJCWlmICh0Y3BfZGF0YV9sZW4gPT0gMCkgewogCQkJbV9mcmVl bShtKTsKKwkJCS8qCisJCQkgKiBGbHVzaCB0aGlzIExSTyBlbnRyeSwgaWYgdGhpcyBBQ0sgc2hv dWxkIG5vdAorCQkJICogYmUgZnVydGhlciBkZWxheWVkLgorCQkJICovCisJCQlpZiAobGUtPmFw cGVuZF9jbnQgPj0gbGMtPmxyb19hY2tjbnRfbGltKSB7CisJCQkJU0xJU1RfUkVNT1ZFKCZsYy0+ bHJvX2FjdGl2ZSwgbGUsIGxyb19lbnRyeSwKKwkJCQkgICAgbmV4dCk7CisJCQkJdGNwX2xyb19m bHVzaChsYywgbGUpOworCQkJfQogCQkJcmV0dXJuICgwKTsKIAkJfQogCkBAIC02NjYsNyArNjc3 LDcgQEAKIAkJICogSWYgYSBwb3NzaWJsZSBuZXh0IGZ1bGwgbGVuZ3RoIHBhY2tldCB3b3VsZCBj YXVzZSBhbgogCQkgKiBvdmVyZmxvdywgcHJvLWFjdGl2ZWx5IGZsdXNoIG5vdy4KIAkJICovCi0J CWlmIChsZS0+cF9sZW4gPiAoNjU1MzUgLSBsYy0+aWZwLT5pZl9tdHUpKSB7CisJCWlmIChsZS0+ cF9sZW4gPiAobGMtPmxyb19sZW5ndGhfbGltIC0gbGMtPmlmcC0+aWZfbXR1KSkgewogCQkJU0xJ U1RfUkVNT1ZFKCZsYy0+bHJvX2FjdGl2ZSwgbGUsIGxyb19lbnRyeSwgbmV4dCk7CiAJCQl0Y3Bf bHJvX2ZsdXNoKGxjLCBsZSk7CiAJCX0gZWxzZQpkaWZmIC0tZ2l0IGEvc3lzL2Rldi9oeXBlcnYv bmV0dnNjL2h2X25ldHZzY19kcnZfZnJlZWJzZC5jIGIvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2 X25ldHZzY19kcnZfZnJlZWJzZC5jCi0tLSBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXR2 c2NfZHJ2X2ZyZWVic2QuYworKysgYi9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Ry dl9mcmVlYnNkLmMKQEAgLTE3NiwxNCArMTc2LDExIEBACiAjZGVmaW5lIEhOX0NTVU1fQVNTSVNU X1dJTjgJKENTVU1fVENQKQogI2RlZmluZSBITl9DU1VNX0FTU0lTVAkJKENTVU1fSVAgfCBDU1VN X1VEUCB8IENTVU1fVENQKQogCi0vKiBYWFggbW92ZSB0byBuZXRpbmV0L3RjcF9scm8uaCAqLwot I2RlZmluZSBITl9MUk9fSElXQVRfTUFYCQkJCTY1NTM1Ci0jZGVmaW5lIEhOX0xST19ISVdBVF9E RUYJCQkJSE5fTFJPX0hJV0FUX01BWAorI2RlZmluZSBITl9MUk9fTEVOTElNX0RFRgkJKDI1ICog RVRIRVJNVFUpCiAvKiBZWVkgMipNVFUgaXMgYSBiaXQgcm91Z2gsIGJ1dCBzaG91bGQgYmUgZ29v ZCBlbm91Z2guICovCi0jZGVmaW5lIEhOX0xST19ISVdBVF9NVFVMSU0oaWZwKQkJCSgyICogKGlm cCktPmlmX210dSkKLSNkZWZpbmUgSE5fTFJPX0hJV0FUX0lTVkFMSUQoc2MsIGhpd2F0KQkJCVwK LSAgICAoKGhpd2F0KSA+PSBITl9MUk9fSElXQVRfTVRVTElNKChzYyktPmhuX2lmcCkgfHwJXAot ICAgICAoaGl3YXQpIDw9IEhOX0xST19ISVdBVF9NQVgpCisjZGVmaW5lIEhOX0xST19MRU5MSU1f TUlOKGlmcCkJCSgyICogKGlmcCktPmlmX210dSkKKworI2RlZmluZSBITl9MUk9fQUNLQ05UX0RF RgkJMQogCiAvKgogICogQmUgYXdhcmUgdGhhdCB0aGlzIHNsZWVwYWJsZSBtdXRleCB3aWxsIGV4 aGliaXQgV0lUTkVTUyBlcnJvcnMgd2hlbgpAQCAtMjUzLDkgKzI1MCw4IEBACiBzdGF0aWMgdm9p ZCBobl9zdGFydF90eGVvZihzdHJ1Y3QgaWZuZXQgKmlmcCk7CiBzdGF0aWMgaW50IGhuX2lmbWVk aWFfdXBkKHN0cnVjdCBpZm5ldCAqaWZwKTsKIHN0YXRpYyB2b2lkIGhuX2lmbWVkaWFfc3RzKHN0 cnVjdCBpZm5ldCAqaWZwLCBzdHJ1Y3QgaWZtZWRpYXJlcSAqaWZtcik7Ci0jaWZkZWYgSE5fTFJP X0hJV0FUCi1zdGF0aWMgaW50IGhuX2xyb19oaXdhdF9zeXNjdGwoU1lTQ1RMX0hBTkRMRVJfQVJH Uyk7Ci0jZW5kaWYKK3N0YXRpYyBpbnQgaG5fbHJvX2xlbmxpbV9zeXNjdGwoU1lTQ1RMX0hBTkRM RVJfQVJHUyk7CitzdGF0aWMgaW50IGhuX2xyb19hY2tjbnRfc3lzY3RsKFNZU0NUTF9IQU5ETEVS X0FSR1MpOwogc3RhdGljIGludCBobl90cnVzdF9oY3N1bV9zeXNjdGwoU1lTQ1RMX0hBTkRMRVJf QVJHUyk7CiBzdGF0aWMgaW50IGhuX3R4X2NoaW1uZXlfc2l6ZV9zeXNjdGwoU1lTQ1RMX0hBTkRM RVJfQVJHUyk7CiBzdGF0aWMgaW50IGhuX2NoZWNrX2lwbGVuKGNvbnN0IHN0cnVjdCBtYnVmICos IGludCk7CkBAIC0yNjUsMTUgKzI2MSw2IEBACiBzdGF0aWMgdm9pZCBobl90eGVvZl90YXNrZnVu Yyh2b2lkICp4c2MsIGludCBwZW5kaW5nKTsKIHN0YXRpYyBpbnQgaG5fZW5jYXAoc3RydWN0IGhu X3NvZnRjICosIHN0cnVjdCBobl90eGRlc2MgKiwgc3RydWN0IG1idWYgKiopOwogCi1zdGF0aWMg X19pbmxpbmUgdm9pZAotaG5fc2V0X2xyb19oaXdhdChzdHJ1Y3QgaG5fc29mdGMgKnNjLCBpbnQg aGl3YXQpCi17Ci0Jc2MtPmhuX2xyb19oaXdhdCA9IGhpd2F0OwotI2lmZGVmIEhOX0xST19ISVdB VAotCXNjLT5obl9scm8ubHJvX2hpd2F0ID0gc2MtPmhuX2xyb19oaXdhdDsKLSNlbmRpZgotfQot CiBzdGF0aWMgaW50CiBobl9pZm1lZGlhX3VwZChzdHJ1Y3QgaWZuZXQgKmlmcCBfX3VudXNlZCkK IHsKQEAgLTM1OCw3ICszNDUsNiBAQAogCWJ6ZXJvKHNjLCBzaXplb2YoaG5fc29mdGNfdCkpOwog CXNjLT5obl91bml0ID0gdW5pdDsKIAlzYy0+aG5fZGV2ID0gZGV2OwotCXNjLT5obl9scm9faGl3 YXQgPSBITl9MUk9fSElXQVRfREVGOwogCXNjLT5obl9kaXJlY3RfdHhfc2l6ZSA9IGhuX2RpcmVj dF90eF9zaXplOwogCWlmIChobl90cnVzdF9ob3N0dGNwKQogCQlzYy0+aG5fdHJ1c3RfaGNzdW0g fD0gSE5fVFJVU1RfSENTVU1fVENQOwpAQCAtNDQyLDkgKzQyOCw4IEBACiAJLyogRHJpdmVyIHBy aXZhdGUgTFJPIHNldHRpbmdzICovCiAJc2MtPmhuX2xyby5pZnAgPSBpZnA7CiAjZW5kaWYKLSNp ZmRlZiBITl9MUk9fSElXQVQKLQlzYy0+aG5fbHJvLmxyb19oaXdhdCA9IHNjLT5obl9scm9faGl3 YXQ7Ci0jZW5kaWYKKwlzYy0+aG5fbHJvLmxyb19sZW5ndGhfbGltID0gSE5fTFJPX0xFTkxJTV9E RUY7CisJc2MtPmhuX2xyby5scm9fYWNrY250X2xpbSA9IEhOX0xST19BQ0tDTlRfREVGOwogI2Vu ZGlmCS8qIElORVQgfHwgSU5FVDYgKi8KIAogI2lmIF9fRnJlZUJTRF92ZXJzaW9uID49IDExMDAw NDUKQEAgLTQ4MCwxMSArNDY1LDEyIEBACiAJICAgIENUTEZMQUdfUlcsICZzYy0+aG5fbHJvLmxy b19mbHVzaGVkLCAwLCAiTFJPIGZsdXNoZWQiKTsKIAlTWVNDVExfQUREX1VMT05HKGN0eCwgY2hp bGQsIE9JRF9BVVRPLCAibHJvX3RyaWVkIiwKIAkgICAgQ1RMRkxBR19SVywgJnNjLT5obl9scm9f dHJpZWQsICIjIG9mIExSTyB0cmllcyIpOwotI2lmZGVmIEhOX0xST19ISVdBVAotCVNZU0NUTF9B RERfUFJPQyhjdHgsIGNoaWxkLCBPSURfQVVUTywgImxyb19oaXdhdCIsCi0JICAgIENUTFRZUEVf SU5UIHwgQ1RMRkxBR19SVywgc2MsIDAsIGhuX2xyb19oaXdhdF9zeXNjdGwsCi0JICAgICJJIiwg IkxSTyBoaWdoIHdhdGVybWFyayIpOwotI2VuZGlmCisJU1lTQ1RMX0FERF9QUk9DKGN0eCwgY2hp bGQsIE9JRF9BVVRPLCAibHJvX2xlbmd0aF9saW0iLAorCSAgICBDVExUWVBFX1VJTlQgfCBDVExG TEFHX1JXLCBzYywgMCwgaG5fbHJvX2xlbmxpbV9zeXNjdGwsICJJVSIsCisJICAgICJNYXggIyBv ZiBkYXRhIGJ5dGVzIHRvIGJlIGFnZ3JlZ2F0ZWQgYnkgTFJPIik7CisJU1lTQ1RMX0FERF9QUk9D KGN0eCwgY2hpbGQsIE9JRF9BVVRPLCAibHJvX2Fja2NudF9saW0iLAorCSAgICBDVExUWVBFX0lO VCB8IENUTEZMQUdfUlcsIHNjLCAwLCBobl9scm9fYWNrY250X3N5c2N0bCwgIkkiLAorCSAgICAi TWF4ICMgb2YgQUNLcyB0byBiZSBhZ2dyZWdhdGVkIGJ5IExSTyIpOwogCVNZU0NUTF9BRERfUFJP QyhjdHgsIGNoaWxkLCBPSURfQVVUTywgInRydXN0X2hvc3R0Y3AiLAogCSAgICBDVExUWVBFX0lO VCB8IENUTEZMQUdfUlcsIHNjLCBITl9UUlVTVF9IQ1NVTV9UQ1AsCiAJICAgIGhuX3RydXN0X2hj c3VtX3N5c2N0bCwgIkkiLApAQCAtMTQxMCwxMiArMTM5NiwxMyBAQAogCiAJCS8qIE9idGFpbiBh bmQgcmVjb3JkIHJlcXVlc3RlZCBNVFUgKi8KIAkJaWZwLT5pZl9tdHUgPSBpZnItPmlmcl9tdHU7 CisKIAkJLyoKLQkJICogTWFrZSBzdXJlIHRoYXQgTFJPIGhpZ2ggd2F0ZXJtYXJrIGlzIHN0aWxs IHZhbGlkLAotCQkgKiBhZnRlciBNVFUgY2hhbmdlICh0aGUgMipNVFUgbGltaXQpLgorCQkgKiBN YWtlIHN1cmUgdGhhdCBMUk8gYWdncmVnYXRpb24gbGVuZ3RoIGxpbWl0IGlzIHN0aWxsCisJCSAq IHZhbGlkLCBhZnRlciB0aGUgTVRVIGNoYW5nZS4KIAkJICovCi0JCWlmICghSE5fTFJPX0hJV0FU X0lTVkFMSUQoc2MsIHNjLT5obl9scm9faGl3YXQpKQotCQkJaG5fc2V0X2xyb19oaXdhdChzYywg SE5fTFJPX0hJV0FUX01UVUxJTShpZnApKTsKKwkJaWYgKHNjLT5obl9scm8ubHJvX2xlbmd0aF9s aW0gPCBITl9MUk9fTEVOTElNX01JTihpZnApKQorCQkJc2MtPmhuX2xyby5scm9fbGVuZ3RoX2xp bSA9IEhOX0xST19MRU5MSU1fTUlOKGlmcCk7CiAKIAkJZG8gewogCQkJTlZfTE9DSyhzYyk7CkBA IC0xNzIyLDI2ICsxNzA5LDUxIEBACiB9CiAjZW5kaWYKIAotI2lmZGVmIEhOX0xST19ISVdBVAog c3RhdGljIGludAotaG5fbHJvX2hpd2F0X3N5c2N0bChTWVNDVExfSEFORExFUl9BUkdTKQoraG5f bHJvX2xlbmxpbV9zeXNjdGwoU1lTQ1RMX0hBTkRMRVJfQVJHUykKIHsKIAlzdHJ1Y3QgaG5fc29m dGMgKnNjID0gYXJnMTsKLQlpbnQgaGl3YXQsIGVycm9yOworCXVuc2lnbmVkIGludCBsZW5saW07 CisJaW50IGVycm9yOwogCi0JaGl3YXQgPSBzYy0+aG5fbHJvX2hpd2F0OwotCWVycm9yID0gc3lz Y3RsX2hhbmRsZV9pbnQob2lkcCwgJmhpd2F0LCAwLCByZXEpOworCWxlbmxpbSA9IHNjLT5obl9s cm8ubHJvX2xlbmd0aF9saW07CisJZXJyb3IgPSBzeXNjdGxfaGFuZGxlX2ludChvaWRwLCAmbGVu bGltLCAwLCByZXEpOwogCWlmIChlcnJvciB8fCByZXEtPm5ld3B0ciA9PSBOVUxMKQogCQlyZXR1 cm4gZXJyb3I7CiAKLQlpZiAoIUhOX0xST19ISVdBVF9JU1ZBTElEKHNjLCBoaXdhdCkpCisJaWYg KGxlbmxpbSA8IEhOX0xST19MRU5MSU1fTUlOKHNjLT5obl9pZnApIHx8CisJICAgIGxlbmxpbSA+ IFRDUF9MUk9fTEVOR1RIX01BWCkKIAkJcmV0dXJuIEVJTlZBTDsKIAotCWlmIChzYy0+aG5fbHJv X2hpd2F0ICE9IGhpd2F0KQotCQlobl9zZXRfbHJvX2hpd2F0KHNjLCBoaXdhdCk7CisJc2MtPmhu X2xyby5scm9fbGVuZ3RoX2xpbSA9IGxlbmxpbTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlu dAoraG5fbHJvX2Fja2NudF9zeXNjdGwoU1lTQ1RMX0hBTkRMRVJfQVJHUykKK3sKKwlzdHJ1Y3Qg aG5fc29mdGMgKnNjID0gYXJnMTsKKwlpbnQgYWNrY250LCBlcnJvcjsKKworCS8qCisJICogbHJv X2Fja2NudF9saW0gaXMgYXBwZW5kIGNvdW50IGxpbWl0LAorCSAqICsxIHRvIHR1cm4gaXQgaW50 byBhZ2dyZWdhdGlvbiBsaW1pdC4KKwkgKi8KKwlhY2tjbnQgPSBzYy0+aG5fbHJvLmxyb19hY2tj bnRfbGltICsgMTsKKwllcnJvciA9IHN5c2N0bF9oYW5kbGVfaW50KG9pZHAsICZhY2tjbnQsIDAs IHJlcSk7CisJaWYgKGVycm9yIHx8IHJlcS0+bmV3cHRyID09IE5VTEwpCisJCXJldHVybiBlcnJv cjsKKworCWlmIChhY2tjbnQgPCAyIHx8IGFja2NudCA+IChUQ1BfTFJPX0FDS0NOVF9NQVggKyAx KSkKKwkJcmV0dXJuIEVJTlZBTDsKKworCS8qCisJICogQ29udmVydCBhZ2dyZWdhdGlvbiBsaW1p dCBiYWNrIHRvIGFwcGVuZAorCSAqIGNvdW50IGxpbWl0LgorCSAqLworCXNjLT5obl9scm8ubHJv X2Fja2NudF9saW0gPSBhY2tjbnQgLSAxOwogCXJldHVybiAwOwogfQotI2VuZGlmCS8qIEhOX0xS T19ISVdBVCAqLwogCiBzdGF0aWMgaW50CiBobl90cnVzdF9oY3N1bV9zeXNjdGwoU1lTQ1RMX0hB TkRMRVJfQVJHUykKZGlmZiAtLWdpdCBhL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXRfdnNj LmggYi9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0X3ZzYy5oCi0tLSBhL3N5cy9kZXYvaHlw ZXJ2L25ldHZzYy9odl9uZXRfdnNjLmgKKysrIGIvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25l dF92c2MuaApAQCAtMTAzMCw3ICsxMDMwLDYgQEAKIAlzdHJ1Y3QgdGFzawlobl90eGVvZl90YXNr OwogCiAJc3RydWN0IGxyb19jdHJsCWhuX2xybzsKLQlpbnQJCWhuX2xyb19oaXdhdDsKIAogCS8q IFRydXN0IGNzdW0gdmVyaWZpY2F0aW9uIG9uIGhvc3Qgc2lkZSAqLwogCWludAkJaG5fdHJ1c3Rf aGNzdW07CS8qIEhOX1RSVVNUX0hDU1VNXyAqLwoK --b1_2b76a513a7071ca6090ec19d47846631--