From owner-cvs-src@FreeBSD.ORG Wed Apr 9 20:17:02 2008 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6742F1065674; Wed, 9 Apr 2008 20:17:02 +0000 (UTC) (envelope-from davidch@broadcom.com) Received: from mms1.broadcom.com (mms1.broadcom.com [216.31.210.17]) by mx1.freebsd.org (Postfix) with ESMTP id 1BE658FC18; Wed, 9 Apr 2008 20:17:01 +0000 (UTC) (envelope-from davidch@broadcom.com) Received: from [10.11.16.99] by mms1.broadcom.com with ESMTP (Broadcom SMTP Relay (Email Firewall v6.3.2)); Wed, 09 Apr 2008 13:16:29 -0700 X-Server-Uuid: 02CED230-5797-4B57-9875-D5D2FEE4708A Received: by mail-irva-10.broadcom.com (Postfix, from userid 47) id E45B12B8; Wed, 9 Apr 2008 13:16:28 -0700 (PDT) Received: from mail-irva-8.broadcom.com (mail-irva-8 [10.11.18.52]) by mail-irva-10.broadcom.com (Postfix) with ESMTP id CD6F52B0; Wed, 9 Apr 2008 13:16:28 -0700 (PDT) Received: from mail-irva-12.broadcom.com (mail-irva-12.broadcom.com [10.11.16.101]) by mail-irva-8.broadcom.com (MOS 3.7.5a-GA) with ESMTP id GTF76542; Wed, 9 Apr 2008 13:16:22 -0700 (PDT) Received: from NT-IRVA-0751.brcm.ad.broadcom.com ( nt-irva-0751.brcm.ad.broadcom.com [10.8.194.65]) by mail-irva-12.broadcom.com (Postfix) with ESMTP id 2041C69CA4; Wed, 9 Apr 2008 13:16:22 -0700 (PDT) Received: from IRVEXCHHUB01.corp.ad.broadcom.com ([10.9.200.131]) by NT-IRVA-0751.brcm.ad.broadcom.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 9 Apr 2008 13:16:22 -0700 Received: from IRVEXCHCCR01.corp.ad.broadcom.com ([10.9.200.129]) by IRVEXCHHUB01.corp.ad.broadcom.com ([10.9.200.131]) with mapi; Wed, 9 Apr 2008 13:16:21 -0700 From: "David Christensen" To: "Peter Wemm" Date: Wed, 9 Apr 2008 13:16:20 -0700 Thread-Topic: cvs commit: src/sys/dev/bce if_bce.c if_bcefw.h if_bcereg.h Thread-Index: AciVhTlUGyKB0/w2Rk2ZVTa8JaKtygE9TxIA Message-ID: <5D267A3F22FD854F8F48B3D2B523819324EF6DEE3B@IRVEXCHCCR01.corp.ad.broadcom.com> References: <200802220046.m1M0kMPM008814@repoman.freebsd.org> <5D267A3F22FD854F8F48B3D2B523819324EF633FCC@IRVEXCHCCR01.corp.ad.broadcom.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes acceptlanguage: en-US MIME-Version: 1.0 X-OriginalArrivalTime: 09 Apr 2008 20:16:22.0050 (UTC) FILETIME=[940D1020:01C89A7E] X-WSS-ID: 6BE3FB963M83289692-03-01 Content-Type: multipart/mixed; boundary=_003_5D267A3F22FD854F8F48B3D2B523819324EF6DEE3BIRVEXCHCCR01c_ Cc: "cvs-src@freebsd.org" , "src-committers@freebsd.org" , "cvs-all@freebsd.org" Subject: RE: cvs commit: src/sys/dev/bce if_bce.c if_bcefw.h if_bcereg.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Apr 2008 20:17:02 -0000 --_003_5D267A3F22FD854F8F48B3D2B523819324EF6DEE3BIRVEXCHCCR01c_ Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable > On 8.0/i386, with PAE enabled, I get messages on the console and the > system hangs when trying to do a nfs mount. Backing out the driver > fixes it. The same driver doesn't cause quite as spectacular a > failure on 8.0/amd64, but it isn't exactly happy.. > > Additional IP options:.^M > Mounting NFS file systebcms:e1: link state changed to UP^M > bce1: discard frame w/o leading ethernet header (len 0 pkt len 0)^M > bce1: discard frame w/o leading ethernet header (len 0 pkt len 0)^M > bce1: discard frame w/o leading ethernet header (len 0 pkt len 0)^M > bce1: discard frame w/o leading ethernet header (len 0 pkt len 0)^M > [..forever..] > > NFS over UDP, fwiw. Server is a netapp. I may have found the performance problem. It looks like an issue with handling the producer/consumer indices for the send ring that would cause outgoing frames to just sit there until a received frame came in and kickstarted the interrupt handler. This is consistent with your observation that enabling promiscuous mode seemed to make things better, there's more received traffic. I found that pinging the SUT from another system has the same effect. Can you try the attached patch to head and let me know? I tested on RELENG_7 and I haven't seen the discard errors yet. Dave --_003_5D267A3F22FD854F8F48B3D2B523819324EF6DEE3BIRVEXCHCCR01c_ Content-Type: application/octet-stream; name=if_bcereg.patch Content-Description: if_bcereg.patch Content-Disposition: attachment; filename=if_bcereg.patch; size=890; creation-date="Wed, 09 Apr 2008 13:12:06 GMT"; modification-date="Wed, 09 Apr 2008 13:12:06 GMT" Content-Transfer-Encoding: base64 LS0tIGlmX2JjZXJlZy5oLmhlYWQJMjAwOC0wNC0wMyAxMzo1ODoxOS4wMDAwMDAwMDAgLTA3MDAK KysrIGlmX2JjZXJlZy5oCTIwMDgtMDQtMDkgMTM6MDk6MDQuMDAwMDAwMDAwIC0wNzAwCkBAIC0x MzIsNiArMTMyLDkgQEAKIAkiXDAyYjEiCQkJCQlcCiAJIlwwMWIwIgogCisvKiBEUkMgLSBTdGFy dCAqLworLyogI2RlZmluZSBCQ0VfREVCVUcgMSAqLworLyogRFJDIC0gRW5kICovCiAvKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKi8KIC8qIERlYnVnZ2luZyBtYWNyb3MgYW5kIGRlZmluaXRpb25zLiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KiovCkBAIC01MTM0LDYgKzUxMzcsOCBAQCBzdHJ1Y3QgYmNlX3NvZnRjCiAJLyogVFggRE1BIG1h cHBpbmcgZmFpbHVyZSBjb3VudGVyLiAqLwogCXUzMiB0eF9kbWFfbWFwX2ZhaWx1cmVzOwogCisJ dTY0IHJ4X2ludHJfdGltZTsKKwogI2lmZGVmIEJDRV9ERUJVRwogCS8qIFRyYWNrIHRoZSBudW1i ZXIgb2YgZW5xdWV1ZWQgbWJ1ZnMuICovCiAJaW50CWRlYnVnX3R4X21idWZfYWxsb2M7CkBAIC01 MTQ3LDcgKzUxNTIsNiBAQCBzdHJ1Y3QgYmNlX3NvZnRjCiAJdTMyIHR4X2ludGVycnVwdHM7CiAK IAkvKiBUcmFjayBpbnRlcnJ1cHQgdGltZSAoMjVNSHogY2xvY2spLiAqLwotCXU2NCByeF9pbnRy X3RpbWU7CiAJdTY0IHR4X2ludHJfdGltZTsKIAogCXUzMglyeF9sb3dfd2F0ZXJtYXJrOwkJCS8q IExvd2VzdCBudW1iZXIgb2YgcnhfYmQncyBmcmVlLiAqLwo= --_003_5D267A3F22FD854F8F48B3D2B523819324EF6DEE3BIRVEXCHCCR01c_ Content-Type: application/octet-stream; name=if_bce.patch Content-Description: if_bce.patch Content-Disposition: attachment; filename=if_bce.patch; size=13993; creation-date="Wed, 09 Apr 2008 13:11:10 GMT"; modification-date="Wed, 09 Apr 2008 13:11:10 GMT" Content-Transfer-Encoding: base64 LS0tIGlmX2JjZS5jLmhlYWQJMjAwOC0wNC0wMyAxMzo1ODoxOS4wMDAwMDAwMDAgLTA3MDAKKysr IGlmX2JjZS5jCTIwMDgtMDQtMDkgMTA6Mzk6NDcuMDAwMDAwMDAwIC0wNzAwCkBAIC01NCw3ICs1 NCw3IEBAIF9fRkJTRElEKCIkRnJlZUJTRDogc3JjL3N5cy9kZXYvYmNlL2lmX2IKIC8qIEJDRSBE ZWJ1ZyBPcHRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZkZWYgQkNFX0RFQlVHCi0J dTMyIGJjZV9kZWJ1ZyA9IEJDRV9XQVJOOworCXUzMiBiY2VfZGVidWcgPSBCQ0VfV0FSTl9TRU5E IHwgQkNFX1dBUk5fUkVDVjsKIAogCS8qICAgICAgICAgIDAgPSBOZXZlciAgICAgICAgICAgICAg Ki8KIAkvKiAgICAgICAgICAxID0gMSBpbiAyLDE0Nyw0ODMsNjQ4ICovCkBAIC00MzkyLDcgKzQz OTIsNyBAQCBiY2VfZnJlZV9wZ19jaGFpbihzdHJ1Y3QgYmNlX3NvZnRjICpzYykKIHsKIAlpbnQg aTsKIAotCURCUFJJTlQoc2MsIEJDRV9WRVJCT1NFX1JFU0VULCAiRW50ZXJpbmcgJXMoKVxuIiwg X19GVU5DVElPTl9fKTsKKwlEQlBSSU5UKHNjLCBCQ0VfRVhDRVNTSVZFX1JFU0VULCAiRW50ZXJp bmcgJXMoKVxuIiwgX19GVU5DVElPTl9fKTsKIAogCS8qIEZyZWUgYW55IG1idWZzIHN0aWxsIGlu IHRoZSBtYnVmIHBhZ2UgY2hhaW4uICovCiAJZm9yIChpID0gMDsgaSA8IFRPVEFMX1BHX0JEOyBp KyspIHsKQEAgLTQ0MTcsNyArNDQxNyw3IEBAIGJjZV9mcmVlX3BnX2NoYWluKHN0cnVjdCBiY2Vf c29mdGMgKnNjKQogCQlCQ0VfUFJJTlRGKCIlcygpOiBNZW1vcnkgbGVhayEgTG9zdCAlZCBtYnVm cyBmcm9tIHBhZ2UgY2hhaW4hXG4iLAogCQkJX19GVU5DVElPTl9fLCBzYy0+ZGVidWdfcGdfbWJ1 Zl9hbGxvYykpOwogCi0JREJQUklOVChzYywgQkNFX1ZFUkJPU0VfUkVTRVQsICJFeGl0aW5nICVz KClcbiIsIF9fRlVOQ1RJT05fXyk7CisJREJQUklOVChzYywgQkNFX0VYQ0VTU0lWRV9SRVNFVCwg IkV4aXRpbmcgJXMoKVxuIiwgX19GVU5DVElPTl9fKTsKIH0KIAogCkBAIC00NTYxLDYgKzQ1NjEs NyBAQCBiY2VfZ2V0X2h3X3J4X2NvbnMoc3RydWN0IGJjZV9zb2Z0YyAqc2MpCiAJcmV0dXJuIGh3 X2NvbnM7CiB9CiAKKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAvKiBIYW5kbGVzIHJlY2VpdmVk IGZyYW1lIGludGVycnVwdCBldmVudHMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ki8KIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqLwpAQCAtNDU3Niw5ICs0NTc3LDEwIEBAIGJjZV9yeF9p bnRyKHN0cnVjdCBiY2Vfc29mdGMgKnNjKQogCXUxNiBzd19yeF9jb25zLCBzd19yeF9jb25zX2lk eCwgc3dfcGdfY29ucywgc3dfcGdfY29uc19pZHgsIGh3X3J4X2NvbnM7CiAJdTMyIHN0YXR1czsK IAorCXUzMiB0aW1lcl9zdGFydCwgdGltZXJfZW5kOworCXRpbWVyX3N0YXJ0ID0gUkVHX1JEKHNj LCBCQ0VfVElNRVJfMjVNSFpfRlJFRV9SVU4pOworCiAjaWZkZWYgQkNFX0RFQlVHCi0JdTMyIHJ4 X2ludHJfc3RhcnQsIHJ4X2ludHJfZW5kOwotCXJ4X2ludHJfc3RhcnQgPSBSRUdfUkQoc2MsIEJD RV9USU1FUl8yNU1IWl9GUkVFX1JVTik7CiAJc2MtPnJ4X2ludGVycnVwdHMrKzsKICNlbmRpZgog CkBAIC00NTk5LDYgKzQ2MDEsMTAgQEAgYmNlX3J4X2ludHIoc3RydWN0IGJjZV9zb2Z0YyAqc2Mp CiAJc3dfcnhfY29ucyA9IHNjLT5yeF9jb25zOwogCXN3X3BnX2NvbnMgPSBzYy0+cGdfY29uczsK IAorCURCUFJJTlQoc2MsIEJDRV9JTkZPX1JFQ1YsICIlcyhlbnRlcik6IHJ4X3Byb2QgPSAweCUw NFgsICIKKwkJInJ4X2NvbnMgPSAweCUwNFgsIHJ4X3Byb2RfYnNlcSA9IDB4JTA4WFxuIiwKKwkJ X19GVU5DVElPTl9fLCBzYy0+cnhfcHJvZCwgc2MtPnJ4X2NvbnMsIHNjLT5yeF9wcm9kX2JzZXEp OworCiAJLyogVXBkYXRlIHNvbWUgZGVidWcgc3RhdGlzdGljcyBjb3VudGVycyAqLwogCURCUlVO SUYoKHNjLT5mcmVlX3J4X2JkIDwgc2MtPnJ4X2xvd193YXRlcm1hcmspLAogCQlzYy0+cnhfbG93 X3dhdGVybWFyayA9IHNjLT5mcmVlX3J4X2JkKTsKQEAgLTQ2MDgsNyArNDYxNCw3IEBAIGJjZV9y eF9pbnRyKHN0cnVjdCBiY2Vfc29mdGMgKnNjKQogCS8qIFRvRG86IENvbnNpZGVyIHNldHRpbmcg YSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIHBhY2tldHMgcHJvY2Vzc2VkLiAqLwogCXdoaWxlIChz d19yeF9jb25zICE9IGh3X3J4X2NvbnMpIHsKIAkJc3RydWN0IG1idWYgKm0wOwotCisJCQogCQkv KiBDb252ZXJ0IHRoZSBwcm9kdWNlci9jb25zdW1lciBpbmRpY2VzIHRvIGFuIGFjdHVhbCByeF9i ZCBpbmRleC4gKi8KIAkJc3dfcnhfY29uc19pZHggPSBSWF9DSEFJTl9JRFgoc3dfcnhfY29ucyk7 CiAKQEAgLTQ2ODEsNiArNDY4NywxMCBAQCBiY2VfcnhfaW50cihzdHJ1Y3QgYmNlX3NvZnRjICpz YykKIAkJCSAqIGlzIGZpbGxlZCBhbmQgdGhlIHJlbWFpbmluZyBieXRlcyBhcmUgcGxhY2VkIAog CQkJICogaW4gdGhlIHBhZ2UgY2hhaW4uCiAJCQkgKi8KKworCQkJREJQUklOVChzYywgQkNFX0lO Rk9fUkVDViwgIiVzKCk6IEZvdW5kIGEgbGFyZ2UgcGFja2V0LlxuIiwKKwkJCQlfX0ZVTkNUSU9O X18pOworCiAJCSAJaWYgKHN0YXR1cyAmIEwyX0ZIRFJfU1RBVFVTX1NQTElUKQogCQkJCW0wLT5t X2xlbiA9IGwyZmhkci0+bDJfZmhkcl9pcF94c3VtOwogCkBAIC00NzM2LDYgKzQ3NDYsOSBAQCBi Y2VfcnhfaW50cihzdHJ1Y3QgYmNlX3NvZnRjICpzYykKIAkJCSAqIDE1NCBieXRlcyBvciBsZXNz IGluIHNpemUuCiAJCQkgKi8KIAorCQkJREJQUklOVChzYywgQkNFX0lORk9fUkVDViwgIiVzKCk6 IEZvdW5kIGEgc21hbGwgcGFja2V0LlxuIiwKKwkJCQlfX0ZVTkNUSU9OX18pOworCiAJCQkvKiBT ZXQgdGhlIHRvdGFsIHBhY2tldCBsZW5ndGguICovCiAJCQltMC0+bV9wa3RoZHIubGVuID0gbTAt Pm1fbGVuID0gcGt0X2xlbjsKIAkJfQpAQCAtNDc0Niw2ICs0NzU5LDEyIEBAIGJjZV9yeF9pbnRy KHN0cnVjdCBiY2Vfc29mdGMgKnNjKQogCQkvKiBDaGVjayB0aGF0IHRoZSByZXN1bHRpbmcgbWJ1 ZiBjaGFpbiBpcyB2YWxpZC4gKi8KIAkJREJSVU4obV9zYW5pdHkobTAsIEZBTFNFKSk7CiAKKwkJ REJSVU5JRigobTAtPm1fbGVuIDwgRVRIRVJfSERSX0xFTiksCisJCQlCQ0VfUFJJTlRGKCIlcygp OiBVbmV4cGVjdGVkIGxlbmd0aCA9ICVkIS5cbiIsIAorCQkJCV9fRlVOQ1RJT05fXywgbTAtPm1f bGVuKTsKKwkJCWJjZV9icmVha3BvaW50KHNjKSk7CisKKwkJCQogCQlEQlJVTklGKERCX1JBTkRP TVRSVUUoYmNlX2RlYnVnX2wyZmhkcl9zdGF0dXNfY2hlY2spLAogCQkJQkNFX1BSSU5URigiU2lt dWxhdGluZyBsMl9maGRyIHN0YXR1cyBlcnJvci5cbiIpOwogCQkJc3RhdHVzID0gc3RhdHVzIHwg TDJfRkhEUl9FUlJPUlNfUEhZX0RFQ09ERSk7CkBAIC00ODU2LDggKzQ4NzUsMjggQEAgYmNlX3J4 X2ludF9uZXh0X3J4OgogCQkicnhfY29ucyA9IDB4JTA0WCwgcnhfcHJvZF9ic2VxID0gMHglMDhY XG4iLAogCQlfX0ZVTkNUSU9OX18sIHNjLT5yeF9wcm9kLCBzYy0+cnhfY29ucywgc2MtPnJ4X3By b2RfYnNlcSk7CiAKLQlEQlJVTihyeF9pbnRyX2VuZCA9IFJFR19SRChzYywgQkNFX1RJTUVSXzI1 TUhaX0ZSRUVfUlVOKTsKLQkJc2MtPnJ4X2ludHJfdGltZSArPSAodTY0KSBCQ0VfVElNRV9ERUxU QShyeF9pbnRyX3N0YXJ0LCByeF9pbnRyX2VuZCkpOworCXRpbWVyX2VuZCA9IFJFR19SRChzYywg QkNFX1RJTUVSXzI1TUhaX0ZSRUVfUlVOKTsKKwlzYy0+cnhfaW50cl90aW1lICs9ICh1NjQpICh0 aW1lcl9zdGFydCA+IHRpbWVyX2VuZCA/IAorCQkodGltZXJfc3RhcnQgLSB0aW1lcl9lbmQpIDog KH50aW1lcl9zdGFydCArIHRpbWVyX2VuZCArIDEpKTsKK30KKworCisvKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKi8KKy8qIFJlYWRzIHRoZSByZWNlaXZlIGNvbnN1bWVyIHZhbHVlIGZyb20gdGhlIHN0YXR1 cyBibG9jayAoc2tpcHBpbmcgb3ZlciAgICAqLworLyogY2hhaW4gcGFnZSBwb2ludGVyIGlmIG5l Y2Vzc2FyeSkuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKi8KKy8qIFJldHVybnM6ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICBod19jb25zICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBpbmxpbmUgdTE2CitiY2VfZ2V0 X2h3X3R4X2NvbnMoc3RydWN0IGJjZV9zb2Z0YyAqc2MpCit7CisJdTE2IGh3X2NvbnMgPSBzYy0+ c3RhdHVzX2Jsb2NrLT5zdGF0dXNfdHhfcXVpY2tfY29uc3VtZXJfaW5kZXgwOworCisJaWYgKCho d19jb25zICYgVVNBQkxFX1RYX0JEX1BFUl9QQUdFKSA9PSBVU0FCTEVfVFhfQkRfUEVSX1BBR0Up CisJCWh3X2NvbnMrKzsKKworCXJldHVybiBod19jb25zOwogfQogCiAKQEAgLTQ4NzAsNyArNDkw OSw2IEBAIGJjZV9yeF9pbnRfbmV4dF9yeDoKIHN0YXRpYyB2b2lkCiBiY2VfdHhfaW50cihzdHJ1 Y3QgYmNlX3NvZnRjICpzYykKIHsKLQlzdHJ1Y3Qgc3RhdHVzX2Jsb2NrICpzYmxrID0gc2MtPnN0 YXR1c19ibG9jazsKIAlzdHJ1Y3QgaWZuZXQgKmlmcCA9IHNjLT5iY2VfaWZwOwogCXUxNiBod190 eF9jb25zLCBzd190eF9jb25zLCBzd190eF9jaGFpbl9jb25zOwogCkBAIC00ODgzLDEyICs0OTIx LDcgQEAgYmNlX3R4X2ludHIoc3RydWN0IGJjZV9zb2Z0YyAqc2MpCiAJQkNFX0xPQ0tfQVNTRVJU KHNjKTsKIAogCS8qIEdldCB0aGUgaGFyZHdhcmUncyB2aWV3IG9mIHRoZSBUWCBjb25zdW1lciBp bmRleC4gKi8KLQlod190eF9jb25zID0gc2MtPmh3X3R4X2NvbnMgPSBzYmxrLT5zdGF0dXNfdHhf cXVpY2tfY29uc3VtZXJfaW5kZXgwOwotCi0JLyogU2tpcCB0byB0aGUgbmV4dCBlbnRyeSBpZiB0 aGlzIGlzIGEgY2hhaW4gcGFnZSBwb2ludGVyLiAqLwotCWlmICgoaHdfdHhfY29ucyAmIFVTQUJM RV9UWF9CRF9QRVJfUEFHRSkgPT0gVVNBQkxFX1RYX0JEX1BFUl9QQUdFKQotCQlod190eF9jb25z Kys7Ci0KKwlod190eF9jb25zID0gc2MtPmh3X3R4X2NvbnMgPSBiY2VfZ2V0X2h3X3R4X2NvbnMo c2MpOwogCXN3X3R4X2NvbnMgPSBzYy0+dHhfY29uczsKIAogCS8qIFByZXZlbnQgc3BlY3VsYXRp dmUgcmVhZHMgZnJvbSBnZXR0aW5nIGFoZWFkIG9mIHRoZSBzdGF0dXMgYmxvY2suICovCkBAIC00 OTU3LDkgKzQ5OTAsNyBAQCBiY2VfdHhfaW50cihzdHJ1Y3QgYmNlX3NvZnRjICpzYykKIAkJc3df dHhfY29ucyA9IE5FWFRfVFhfQkQoc3dfdHhfY29ucyk7CiAKIAkJLyogUmVmcmVzaCBod19jb25z IHRvIHNlZSBpZiB0aGVyZSdzIG5ldyB3b3JrLiAqLwotCQlod190eF9jb25zID0gc2MtPmh3X3R4 X2NvbnMgPSBzYmxrLT5zdGF0dXNfdHhfcXVpY2tfY29uc3VtZXJfaW5kZXgwOwotCQlpZiAoKGh3 X3R4X2NvbnMgJiBVU0FCTEVfVFhfQkRfUEVSX1BBR0UpID09IFVTQUJMRV9UWF9CRF9QRVJfUEFH RSkKLQkJCWh3X3R4X2NvbnMrKzsKKwkJaHdfdHhfY29ucyA9IHNjLT5od190eF9jb25zID0gYmNl X2dldF9od190eF9jb25zKHNjKTsKIAogCQkvKiBQcmV2ZW50IHNwZWN1bGF0aXZlIHJlYWRzIGZy b20gZ2V0dGluZyBhaGVhZCBvZiB0aGUgc3RhdHVzIGJsb2NrLiAqLwogCQlidXNfc3BhY2VfYmFy cmllcihzYy0+YmNlX2J0YWcsIHNjLT5iY2VfYmhhbmRsZSwgMCwgMCwgCkBAIC01MzY2LDcgKzUz OTcsNyBAQCBiY2VfdHhfZW5jYXBfc2tpcF90c286CiAjZW5kaWYKIAogCURCUFJJTlQoc2MsIEJD RV9JTkZPX1NFTkQsCi0JCSIlcygpOiBTdGFydDogcHJvZCA9IDB4JTA0WCwgY2hhaW5fcHJvZCA9 ICUwNFgsICIKKwkJIiVzKHN0YXJ0KTogcHJvZCA9IDB4JTA0WCwgY2hhaW5fcHJvZCA9IDB4JTA0 WCwgIgogCQkicHJvZF9ic2VxID0gMHglMDhYXG4iLAogCQlfX0ZVTkNUSU9OX18sIHByb2QsIGNo YWluX3Byb2QsIHByb2RfYnNlcSk7CiAKQEAgLTUzOTgsNyArNTQyOSw3IEBAIGJjZV90eF9lbmNh cF9za2lwX3RzbzoKIAlEQlJVTk1TRyhCQ0VfRVhDRVNTSVZFX1NFTkQsIGJjZV9kdW1wX3R4X2No YWluKHNjLCBkZWJ1Z19wcm9kLCBuc2VncykpOwogCiAJREJQUklOVChzYywgQkNFX0lORk9fU0VO RCwKLQkJIiVzKCk6IEVuZDogcHJvZCA9IDB4JTA0WCwgY2hhaW5fcHJvZCA9ICUwNFgsICIKKwkJ IiVzKCBlbmQgKTogcHJvZCA9IDB4JTA0WCwgY2hhaW5fcHJvZCA9IDB4JTA0WCwgIgogCQkicHJv ZF9ic2VxID0gMHglMDhYXG4iLAogCQlfX0ZVTkNUSU9OX18sIHByb2QsIGNoYWluX3Byb2QsIHBy b2RfYnNlcSk7CiAKQEAgLTU0NDQsMjIgKzU0NzUsMjggQEAgYmNlX3N0YXJ0X2xvY2tlZChzdHJ1 Y3QgaWZuZXQgKmlmcCkKIAlpbnQgY291bnQgPSAwOwogCXUxNiB0eF9wcm9kLCB0eF9jaGFpbl9w cm9kOwogCi0JLyogSWYgdGhlcmUncyBubyBsaW5rIG9yIHRoZSB0cmFuc21pdCBxdWV1ZSBpcyBl bXB0eSB0aGVuIGp1c3QgZXhpdC4gKi8KLQlpZiAoIXNjLT5iY2VfbGluayB8fCBJRlFfRFJWX0lT X0VNUFRZKCZpZnAtPmlmX3NuZCkpIHsKLQkJREJQUklOVChzYywgQkNFX0lORk9fU0VORCwgIiVz KCk6IE5vIGxpbmsgb3IgdHJhbnNtaXQgcXVldWUgZW1wdHkuXG4iLCAKLQkJCV9fRlVOQ1RJT05f Xyk7Ci0JCWdvdG8gYmNlX3N0YXJ0X2xvY2tlZF9leGl0OwotCX0KLQogCS8qIHByb2QgcG9pbnRz IHRvIHRoZSBuZXh0IGZyZWUgdHhfYmQuICovCiAJdHhfcHJvZCA9IHNjLT50eF9wcm9kOwogCXR4 X2NoYWluX3Byb2QgPSBUWF9DSEFJTl9JRFgodHhfcHJvZCk7CiAKIAlEQlBSSU5UKHNjLCBCQ0Vf SU5GT19TRU5ELAotCQkiJXMoKTogU3RhcnQ6IHR4X3Byb2QgPSAweCUwNFgsIHR4X2NoYWluX3By b2QgPSAlMDRYLCAiCisJCSIlcyhlbnRlcik6IHR4X3Byb2QgPSAweCUwNFgsIHR4X2NoYWluX3By b2QgPSAweCUwNFgsICIKIAkJInR4X3Byb2RfYnNlcSA9IDB4JTA4WFxuIiwKIAkJX19GVU5DVElP Tl9fLCB0eF9wcm9kLCB0eF9jaGFpbl9wcm9kLCBzYy0+dHhfcHJvZF9ic2VxKTsKIAorCS8qIElm IHRoZXJlJ3Mgbm8gbGluayBvciB0aGUgdHJhbnNtaXQgcXVldWUgaXMgZW1wdHkgdGhlbiBqdXN0 IGV4aXQuICovCisJaWYgKCFzYy0+YmNlX2xpbmspIHsKKwkJREJQUklOVChzYywgQkNFX0lORk9f U0VORCwgIiVzKCk6IE5vIGxpbmsuXG4iLCAKKwkJCV9fRlVOQ1RJT05fXyk7CisJCWdvdG8gYmNl X3N0YXJ0X2xvY2tlZF9leGl0OworCX0KKworCWlmIChJRlFfRFJWX0lTX0VNUFRZKCZpZnAtPmlm X3NuZCkpIHsKKwkJREJQUklOVChzYywgQkNFX0lORk9fU0VORCwgIiVzKCk6IFRyYW5zbWl0IHF1 ZXVlIGVtcHR5LlxuIiwgCisJCQlfX0ZVTkNUSU9OX18pOworCQlnb3RvIGJjZV9zdGFydF9sb2Nr ZWRfZXhpdDsKKwl9CisKIAkvKgogCSAqIEtlZXAgYWRkaW5nIGVudHJpZXMgd2hpbGUgdGhlcmUg aXMgc3BhY2UgaW4gdGhlIHJpbmcuCiAJICovCkBAIC01NTAyLDExICs1NTM5LDYgQEAgYmNlX3N0 YXJ0X2xvY2tlZChzdHJ1Y3QgaWZuZXQgKmlmcCkKIAkvKiBVcGRhdGUgdGhlIGRyaXZlcidzIGNv dW50ZXJzLiAqLwogCXR4X2NoYWluX3Byb2QgPSBUWF9DSEFJTl9JRFgoc2MtPnR4X3Byb2QpOwog Ci0JREJQUklOVChzYywgQkNFX0lORk9fU0VORCwKLQkJIiVzKCk6IEVuZDogdHhfcHJvZCA9IDB4 JTA0WCwgdHhfY2hhaW5fcHJvZCA9IDB4JTA0WCwgIgotCQkidHhfcHJvZF9ic2VxID0gMHglMDhY XG4iLAotCQlfX0ZVTkNUSU9OX18sIHR4X3Byb2QsIHR4X2NoYWluX3Byb2QsIHNjLT50eF9wcm9k X2JzZXEpOwotCiAJLyogU3RhcnQgdGhlIHRyYW5zbWl0LiAqLwogCVJFR19XUjE2KHNjLCBNQl9U WF9DSURfQUREUiArIEJDRV9MMkNUWF9UWF9IT1NUX0JJRFgsIHNjLT50eF9wcm9kKTsKIAlSRUdf V1Ioc2MsIE1CX1RYX0NJRF9BRERSICsgQkNFX0wyQ1RYX1RYX0hPU1RfQlNFUSwgc2MtPnR4X3By b2RfYnNlcSk7CkBAIC01NTE1LDYgKzU1NDcsMTEgQEAgYmNlX3N0YXJ0X2xvY2tlZChzdHJ1Y3Qg aWZuZXQgKmlmcCkKIAlzYy0+d2F0Y2hkb2dfdGltZXIgPSBCQ0VfVFhfVElNRU9VVDsKIAogYmNl X3N0YXJ0X2xvY2tlZF9leGl0OgorCURCUFJJTlQoc2MsIEJDRV9JTkZPX1NFTkQsCisJCSIlcyhl eGl0ICk6IHR4X3Byb2QgPSAweCUwNFgsIHR4X2NoYWluX3Byb2QgPSAweCUwNFgsICIKKwkJInR4 X3Byb2RfYnNlcSA9IDB4JTA4WFxuIiwKKwkJX19GVU5DVElPTl9fLCB0eF9wcm9kLCB0eF9jaGFp bl9wcm9kLCBzYy0+dHhfcHJvZF9ic2VxKTsKKwogCXJldHVybjsKIH0KIApAQCAtNTc3Niw2OCAr NTgxMyw2IEBAIGJjZV93YXRjaGRvZyhzdHJ1Y3QgYmNlX3NvZnRjICpzYykKIH0KIAogCi0jaWZk ZWYgREVWSUNFX1BPTExJTkcKLXN0YXRpYyB2b2lkCi1iY2VfcG9sbF9sb2NrZWQoc3RydWN0IGlm bmV0ICppZnAsIGVudW0gcG9sbF9jbWQgY21kLCBpbnQgY291bnQpCi17Ci0Jc3RydWN0IGJjZV9z b2Z0YyAqc2MgPSBpZnAtPmlmX3NvZnRjOwotCi0JQkNFX0xPQ0tfQVNTRVJUKHNjKTsKLQotCXNj LT5iY2VfcnhjeWNsZXMgPSBjb3VudDsKLQotCWJ1c19kbWFtYXBfc3luYyhzYy0+c3RhdHVzX3Rh Zywgc2MtPnN0YXR1c19tYXAsCi0JICAgIEJVU19ETUFTWU5DX1BPU1RXUklURSk7Ci0KLQkvKiBD aGVjayBmb3IgYW55IGNvbXBsZXRlZCBSWCBmcmFtZXMuICovCi0JaWYgKHNjLT5zdGF0dXNfYmxv Y2stPnN0YXR1c19yeF9xdWlja19jb25zdW1lcl9pbmRleDAgIT0gCi0JCXNjLT5od19yeF9jb25z KQotCQliY2VfcnhfaW50cihzYyk7Ci0KLQkvKiBDaGVjayBmb3IgYW55IGNvbXBsZXRlZCBUWCBm cmFtZXMuICovCi0JaWYgKHNjLT5zdGF0dXNfYmxvY2stPnN0YXR1c190eF9xdWlja19jb25zdW1l cl9pbmRleDAgIT0gCi0JCXNjLT5od190eF9jb25zKQotCQliY2VfdHhfaW50cihzYyk7Ci0KLQkv KiBDaGVjayBmb3IgbmV3IGZyYW1lcyB0byB0cmFuc21pdC4gKi8KLQlpZiAoIUlGUV9EUlZfSVNf RU1QVFkoJmlmcC0+aWZfc25kKSkKLQkJYmNlX3N0YXJ0X2xvY2tlZChpZnApOwotCi19Ci0KLQot c3RhdGljIHZvaWQKLWJjZV9wb2xsKHN0cnVjdCBpZm5ldCAqaWZwLCBlbnVtIHBvbGxfY21kIGNt ZCwgaW50IGNvdW50KQotewotCXN0cnVjdCBiY2Vfc29mdGMgKnNjID0gaWZwLT5pZl9zb2Z0YzsK LQotCUJDRV9MT0NLKHNjKTsKLQlpZiAoaWZwLT5pZl9kcnZfZmxhZ3MgJiBJRkZfRFJWX1JVTk5J TkcpCi0JCWJjZV9wb2xsX2xvY2tlZChpZnAsIGNtZCwgY291bnQpOwotCUJDRV9VTkxPQ0soc2Mp OwotfQotI2VuZGlmIC8qIERFVklDRV9QT0xMSU5HICovCi0KLQotI2lmIDAKLXN0YXRpYyBpbmxp bmUgaW50Ci1iY2VfaGFzX3dvcmsoc3RydWN0IGJjZV9zb2Z0YyAqc2MpCi17Ci0Jc3RydWN0IHN0 YXR1c19ibG9jayAqc3RhdCA9IHNjLT5zdGF0dXNfYmxvY2s7Ci0KLQlpZiAoKHN0YXQtPnN0YXR1 c19yeF9xdWlja19jb25zdW1lcl9pbmRleDAgIT0gc2MtPmh3X3J4X2NvbnMpIHx8Ci0JICAgIChz dGF0LT5zdGF0dXNfdHhfcXVpY2tfY29uc3VtZXJfaW5kZXgwICE9IHNjLT5od190eF9jb25zKSkK LQkJcmV0dXJuIDE7Ci0KLQlpZiAoKChzdGF0LT5zdGF0dXNfYXR0bl9iaXRzICYgU1RBVFVTX0FU VE5fQklUU19MSU5LX1NUQVRFKSAhPSAwKSAhPQotCSAgICBicC0+bGlua191cCkKLQkJcmV0dXJu IDE7Ci0KLQlyZXR1cm4gMDsKLX0KLSNlbmRpZgotCi0KIC8qCiAgKiBJbnRlcnJ1cHQgaGFuZGxl ci4KICAqLwpAQCAtNTg1NSw2ICs1ODMwLDcgQEAgYmNlX2ludHIodm9pZCAqeHNjKQogCXN0cnVj dCBiY2Vfc29mdGMgKnNjOwogCXN0cnVjdCBpZm5ldCAqaWZwOwogCXUzMiBzdGF0dXNfYXR0bl9i aXRzOworCXUxNiBod19yeF9jb25zLCBod190eF9jb25zOwogCiAJc2MgPSB4c2M7CiAJaWZwID0g c2MtPmJjZV9pZnA7CkBAIC01ODY0LDEzICs1ODQwLDYgQEAgYmNlX2ludHIodm9pZCAqeHNjKQog CiAJREJSVU4oc2MtPmludGVycnVwdHNfZ2VuZXJhdGVkKyspOwogCi0jaWZkZWYgREVWSUNFX1BP TExJTkcKLQlpZiAoaWZwLT5pZl9jYXBlbmFibGUgJiBJRkNBUF9QT0xMSU5HKSB7Ci0JCURCUFJJ TlQoc2MsIEJDRV9JTkZPX01JU0MsICJQb2xsaW5nIGVuYWJsZWQhXG4iKTsKLQkJZ290byBiY2Vf aW50cl9leGl0OwotCX0KLSNlbmRpZgotCiAJYnVzX2RtYW1hcF9zeW5jKHNjLT5zdGF0dXNfdGFn LCBzYy0+c3RhdHVzX21hcCwKIAkgICAgQlVTX0RNQVNZTkNfUE9TVFdSSVRFKTsKIApAQCAtNTg4 OSw2ICs1ODU4LDkgQEAgYmNlX2ludHIodm9pZCAqeHNjKQogCQlCQ0VfUENJQ0ZHX0lOVF9BQ0tf Q01EX1VTRV9JTlRfSENfUEFSQU0gfAogCQlCQ0VfUENJQ0ZHX0lOVF9BQ0tfQ01EX01BU0tfSU5U KTsKIAorCWh3X3J4X2NvbnMgPSBiY2VfZ2V0X2h3X3J4X2NvbnMoc2MpOworCWh3X3R4X2NvbnMg PSBiY2VfZ2V0X2h3X3R4X2NvbnMoc2MpOworCiAJLyogS2VlcCBwcm9jZXNzaW5nIGRhdGEgYXMg bG9uZyBhcyB0aGVyZSBpcyB3b3JrIHRvIGRvLiAqLwogCWZvciAoOzspIHsKIApAQCAtNTkyMiwx MiArNTg5NCwyMiBAQCBiY2VfaW50cih2b2lkICp4c2MpCiAJCX0KIAogCQkvKiBDaGVjayBmb3Ig YW55IGNvbXBsZXRlZCBSWCBmcmFtZXMuICovCi0JCWlmIChzYy0+c3RhdHVzX2Jsb2NrLT5zdGF0 dXNfcnhfcXVpY2tfY29uc3VtZXJfaW5kZXgwICE9IHNjLT5od19yeF9jb25zKQorCQlpZiAoaHdf cnhfY29ucyAhPSBzYy0+aHdfcnhfY29ucykgeworCQkJREJQUklOVChzYywgQkNFX0lORk9fUkVD ViwgIiVzKCk6IGh3X3J4X2NvbnMgPSAweCUwNFgsICIKKwkJCQkic2MtPmh3X3J4X2NvbnMgPSAw eCUwNFhcbiIsIF9fRlVOQ1RJT05fXywgCisJCQkJaHdfcnhfY29ucywgc2MtPmh3X3J4X2NvbnMp OworCiAJCQliY2VfcnhfaW50cihzYyk7CisJCX0KIAogCQkvKiBDaGVjayBmb3IgYW55IGNvbXBs ZXRlZCBUWCBmcmFtZXMuICovCi0JCWlmIChzYy0+c3RhdHVzX2Jsb2NrLT5zdGF0dXNfdHhfcXVp Y2tfY29uc3VtZXJfaW5kZXgwICE9IHNjLT5od190eF9jb25zKQorCQlpZiAoaHdfdHhfY29ucyAh PSBzYy0+aHdfdHhfY29ucykgeworCQkJREJQUklOVChzYywgQkNFX0lORk9fU0VORCwgIiVzKCk6 IGh3X3R4X2NvbnMgPSAweCUwNFgsICIKKwkJCQkic2MtPmh3X3R4X2NvbnMgPSAweCUwNFhcbiIs IF9fRlVOQ1RJT05fXywgCisJCQkJaHdfdHhfY29ucywgc2MtPmh3X3R4X2NvbnMpOworCiAJCQli Y2VfdHhfaW50cihzYyk7CisJCX0KIAogCQkvKiBTYXZlIHRoZSBzdGF0dXMgYmxvY2sgaW5kZXgg dmFsdWUgZm9yIHVzZSBkdXJpbmcgdGhlIG5leHQgaW50ZXJydXB0LiAqLwogCQlzYy0+bGFzdF9z dGF0dXNfaWR4ID0gc2MtPnN0YXR1c19ibG9jay0+c3RhdHVzX2lkeDsKQEAgLTU5MzcsOCArNTkx OSwxMCBAQCBiY2VfaW50cih2b2lkICp4c2MpCiAJCQlCVVNfU1BBQ0VfQkFSUklFUl9SRUFEKTsK IAogCQkvKiBJZiB0aGVyZSdzIG5vIHdvcmsgbGVmdCB0aGVuIGV4aXQgdGhlIGludGVycnVwdCBz ZXJ2aWNlIHJvdXRpbmUuICovCi0JCWlmICgoc2MtPnN0YXR1c19ibG9jay0+c3RhdHVzX3J4X3F1 aWNrX2NvbnN1bWVyX2luZGV4MCA9PSBzYy0+aHdfcnhfY29ucykgJiYKLQkgICAgCShzYy0+c3Rh dHVzX2Jsb2NrLT5zdGF0dXNfdHhfcXVpY2tfY29uc3VtZXJfaW5kZXgwID09IHNjLT5od190eF9j b25zKSkKKwkJaHdfcnhfY29ucyA9IGJjZV9nZXRfaHdfcnhfY29ucyhzYyk7CisJCWh3X3R4X2Nv bnMgPSBiY2VfZ2V0X2h3X3R4X2NvbnMoc2MpOworCisJCWlmICgoaHdfcnhfY29ucyA9PSBzYy0+ aHdfcnhfY29ucykgJiYgKGh3X3R4X2NvbnMgPT0gc2MtPmh3X3R4X2NvbnMpKQogCQkJYnJlYWs7 CiAJCiAJfQpAQCAtNjMxNCw2ICs2Mjk4LDcgQEAgYmNlX3RpY2sodm9pZCAqeHNjKQogCXN0cnVj dCBiY2Vfc29mdGMgKnNjID0geHNjOwogCXN0cnVjdCBtaWlfZGF0YSAqbWlpOwogCXN0cnVjdCBp Zm5ldCAqaWZwOworCXUxNiBod19yeF9jb25zLCBod190eF9jb25zOwogCiAJaWZwID0gc2MtPmJj ZV9pZnA7CiAKQEAgLTYzMzIsNiArNjMxNywyMCBAQCBiY2VfdGljayh2b2lkICp4c2MpCiAJLyog Q2hlY2sgdGhhdCBjaGlwIGhhc24ndCBodW5nLiAqLwogCWJjZV93YXRjaGRvZyhzYyk7CiAKKwlo d19yeF9jb25zID0gYmNlX2dldF9od19yeF9jb25zKHNjKTsKKwlpZiAoaHdfcnhfY29ucyAhPSBz Yy0+aHdfcnhfY29ucykgeworCQlEQlBSSU5UKHNjLCBCQ0VfSU5GT19SRUNWLCAiJXMoKTogc3Rh dHVzX2Jsb2NrLT5yeF9jb25zMCA9IDB4JTA0WCwgIgorCQkJInNjLT5od19yeF9jb25zID0gMHgl MDRYXG4iLCBfX0ZVTkNUSU9OX18sIAorCQkJaHdfcnhfY29ucywgc2MtPmh3X3J4X2NvbnMpOwor CX0KKworCWh3X3R4X2NvbnMgPSBiY2VfZ2V0X2h3X3R4X2NvbnMoc2MpOworCWlmIChod190eF9j b25zICE9IHNjLT5od190eF9jb25zKSB7CisJCURCUFJJTlQoc2MsIEJDRV9JTkZPX1NFTkQsICIl cygpOiBzdGF0dXNfYmxvY2stPnR4X2NvbnMwID0gMHglMDRYLCAiCisJCQkic2MtPmh3X3R4X2Nv bnMgPSAweCUwNFhcbiIsIF9fRlVOQ1RJT05fXywgCisJCQlod190eF9jb25zLCBzYy0+aHdfdHhf Y29ucyk7CisJfQorCiAJLyogSWYgbGluayBpcyB1cCBhbHJlYWR5IHVwIHRoZW4gd2UncmUgZG9u ZS4gKi8KIAlpZiAoc2MtPmJjZV9saW5rKQogCQlnb3RvIGJjZV90aWNrX2xvY2tlZF9leGl0OwpA QCAtNjM0Nyw2ICs2MzQ2LDcgQEAgYmNlX3RpY2sodm9pZCAqeHNjKQogCQkgICAgSUZNX1NVQlRZ UEUobWlpLT5taWlfbWVkaWFfYWN0aXZlKSA9PSBJRk1fMTAwMF9TWCkgJiYKIAkJICAgIGJvb3R2 ZXJib3NlKQogCQkJQkNFX1BSSU5URigiR2lnYWJpdCBsaW5rIHVwXG4iKTsKKwogCQkvKiBOb3cg dGhhdCBsaW5rIGlzIHVwLCBoYW5kbGUgYW55IG91dHN0YW5kaW5nIFRYIHRyYWZmaWMuICovCiAJ CWlmICghSUZRX0RSVl9JU19FTVBUWSgmaWZwLT5pZl9zbmQpKQogCQkJYmNlX3N0YXJ0X2xvY2tl ZChpZnApOwpAQCAtNjY5MywxNyArNjY5MywxNyBAQCBiY2VfYWRkX3N5c2N0bHMoc3RydWN0IGJj ZV9zb2Z0YyAqc2MpCiAJCTAsICJOdW1iZXIgb2YgVFggaW50ZXJydXB0cyIpOwogCiAJU1lTQ1RM X0FERF9VTE9ORyhjdHgsIGNoaWxkcmVuLCBPSURfQVVUTywgCi0JCSJyeF9pbnRyX3RpbWUiLAot CQlDVExGTEFHX1JELCAmc2MtPnJ4X2ludHJfdGltZSwKLQkJIlJYIGludGVycnVwdCB0aW1lIik7 Ci0KLQlTWVNDVExfQUREX1VMT05HKGN0eCwgY2hpbGRyZW4sIE9JRF9BVVRPLCAKIAkJInR4X2lu dHJfdGltZSIsCiAJCUNUTEZMQUdfUkQsICZzYy0+dHhfaW50cl90aW1lLAogCQkiVFggaW50ZXJy dXB0IHRpbWUiKTsKIAogI2VuZGlmIAogCisJU1lTQ1RMX0FERF9VTE9ORyhjdHgsIGNoaWxkcmVu LCBPSURfQVVUTywgCisJCSJyeF9pbnRyX3RpbWUiLAorCQlDVExGTEFHX1JELCAmc2MtPnJ4X2lu dHJfdGltZSwKKwkJIlJYIGludGVycnVwdCB0aW1lIik7CisKIAlTWVNDVExfQUREX0lOVChjdHgs IGNoaWxkcmVuLCBPSURfQVVUTywgCiAJCSJtYnVmX2FsbG9jX2ZhaWxlZCIsCiAJCUNUTEZMQUdf UkQsICZzYy0+bWJ1Zl9hbGxvY19mYWlsZWQsCg== --_003_5D267A3F22FD854F8F48B3D2B523819324EF6DEE3BIRVEXCHCCR01c_--