From owner-freebsd-net@freebsd.org Fri Feb 5 04:10:24 2016 Return-Path: Delivered-To: freebsd-net@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 83799A9AE25 for ; Fri, 5 Feb 2016 04:10:24 +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 6EABF20C for ; Fri, 5 Feb 2016 04:10:24 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by phabric-backend.rbsd.freebsd.org (Postfix, from userid 1346) id 6E77C10726C; Fri, 5 Feb 2016 04:10:24 +0000 (UTC) Date: Fri, 5 Feb 2016 04:10:24 +0000 To: freebsd-net@freebsd.org From: Phabricator Reply-to: D5098+325+4e694d74d281089c@reviews.freebsd.org Subject: [Differential] [Closed] D5098: hyperv/hn: Reorganize TX csum offloading Message-ID: 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: D5098: hyperv/hn: Reorganize TX csum offloading X-Herald-Rules: none 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: Precedence: bulk In-Reply-To: References: Thread-Index: MWY5NTZkMGRiYzcxOTg0MWVmNWQ1NWNiZWRhIFa0ILA= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_cdd90e305a9c697abe3d4ccee544f60b" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.20 List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Feb 2016 04:10:24 -0000 --b1_cdd90e305a9c697abe3d4ccee544f60b Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit This revision was automatically updated to reflect the committed changes. Closed by commit rS295297: hyperv/hn: Reorganize TX csum offloading (authored by sephe). CHANGED PRIOR TO COMMIT https://reviews.freebsd.org/D5098?vs=12774&id=13031#toc REPOSITORY rS FreeBSD src repository CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D5098?vs=12774&id=13031 REVISION DETAIL https://reviews.freebsd.org/D5098 AFFECTED FILES head/sys/dev/hyperv/netvsc/hv_net_vsc.h head/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, delphij, royger, decui_microsoft.com, howard0su_gmail.com, honzhan_microsoft.com, adrian, network Cc: freebsd-net-list --b1_cdd90e305a9c697abe3d4ccee544f60b Content-Type: text/x-patch; charset=utf-8; name="D5098.13031.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D5098.13031.patch" ZGlmZiAtLWdpdCBhL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2X25ldHZzY19kcnZfZnJl ZWJzZC5jIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKLS0tIGEvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKKysrIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0dnNjX2Rydl9mcmVlYnNk LmMKQEAgLTE2NywxNiArMTY3LDYgQEAKICNkZWZpbmUgSE5fVFhEX0ZMQUdfRE1BTUFQCTB4Mgog CiAvKgotICogQSB1bmlmaWVkIGZsYWcgZm9yIGFsbCBvdXRib3VuZCBjaGVjayBzdW0gZmxhZ3Mg aXMgdXNlZnVsLAotICogYW5kIGl0IGhlbHBzIGF2b2lkaW5nIHVubmVjZXNzYXJ5IGNoZWNrIHN1 bSBjYWxjdWxhdGlvbiBpbgotICogbmV0d29yayBmb3J3YXJkaW5nIHNjZW5hcmlvLgotICovCi0j ZGVmaW5lIEhWX0NTVU1fRk9SX09VVEJPVU5ECQkJCQkJXAotICAgIChDU1VNX0lQfENTVU1fSVBf VURQfENTVU1fSVBfVENQfENTVU1fSVBfU0NUUHxDU1VNX0lQX1RTT3wJCVwKLSAgICBDU1VNX0lQ X0lTQ1NJfENTVU1fSVA2X1VEUHxDU1VNX0lQNl9UQ1B8Q1NVTV9JUDZfU0NUUHwJCVwKLSAgICBD U1VNX0lQNl9UU098Q1NVTV9JUDZfSVNDU0kpCi0KLS8qCiAgKiBPbmx5IGVuYWJsZSBVRFAgY2hl Y2tzdW0gb2ZmbG9hZGluZyB3aGVuIGl0IGlzIG9uIDIwMTJSMiBvcgogICogbGF0ZXIuICBVRFAg Y2hlY2tzdW0gb2ZmbG9hZGluZyBkb2Vzbid0IHdvcmsgb24gZWFybGllcgogICogV2luZG93cyBy ZWxlYXNlcy4KQEAgLTI2NSw2MiArMjU1LDYgQEAKICNlbmRpZgogfQogCi0vKgotICogTmV0VnNj IGdldCBtZXNzYWdlIHRyYW5zcG9ydCBwcm90b2NvbCB0eXBlIAotICovCi1zdGF0aWMgdWludDMy X3QgZ2V0X3RyYW5zcG9ydF9wcm90b190eXBlKHN0cnVjdCBtYnVmICptX2hlYWQpCi17Ci0JdWlu dDMyX3QgcmV0X3ZhbCA9IFRSQU5TUE9SVF9UWVBFX05PVF9JUDsKLQl1aW50MTZfdCBldGhlcl90 eXBlID0gMDsKLQlpbnQgZXRoZXJfbGVuID0gMDsKLQlzdHJ1Y3QgZXRoZXJfdmxhbl9oZWFkZXIg KmVoOwotI2lmZGVmIElORVQKLQlzdHJ1Y3QgaXAgKmlwaDsKLSNlbmRpZgotI2lmZGVmIElORVQ2 Ci0Jc3RydWN0IGlwNl9oZHIgKmlwNjsKLSNlbmRpZgotCi0JZWggPSBtdG9kKG1faGVhZCwgc3Ry dWN0IGV0aGVyX3ZsYW5faGVhZGVyKik7Ci0JaWYgKGVoLT5ldmxfZW5jYXBfcHJvdG8gPT0gaHRv bnMoRVRIRVJUWVBFX1ZMQU4pKSB7Ci0JCWV0aGVyX2xlbiA9IEVUSEVSX0hEUl9MRU4gKyBFVEhF Ul9WTEFOX0VOQ0FQX0xFTjsKLQkJZXRoZXJfdHlwZSA9IGVoLT5ldmxfcHJvdG87Ci0JfSBlbHNl IHsKLQkJZXRoZXJfbGVuID0gRVRIRVJfSERSX0xFTjsKLQkJZXRoZXJfdHlwZSA9IGVoLT5ldmxf ZW5jYXBfcHJvdG87Ci0JfQotCi0Jc3dpdGNoIChudG9ocyhldGhlcl90eXBlKSkgewotI2lmZGVm IElORVQ2Ci0JY2FzZSBFVEhFUlRZUEVfSVBWNjoKLQkJaXA2ID0gKHN0cnVjdCBpcDZfaGRyICop KG1faGVhZC0+bV9kYXRhICsgZXRoZXJfbGVuKTsKLQotCQlpZiAoSVBQUk9UT19UQ1AgPT0gaXA2 LT5pcDZfbnh0KSB7Ci0JCQlyZXRfdmFsID0gVFJBTlNQT1JUX1RZUEVfSVBWNl9UQ1A7Ci0JCX0g ZWxzZSBpZiAoSVBQUk9UT19VRFAgPT0gaXA2LT5pcDZfbnh0KSB7Ci0JCQlyZXRfdmFsID0gVFJB TlNQT1JUX1RZUEVfSVBWNl9VRFA7Ci0JCX0KLQkJYnJlYWs7Ci0jZW5kaWYKLSNpZmRlZiBJTkVU Ci0JY2FzZSBFVEhFUlRZUEVfSVA6Ci0JCWlwaCA9IChzdHJ1Y3QgaXAgKikobV9oZWFkLT5tX2Rh dGEgKyBldGhlcl9sZW4pOwotCi0JCWlmIChJUFBST1RPX1RDUCA9PSBpcGgtPmlwX3ApIHsKLQkJ CXJldF92YWwgPSBUUkFOU1BPUlRfVFlQRV9JUFY0X1RDUDsKLQkJfSBlbHNlIGlmIChJUFBST1RP X1VEUCA9PSBpcGgtPmlwX3ApIHsKLQkJCXJldF92YWwgPSBUUkFOU1BPUlRfVFlQRV9JUFY0X1VE UDsKLQkJfQotCQlicmVhazsKLSNlbmRpZgotCWRlZmF1bHQ6Ci0JCXJldF92YWwgPSBUUkFOU1BP UlRfVFlQRV9OT1RfSVA7Ci0JCWJyZWFrOwotCX0KLQotCXJldHVybiAocmV0X3ZhbCk7Ci19Ci0K IHN0YXRpYyBpbnQKIGhuX2lmbWVkaWFfdXBkKHN0cnVjdCBpZm5ldCAqaWZwIF9fdW51c2VkKQog ewpAQCAtNzgzLDE2ICs3MTcsMTMgQEAKIAlobl9zb2Z0Y190ICpzYyA9IGlmcC0+aWZfc29mdGM7 CiAJc3RydWN0IGh2X2RldmljZSAqZGV2aWNlX2N0eCA9IHZtYnVzX2dldF9kZXZjdHgoc2MtPmhu X2Rldik7CiAJbmV0dnNjX2RldiAqbmV0X2RldiA9IHNjLT5uZXRfZGV2OwotCXN0cnVjdCBldGhl cl92bGFuX2hlYWRlciAqZWg7CiAJcm5kaXNfbXNnICpybmRpc19tZXNnOwogCXJuZGlzX3BhY2tl dCAqcm5kaXNfcGt0OwogCXJuZGlzX3Blcl9wYWNrZXRfaW5mbyAqcnBwaTsKIAluZGlzXzgwMjFx X2luZm8gKnJwcGlfdmxhbl9pbmZvOwogCXJuZGlzX3RjcF9pcF9jc3VtX2luZm8gKmNzdW1faW5m bzsKIAlybmRpc190Y3BfdHNvX2luZm8gKnRzb19pbmZvOwkKLQlpbnQgZXRoZXJfbGVuOwogCXVp bnQzMl90IHJuZGlzX21zZ19zaXplID0gMDsKLQl1aW50MzJfdCB0cmFuc19wcm90b190eXBlOwog CiAJaWYgKChpZnAtPmlmX2Rydl9mbGFncyAmIChJRkZfRFJWX1JVTk5JTkcgfCBJRkZfRFJWX09B Q1RJVkUpKSAhPQogCSAgICBJRkZfRFJWX1JVTk5JTkcpCkBAIC04NzIsMTAxICs4MDMsNzggQEAK IAkJCSAgICBtX2hlYWQtPm1fcGt0aGRyLmV0aGVyX3Z0YWcgJiAweGZmZjsKIAkJfQogCi0JCS8q IE9ubHkgY2hlY2sgdGhlIGZsYWdzIGZvciBvdXRib3VuZCBhbmQgaWdub3JlIHRoZSBvbmVzIGZv ciBpbmJvdW5kICovCi0JCWlmICgwID09IChtX2hlYWQtPm1fcGt0aGRyLmNzdW1fZmxhZ3MgJiBI Vl9DU1VNX0ZPUl9PVVRCT1VORCkpIHsKLQkJCWdvdG8gcHJlX3NlbmQ7Ci0JCX0KLQotCQllaCA9 IG10b2QobV9oZWFkLCBzdHJ1Y3QgZXRoZXJfdmxhbl9oZWFkZXIqKTsKLQkJaWYgKGVoLT5ldmxf ZW5jYXBfcHJvdG8gPT0gaHRvbnMoRVRIRVJUWVBFX1ZMQU4pKSB7Ci0JCQlldGhlcl9sZW4gPSBF VEhFUl9IRFJfTEVOICsgRVRIRVJfVkxBTl9FTkNBUF9MRU47Ci0JCX0gZWxzZSB7Ci0JCQlldGhl cl9sZW4gPSBFVEhFUl9IRFJfTEVOOwotCQl9Ci0KLQkJdHJhbnNfcHJvdG9fdHlwZSA9IGdldF90 cmFuc3BvcnRfcHJvdG9fdHlwZShtX2hlYWQpOwotCQlpZiAoVFJBTlNQT1JUX1RZUEVfTk9UX0lQ ID09IHRyYW5zX3Byb3RvX3R5cGUpIHsKLQkJCWdvdG8gcHJlX3NlbmQ7Ci0JCX0KLQotCQkvKgot CQkgKiBUU08gcGFja2V0IG5lZWRsZXNzIHRvIHNldHVwIHRoZSBzZW5kIHNpZGUgY2hlY2tzdW0K LQkJICogb2ZmbG9hZC4KLQkJICovCiAJCWlmIChtX2hlYWQtPm1fcGt0aGRyLmNzdW1fZmxhZ3Mg JiBDU1VNX1RTTykgewotCQkJZ290byBkb190c287Ci0JCX0KKwkJCXN0cnVjdCBldGhlcl92bGFu X2hlYWRlciAqZWg7CisJCQlpbnQgZXRoZXJfbGVuOwogCi0JCS8qIHNldHVwIGNoZWNrc3VtIG9m ZmxvYWQgKi8KLQkJcm5kaXNfbXNnX3NpemUgKz0gUk5ESVNfQ1NVTV9QUElfU0laRTsKLQkJcnBw aSA9IGh2X3NldF9ycHBpX2RhdGEocm5kaXNfbWVzZywgUk5ESVNfQ1NVTV9QUElfU0laRSwKLQkJ ICAgIHRjcGlwX2Noa3N1bV9pbmZvKTsKLQkJY3N1bV9pbmZvID0gKHJuZGlzX3RjcF9pcF9jc3Vt X2luZm8gKikoKGNoYXIqKXJwcGkgKwotCQkgICAgcnBwaS0+cGVyX3BhY2tldF9pbmZvX29mZnNl dCk7Ci0KLQkJaWYgKHRyYW5zX3Byb3RvX3R5cGUgJiAoVFlQRV9JUFY0IDw8IDE2KSkgewotCQkJ Y3N1bV9pbmZvLT54bWl0LmlzX2lwdjQgPSAxOwotCQl9IGVsc2UgewotCQkJY3N1bV9pbmZvLT54 bWl0LmlzX2lwdjYgPSAxOwotCQl9CisJCQllaCA9IG10b2QobV9oZWFkLCBzdHJ1Y3QgZXRoZXJf dmxhbl9oZWFkZXIqKTsKKwkJCWlmIChlaC0+ZXZsX2VuY2FwX3Byb3RvID09IGh0b25zKEVUSEVS VFlQRV9WTEFOKSkgeworCQkJCWV0aGVyX2xlbiA9IEVUSEVSX0hEUl9MRU4gKworCQkJCSAgICBF VEhFUl9WTEFOX0VOQ0FQX0xFTjsKKwkJCX0gZWxzZSB7CisJCQkJZXRoZXJfbGVuID0gRVRIRVJf SERSX0xFTjsKKwkJCX0KIAotCQlpZiAodHJhbnNfcHJvdG9fdHlwZSAmIFRZUEVfVENQKSB7Ci0J CQljc3VtX2luZm8tPnhtaXQudGNwX2NzdW0gPSAxOwotCQkJY3N1bV9pbmZvLT54bWl0LnRjcF9o ZWFkZXJfb2Zmc2V0ID0gMDsKLQkJfSBlbHNlIGlmICh0cmFuc19wcm90b190eXBlICYgVFlQRV9V RFApIHsKLQkJCWNzdW1faW5mby0+eG1pdC51ZHBfY3N1bSA9IDE7Ci0JCX0KKwkJCXJuZGlzX21z Z19zaXplICs9IFJORElTX1RTT19QUElfU0laRTsKKwkJCXJwcGkgPSBodl9zZXRfcnBwaV9kYXRh KHJuZGlzX21lc2csIFJORElTX1RTT19QUElfU0laRSwKKwkJCSAgICB0Y3BfbGFyZ2Vfc2VuZF9p bmZvKTsKIAotCQlnb3RvIHByZV9zZW5kOworCQkJdHNvX2luZm8gPSAocm5kaXNfdGNwX3Rzb19p bmZvICopKChjaGFyICopcnBwaSArCisJCQkgICAgcnBwaS0+cGVyX3BhY2tldF9pbmZvX29mZnNl dCk7CisJCQl0c29faW5mby0+bHNvX3YyX3htaXQudHlwZSA9CisJCQkgICAgUk5ESVNfVENQX0xB UkdFX1NFTkRfT0ZGTE9BRF9WMl9UWVBFOwogCi1kb190c286Ci0JCS8qIHNldHVwIFRDUCBzZWdt ZW50YXRpb24gb2ZmbG9hZCAqLwotCQlybmRpc19tc2dfc2l6ZSArPSBSTkRJU19UU09fUFBJX1NJ WkU7Ci0JCXJwcGkgPSBodl9zZXRfcnBwaV9kYXRhKHJuZGlzX21lc2csIFJORElTX1RTT19QUElf U0laRSwKLQkJICAgIHRjcF9sYXJnZV9zZW5kX2luZm8pOwotCQkKLQkJdHNvX2luZm8gPSAocm5k aXNfdGNwX3Rzb19pbmZvICopKChjaGFyICopcnBwaSArCi0JCSAgICBycHBpLT5wZXJfcGFja2V0 X2luZm9fb2Zmc2V0KTsKLQkJdHNvX2luZm8tPmxzb192Ml94bWl0LnR5cGUgPQotCQkgICAgUk5E SVNfVENQX0xBUkdFX1NFTkRfT0ZGTE9BRF9WMl9UWVBFOwotCQkKICNpZmRlZiBJTkVUCi0JCWlm ICh0cmFuc19wcm90b190eXBlICYgKFRZUEVfSVBWNCA8PCAxNikpIHsKLQkJCXN0cnVjdCBpcCAq aXAgPQotCQkJICAgIChzdHJ1Y3QgaXAgKikobV9oZWFkLT5tX2RhdGEgKyBldGhlcl9sZW4pOwot CQkJdW5zaWduZWQgbG9uZyBpcGhfbGVuID0gaXAtPmlwX2hsIDw8IDI7Ci0JCQlzdHJ1Y3QgdGNw aGRyICp0aCA9Ci0JCQkgICAgKHN0cnVjdCB0Y3BoZHIgKikoKGNhZGRyX3QpaXAgKyBpcGhfbGVu KTsKLQkJCi0JCQl0c29faW5mby0+bHNvX3YyX3htaXQuaXBfdmVyc2lvbiA9Ci0JCQkgICAgUk5E SVNfVENQX0xBUkdFX1NFTkRfT0ZGTE9BRF9JUFY0OwotCQkJaXAtPmlwX2xlbiA9IDA7Ci0JCQlp cC0+aXBfc3VtID0gMDsKLQkJCi0JCQl0aC0+dGhfc3VtID0gaW5fcHNldWRvKGlwLT5pcF9zcmMu c19hZGRyLAotCQkJICAgIGlwLT5pcF9kc3Quc19hZGRyLAotCQkJICAgIGh0b25zKElQUFJPVE9f VENQKSk7Ci0JCX0KKwkJCWlmIChtX2hlYWQtPm1fcGt0aGRyLmNzdW1fZmxhZ3MgJiBDU1VNX0lQ X1RTTykgeworCQkJCXN0cnVjdCBpcCAqaXAgPQorCQkJCSAgICAoc3RydWN0IGlwICopKG1faGVh ZC0+bV9kYXRhICsgZXRoZXJfbGVuKTsKKwkJCQl1bnNpZ25lZCBsb25nIGlwaF9sZW4gPSBpcC0+ aXBfaGwgPDwgMjsKKwkJCQlzdHJ1Y3QgdGNwaGRyICp0aCA9CisJCQkJICAgIChzdHJ1Y3QgdGNw aGRyICopKChjYWRkcl90KWlwICsgaXBoX2xlbik7CisJCQkKKwkJCQl0c29faW5mby0+bHNvX3Yy X3htaXQuaXBfdmVyc2lvbiA9CisJCQkJICAgIFJORElTX1RDUF9MQVJHRV9TRU5EX09GRkxPQURf SVBWNDsKKwkJCQlpcC0+aXBfbGVuID0gMDsKKwkJCQlpcC0+aXBfc3VtID0gMDsKKwkJCQorCQkJ CXRoLT50aF9zdW0gPSBpbl9wc2V1ZG8oaXAtPmlwX3NyYy5zX2FkZHIsCisJCQkJICAgIGlwLT5p cF9kc3Quc19hZGRyLCBodG9ucyhJUFBST1RPX1RDUCkpOworCQkJfQogI2VuZGlmCiAjaWYgZGVm aW5lZChJTkVUNikgJiYgZGVmaW5lZChJTkVUKQotCQllbHNlCisJCQllbHNlCiAjZW5kaWYKICNp ZmRlZiBJTkVUNgotCQl7Ci0JCQlzdHJ1Y3QgaXA2X2hkciAqaXA2ID0KLQkJCSAgICAoc3RydWN0 IGlwNl9oZHIgKikobV9oZWFkLT5tX2RhdGEgKyBldGhlcl9sZW4pOwotCQkJc3RydWN0IHRjcGhk ciAqdGggPSAoc3RydWN0IHRjcGhkciAqKShpcDYgKyAxKTsKLQotCQkJdHNvX2luZm8tPmxzb192 Ml94bWl0LmlwX3ZlcnNpb24gPQotCQkJICAgIFJORElTX1RDUF9MQVJHRV9TRU5EX09GRkxPQURf SVBWNjsKLQkJCWlwNi0+aXA2X3BsZW4gPSAwOwotCQkJdGgtPnRoX3N1bSA9IGluNl9ja3N1bV9w c2V1ZG8oaXA2LCAwLCBJUFBST1RPX1RDUCwgMCk7Ci0JCX0KKwkJCXsKKwkJCQlzdHJ1Y3QgaXA2 X2hkciAqaXA2ID0gKHN0cnVjdCBpcDZfaGRyICopCisJCQkJICAgIChtX2hlYWQtPm1fZGF0YSAr IGV0aGVyX2xlbik7CisJCQkJc3RydWN0IHRjcGhkciAqdGggPSAoc3RydWN0IHRjcGhkciAqKShp cDYgKyAxKTsKKworCQkJCXRzb19pbmZvLT5sc29fdjJfeG1pdC5pcF92ZXJzaW9uID0KKwkJCQkg ICAgUk5ESVNfVENQX0xBUkdFX1NFTkRfT0ZGTE9BRF9JUFY2OworCQkJCWlwNi0+aXA2X3BsZW4g PSAwOworCQkJCXRoLT50aF9zdW0gPQorCQkJCSAgICBpbjZfY2tzdW1fcHNldWRvKGlwNiwgMCwg SVBQUk9UT19UQ1AsIDApOworCQkJfQogI2VuZGlmCi0JCXRzb19pbmZvLT5sc29fdjJfeG1pdC50 Y3BfaGVhZGVyX29mZnNldCA9IDA7Ci0JCXRzb19pbmZvLT5sc29fdjJfeG1pdC5tc3MgPSBtX2hl YWQtPm1fcGt0aGRyLnRzb19zZWdzejsKKwkJCXRzb19pbmZvLT5sc29fdjJfeG1pdC50Y3BfaGVh ZGVyX29mZnNldCA9IDA7CisJCQl0c29faW5mby0+bHNvX3YyX3htaXQubXNzID0gbV9oZWFkLT5t X3BrdGhkci50c29fc2Vnc3o7CisJCX0gZWxzZSBpZiAobV9oZWFkLT5tX3BrdGhkci5jc3VtX2Zs YWdzICYgc2MtPmhuX2NzdW1fYXNzaXN0KSB7CisJCQlybmRpc19tc2dfc2l6ZSArPSBSTkRJU19D U1VNX1BQSV9TSVpFOworCQkJcnBwaSA9IGh2X3NldF9ycHBpX2RhdGEocm5kaXNfbWVzZywgUk5E SVNfQ1NVTV9QUElfU0laRSwKKwkJCSAgICB0Y3BpcF9jaGtzdW1faW5mbyk7CisJCQljc3VtX2lu Zm8gPSAocm5kaXNfdGNwX2lwX2NzdW1faW5mbyAqKSgoY2hhciopcnBwaSArCisJCQkgICAgcnBw aS0+cGVyX3BhY2tldF9pbmZvX29mZnNldCk7CisKKwkJCWNzdW1faW5mby0+eG1pdC5pc19pcHY0 ID0gMTsKKwkJCWlmIChtX2hlYWQtPm1fcGt0aGRyLmNzdW1fZmxhZ3MgJiBDU1VNX1RDUCkgewor CQkJCWNzdW1faW5mby0+eG1pdC50Y3BfY3N1bSA9IDE7CisJCQkJY3N1bV9pbmZvLT54bWl0LnRj cF9oZWFkZXJfb2Zmc2V0ID0gMDsKKwkJCX0gZWxzZSBpZiAobV9oZWFkLT5tX3BrdGhkci5jc3Vt X2ZsYWdzICYgQ1NVTV9VRFApIHsKKwkJCQljc3VtX2luZm8tPnhtaXQudWRwX2NzdW0gPSAxOwor CQkJfQorCQl9CiAKLXByZV9zZW5kOgogCQlybmRpc19tZXNnLT5tc2dfbGVuID0gcGFja2V0LT50 b3RfZGF0YV9idWZfbGVuICsgcm5kaXNfbXNnX3NpemU7CiAJCXBhY2tldC0+dG90X2RhdGFfYnVm X2xlbiA9IHJuZGlzX21lc2ctPm1zZ19sZW47CiAKZGlmZiAtLWdpdCBhL2hlYWQvc3lzL2Rldi9o eXBlcnYvbmV0dnNjL2h2X25ldF92c2MuaCBiL2hlYWQvc3lzL2Rldi9oeXBlcnYvbmV0dnNjL2h2 X25ldF92c2MuaAotLS0gYS9oZWFkL3N5cy9kZXYvaHlwZXJ2L25ldHZzYy9odl9uZXRfdnNjLmgK KysrIGIvaGVhZC9zeXMvZGV2L2h5cGVydi9uZXR2c2MvaHZfbmV0X3ZzYy5oCkBAIC0xMDE1LDYg KzEwMTUsNyBAQAogCWJ1c19kbWFfdGFnX3QJaG5fdHhfcm5kaXNfZHRhZzsKIAlpbnQJCWhuX3R4 X2NoaW1uZXlfc2l6ZTsKIAlpbnQJCWhuX3R4X2NoaW1uZXlfbWF4OworCXVpbnQ2NF90CWhuX2Nz dW1fYXNzaXN0OwogCiAJc3RydWN0IG10eAlobl90eGxpc3Rfc3BpbjsKIAlzdHJ1Y3QgaG5fdHhk ZXNjX2xpc3QgaG5fdHhsaXN0OwpAQCAtMTA0Myw4ICsxMDQ0LDYgQEAKIAl1X2xvbmcJCWhuX3R4 ZG1hX2ZhaWxlZDsKIAl1X2xvbmcJCWhuX3R4X2NvbGxhcHNlZDsKIAl1X2xvbmcJCWhuX3R4X2No aW1uZXk7Ci0KLQl1aW50NjRfdAlobl9jc3VtX2Fzc2lzdDsKIH0gaG5fc29mdGNfdDsKIAogCgo= --b1_cdd90e305a9c697abe3d4ccee544f60b--