Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Mar 2012 11:38:21 -0700
From:      Jason Wolfe <nitroboost@gmail.com>
To:        Mike Tancsa <mike@sentex.net>
Cc:        freebsd-net@freebsd.org, Adrian Chadd <adrian@freebsd.org>, Hooman Fazaeli <hoomanfazaeli@gmail.com>, John Baldwin <jhb@freebsd.org>
Subject:   Re: Intel 82574L interface wedging - em7.3.2/8.2-STABLE
Message-ID:  <CAAAm0r0OSJbWRAaEoPyHL1JDyAV6Q3sP_Ug%2BXXuX-5i23%2Bzx8A@mail.gmail.com>
In-Reply-To: <4F6CBC59.2060601@sentex.net>
References:  <CAAAm0r3Qj%2B2rf8cx54bcyAXGQezcE8J=xXYPq4W-jDy75r8qew@mail.gmail.com> <201203151417.04507.jhb@freebsd.org> <CAAAm0r0JxpHdq9CS=uwWysojXv_K-iT_NOb_fTeKAiAE_w8nbQ@mail.gmail.com> <201203201457.24776.jhb@freebsd.org> <4F6CBC59.2060601@sentex.net>

next in thread | previous in thread | raw e-mail | index | archive | help
--f46d04478b775eefcf04bbed54c9
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Fri, Mar 23, 2012 at 11:09 AM, Mike Tancsa <mike@sentex.net> wrote:
> On 3/20/2012 2:57 PM, John Baldwin wrote:
>>>> TX when link becomes active. =A0I've also updated it to fix resume for=
 em
>>>> and igb to DTRT when buf_ring is used, and to not include old-style st=
art
>>>> routines at all when using multiq. =A0It is at
>>>> http://www.freebsd.org/~jhb/patches/e1000_txeof2.patch
>>> Thank for the patch sirs, so far it does look like it did the trick.
>>> I'll know for certain here in a few days if I'm still in the clear.
>>> I'm guessing after it goes through some more testing it'll be too late
>>> to slip it into 8.3?
>>
>> Yes, this is too late for 8.3, but thanks for testing!
>
> Hi,
> Is there a RELENG_8 version of this patch ? I have a server that used to
> shows this issue quite a bit, but has not since 7.3.2. I would be happy
> to stress it on the box. =A0The patch above does not apply cleanly due to
> the netmap diffs, but I can manually merge if thats the only difference.
>
> em1: <Intel(R) PRO/1000 Network Connection 7.3.2> port 0x2000-0x201f mem
> 0xb4100000-0xb411ffff,0xb4120000-0xb4123fff irq 16 at device 0.0 on pci11
> em1: Using MSIX interrupts with 3 vectors
> em1: [ITHREAD]
> em1: [ITHREAD]
> em1: [ITHREAD]
> em1: Ethernet address: 00:15:17:ed:68:a4
>
> em1@pci0:11:0:0: =A0 =A0 =A0 =A0class=3D0x020000 card=3D0x34ec8086 chip=
=3D0x10d38086
> rev=3D0x00 hdr=3D0x00
> =A0 =A0vendor =A0 =A0 =3D 'Intel Corporation'
> =A0 =A0device =A0 =A0 =3D 'Intel 82574L Gigabit Ethernet Controller (8257=
4L)'
> =A0 =A0class =A0 =A0 =A0=3D network
> =A0 =A0subclass =A0 =3D ethernet
> =A0 =A0bar =A0 [10] =3D type Memory, range 32, base 0xb4100000, size 1310=
72,
> enabled
> =A0 =A0bar =A0 [18] =3D type I/O Port, range 32, base 0x2000, size 32, en=
abled
> =A0 =A0bar =A0 [1c] =3D type Memory, range 32, base 0xb4120000, size 1638=
4, enabled
> =A0 =A0cap 01[c8] =3D powerspec 2 =A0supports D0 D3 =A0current D0
> =A0 =A0cap 05[d0] =3D MSI supports 1 message, 64 bit
> =A0 =A0cap 10[e0] =3D PCI-Express 1 endpoint max data 128(256) link x1(x1=
)
> =A0 =A0cap 11[a0] =3D MSI-X supports 5 messages in map 0x1c enabled
> ecap 0001[100] =3D AER 1 0 fatal 0 non-fatal 0 corrected
> ecap 0003[140] =3D Serial 1 001517ffffed68a4
>
>
> --
> -------------------
> Mike Tancsa, tel +1 519 651 3400
> Sentex Communications, mike@sentex.net
> Providing Internet services since 1994 www.sentex.net
> Cambridge, Ontario Canada =A0 http://www.tancsa.com/

Mike,

Attached is my patch with the small issues you mention cleaned up. It
worked for me against RELENG_8 (8.3-PRERELEASE) as of 4 days ago.

On the testing front, I've been stable for those 4 days across the
pool of test machines.  Prior I couldn't get past 48 hours without an
interface 'wedge'.  Thanks again!

Jason

--f46d04478b775eefcf04bbed54c9
Content-Type: application/octet-stream; name="if_em_fix-fbsd83.diff"
Content-Disposition: attachment; filename="if_em_fix-fbsd83.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_h05koxla0

ZGlmZiAtcnVOIHNyYy5zdG9jay9zeXMvZGV2L2UxMDAwL2lmX2VtLmMgc3JjL3N5cy9kZXYvZTEw
MDAvaWZfZW0uYwotLS0gc3JjLnN0b2NrL3N5cy9kZXYvZTEwMDAvaWZfZW0uYwkyMDEyLTAxLTMx
IDE1OjQ3OjEwLjAwMDAwMDAwMCAtMDcwMAorKysgc3JjL3N5cy9kZXYvZTEwMDAvaWZfZW0uYwky
MDEyLTAzLTE4IDIzOjA4OjAzLjAwMDAwMDAwMCAtMDcwMApAQCAtMTkzLDEzICsxOTMsMTQgQEAK
IHN0YXRpYyBpbnQJZW1fc2h1dGRvd24oZGV2aWNlX3QpOwogc3RhdGljIGludAllbV9zdXNwZW5k
KGRldmljZV90KTsKIHN0YXRpYyBpbnQJZW1fcmVzdW1lKGRldmljZV90KTsKLXN0YXRpYyB2b2lk
CWVtX3N0YXJ0KHN0cnVjdCBpZm5ldCAqKTsKLXN0YXRpYyB2b2lkCWVtX3N0YXJ0X2xvY2tlZChz
dHJ1Y3QgaWZuZXQgKiwgc3RydWN0IHR4X3JpbmcgKik7CiAjaWZkZWYgRU1fTVVMVElRVUVVRQog
c3RhdGljIGludAllbV9tcV9zdGFydChzdHJ1Y3QgaWZuZXQgKiwgc3RydWN0IG1idWYgKik7CiBz
dGF0aWMgaW50CWVtX21xX3N0YXJ0X2xvY2tlZChzdHJ1Y3QgaWZuZXQgKiwKIAkJICAgIHN0cnVj
dCB0eF9yaW5nICosIHN0cnVjdCBtYnVmICopOwogc3RhdGljIHZvaWQJZW1fcWZsdXNoKHN0cnVj
dCBpZm5ldCAqKTsKKyNlbHNlCitzdGF0aWMgdm9pZAllbV9zdGFydChzdHJ1Y3QgaWZuZXQgKik7
CitzdGF0aWMgdm9pZAllbV9zdGFydF9sb2NrZWQoc3RydWN0IGlmbmV0ICosIHN0cnVjdCB0eF9y
aW5nICopOwogI2VuZGlmCiBzdGF0aWMgaW50CWVtX2lvY3RsKHN0cnVjdCBpZm5ldCAqLCB1X2xv
bmcsIGNhZGRyX3QpOwogc3RhdGljIHZvaWQJZW1faW5pdCh2b2lkICopOwpAQCAtMjM0LDcgKzIz
NSw3IEBACiBzdGF0aWMgdm9pZAllbV9kaXNhYmxlX2ludHIoc3RydWN0IGFkYXB0ZXIgKik7CiBz
dGF0aWMgdm9pZAllbV91cGRhdGVfc3RhdHNfY291bnRlcnMoc3RydWN0IGFkYXB0ZXIgKik7CiBz
dGF0aWMgdm9pZAllbV9hZGRfaHdfc3RhdHMoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpOwotc3Rh
dGljIGJvb2wJZW1fdHhlb2Yoc3RydWN0IHR4X3JpbmcgKik7CitzdGF0aWMgdm9pZAllbV90eGVv
ZihzdHJ1Y3QgdHhfcmluZyAqKTsKIHN0YXRpYyBib29sCWVtX3J4ZW9mKHN0cnVjdCByeF9yaW5n
ICosIGludCwgaW50ICopOwogI2lmbmRlZiBfX05PX1NUUklDVF9BTElHTk1FTlQKIHN0YXRpYyBp
bnQJZW1fZml4dXBfcngoc3RydWN0IHJ4X3JpbmcgKik7CkBAIC04MzYsNiArODM3LDcgQEAKIGVt
X3Jlc3VtZShkZXZpY2VfdCBkZXYpCiB7CiAJc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIgPSBkZXZp
Y2VfZ2V0X3NvZnRjKGRldik7CisJc3RydWN0IHR4X3JpbmcJKnR4ciA9IGFkYXB0ZXItPnR4X3Jp
bmdzOwogCXN0cnVjdCBpZm5ldCAqaWZwID0gYWRhcHRlci0+aWZwOwogCiAJRU1fQ09SRV9MT0NL
KGFkYXB0ZXIpOwpAQCAtODQzLDggKzg0NSwyMiBAQAogCQllMTAwMF9yZXN1bWVfd29ya2Fyb3Vu
ZHNfcGNobGFuKCZhZGFwdGVyLT5odyk7CiAJZW1faW5pdF9sb2NrZWQoYWRhcHRlcik7CiAJZW1f
aW5pdF9tYW5hZ2VhYmlsaXR5KGFkYXB0ZXIpOworCisJaWYgKChpZnAtPmlmX2ZsYWdzICYgSUZG
X1VQKSAmJgorCSAgICAoaWZwLT5pZl9kcnZfZmxhZ3MgJiBJRkZfRFJWX1JVTk5JTkcpICYmIGFk
YXB0ZXItPmxpbmtfYWN0aXZlKSB7CisJCWZvciAoaW50IGkgPSAwOyBpIDwgYWRhcHRlci0+bnVt
X3F1ZXVlczsgaSsrLCB0eHIrKykgeworCQkJRU1fVFhfTE9DSyh0eHIpOworI2lmZGVmIEVNX01V
TFRJUVVFVUUKKwkJCWlmICghZHJicl9lbXB0eShpZnAsIHR4ci0+YnIpKQorCQkJCWVtX21xX3N0
YXJ0X2xvY2tlZChpZnAsIHR4ciwgTlVMTCk7CisjZWxzZQorCQkJaWYgKCFJRlFfRFJWX0lTX0VN
UFRZKCZpZnAtPmlmX3NuZCkpCisJCQkJZW1fc3RhcnRfbG9ja2VkKGlmcCwgdHhyKTsKKyNlbmRp
ZgorCQkJRU1fVFhfVU5MT0NLKHR4cik7CisJCX0KKwl9CiAJRU1fQ09SRV9VTkxPQ0soYWRhcHRl
cik7Ci0JZW1fc3RhcnQoaWZwKTsKIAogCXJldHVybiBidXNfZ2VuZXJpY19yZXN1bWUoZGV2KTsK
IH0KQEAgLTk0OCw3ICs5NjQsNyBAQAogCX0KIAlpZl9xZmx1c2goaWZwKTsKIH0KLSNlbmRpZiAv
KiBFTV9NVUxUSVFVRVVFICovCisjZWxzZSAgLyogIUVNX01VTFRJUVVFVUUgKi8KIAogc3RhdGlj
IHZvaWQKIGVtX3N0YXJ0X2xvY2tlZChzdHJ1Y3QgaWZuZXQgKmlmcCwgc3RydWN0IHR4X3Jpbmcg
KnR4cikKQEAgLTEwMDksMTQgKzEwMjUsOSBAQAogCQllbV9zdGFydF9sb2NrZWQoaWZwLCB0eHIp
OwogCQlFTV9UWF9VTkxPQ0sodHhyKTsKIAl9Ci0JLyoKLQkqKiBJZiB3ZSB3ZW50IGluYWN0aXZl
IHNjaGVkdWxlCi0JKiogYSB0YXNrIHRvIGNsZWFuIHVwLgotCSovCi0JaWYgKGlmcC0+aWZfZHJ2
X2ZsYWdzICYgSUZGX0RSVl9PQUNUSVZFKQotCQl0YXNrcXVldWVfZW5xdWV1ZSh0eHItPnRxLCAm
dHhyLT50eF90YXNrKTsKIAlyZXR1cm47CiB9CisjZW5kaWYgLyogRU1fTVVMVElRVUVVRSAqLwog
CiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqCiAgKiAgSW9jdGwgZW50cnkgcG9pbnQKQEAgLTE0MTMsNyArMTQyNCw4
IEBACiAJaWYgKCFkcmJyX2VtcHR5KGlmcCwgdHhyLT5icikpCiAJCWVtX21xX3N0YXJ0X2xvY2tl
ZChpZnAsIHR4ciwgTlVMTCk7CiAjZWxzZQotCWVtX3N0YXJ0X2xvY2tlZChpZnAsIHR4cik7CisJ
aWYgKCFJRlFfRFJWX0lTX0VNUFRZKCZpZnAtPmlmX3NuZCkpCisJCWVtX3N0YXJ0X2xvY2tlZChp
ZnAsIHR4cik7CiAjZW5kaWYKIAlFTV9UWF9VTkxPQ0sodHhyKTsKIApAQCAtMTQ4NiwxMCArMTQ5
OCwxMSBAQAogCQlpZiAoIWRyYnJfZW1wdHkoaWZwLCB0eHItPmJyKSkKIAkJCWVtX21xX3N0YXJ0
X2xvY2tlZChpZnAsIHR4ciwgTlVMTCk7CiAjZWxzZQotCQllbV9zdGFydF9sb2NrZWQoaWZwLCB0
eHIpOworCQlpZiAoIUlGUV9EUlZfSVNfRU1QVFkoJmlmcC0+aWZfc25kKSkKKwkJCWVtX3N0YXJ0
X2xvY2tlZChpZnAsIHR4cik7CiAjZW5kaWYKIAkJRU1fVFhfVU5MT0NLKHR4cik7Ci0JCWlmICht
b3JlIHx8IChpZnAtPmlmX2Rydl9mbGFncyAmIElGRl9EUlZfT0FDVElWRSkpIHsKKwkJaWYgKG1v
cmUpIHsKIAkJCXRhc2txdWV1ZV9lbnF1ZXVlKGFkYXB0ZXItPnRxLCAmYWRhcHRlci0+cXVlX3Rh
c2spOwogCQkJcmV0dXJuOwogCQl9CkBAIC0xNTEwLDE3ICsxNTIzLDIxIEBACiB7CiAJc3RydWN0
IHR4X3JpbmcgKnR4ciA9IGFyZzsKIAlzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciA9IHR4ci0+YWRh
cHRlcjsKLQlib29sCQltb3JlOworCXN0cnVjdCBpZm5ldAkqaWZwID0gYWRhcHRlci0+aWZwOwog
CiAJKyt0eHItPnR4X2lycTsKIAlFTV9UWF9MT0NLKHR4cik7Ci0JbW9yZSA9IGVtX3R4ZW9mKHR4
cik7CisJZW1fdHhlb2YodHhyKTsKKyNpZmRlZiBFTV9NVUxUSVFVRVVFCisJaWYgKCFkcmJyX2Vt
cHR5KGlmcCwgdHhyLT5icikpCisJCWVtX21xX3N0YXJ0X2xvY2tlZChpZnAsIHR4ciwgTlVMTCk7
CisjZWxzZQorCWlmICghSUZRX0RSVl9JU19FTVBUWSgmaWZwLT5pZl9zbmQpKQorCQllbV9zdGFy
dF9sb2NrZWQoaWZwLCB0eHIpOworI2VuZGlmCisJLyogUmVlbmFibGUgdGhpcyBpbnRlcnJ1cHQg
Ki8KKwlFMTAwMF9XUklURV9SRUcoJmFkYXB0ZXItPmh3LCBFMTAwMF9JTVMsIHR4ci0+aW1zKTsK
IAlFTV9UWF9VTkxPQ0sodHhyKTsKLQlpZiAobW9yZSkKLQkJdGFza3F1ZXVlX2VucXVldWUodHhy
LT50cSwgJnR4ci0+dHhfdGFzayk7Ci0JZWxzZQotCQkvKiBSZWVuYWJsZSB0aGlzIGludGVycnVw
dCAqLwotCQlFMTAwMF9XUklURV9SRUcoJmFkYXB0ZXItPmh3LCBFMTAwMF9JTVMsIHR4ci0+aW1z
KTsKIAlyZXR1cm47CiB9CiAKQEAgLTE1OTgsNyArMTYxNSw4IEBACiAJaWYgKCFkcmJyX2VtcHR5
KGlmcCwgdHhyLT5icikpCiAJCWVtX21xX3N0YXJ0X2xvY2tlZChpZnAsIHR4ciwgTlVMTCk7CiAj
ZWxzZQotCWVtX3N0YXJ0X2xvY2tlZChpZnAsIHR4cik7CisJaWYgKCFJRlFfRFJWX0lTX0VNUFRZ
KCZpZnAtPmlmX3NuZCkpCisJCWVtX3N0YXJ0X2xvY2tlZChpZnAsIHR4cik7CiAjZW5kaWYKIAlF
MTAwMF9XUklURV9SRUcoJmFkYXB0ZXItPmh3LCBFMTAwMF9JTVMsIHR4ci0+aW1zKTsKIAlFTV9U
WF9VTkxPQ0sodHhyKTsKQEAgLTE2MDgsNiArMTYyNiw3IEBACiBlbV9oYW5kbGVfbGluayh2b2lk
ICpjb250ZXh0LCBpbnQgcGVuZGluZykKIHsKIAlzdHJ1Y3QgYWRhcHRlcgkqYWRhcHRlciA9IGNv
bnRleHQ7CisJc3RydWN0IHR4X3JpbmcJKnR4ciA9IGFkYXB0ZXItPnR4X3JpbmdzOwogCXN0cnVj
dCBpZm5ldCAqaWZwID0gYWRhcHRlci0+aWZwOwogCiAJaWYgKCEoaWZwLT5pZl9kcnZfZmxhZ3Mg
JiBJRkZfRFJWX1JVTk5JTkcpKQpAQCAtMTYxOSw2ICsxNjM4LDE5IEBACiAJY2FsbG91dF9yZXNl
dCgmYWRhcHRlci0+dGltZXIsIGh6LCBlbV9sb2NhbF90aW1lciwgYWRhcHRlcik7CiAJRTEwMDBf
V1JJVEVfUkVHKCZhZGFwdGVyLT5odywgRTEwMDBfSU1TLAogCSAgICBFTV9NU0lYX0xJTksgfCBF
MTAwMF9JTVNfTFNDKTsKKwlpZiAoYWRhcHRlci0+bGlua19hY3RpdmUpIHsKKwkJZm9yIChpbnQg
aSA9IDA7IGkgPCBhZGFwdGVyLT5udW1fcXVldWVzOyBpKyssIHR4cisrKSB7CisJCQlFTV9UWF9M
T0NLKHR4cik7CisjaWZkZWYgRU1fTVVMVElRVUVVRQorCQkJaWYgKCFkcmJyX2VtcHR5KGlmcCwg
dHhyLT5icikpCisJCQkJZW1fbXFfc3RhcnRfbG9ja2VkKGlmcCwgdHhyLCBOVUxMKTsKKyNlbHNl
CisJCQlpZiAoIUlGUV9EUlZfSVNfRU1QVFkoJmlmcC0+aWZfc25kKSkKKwkJCQllbV9zdGFydF9s
b2NrZWQoaWZwLCB0eHIpOworI2VuZGlmCisJCQlFTV9UWF9VTkxPQ0sodHhyKTsKKwkJfQorCX0K
IAlFTV9DT1JFX1VOTE9DSyhhZGFwdGVyKTsKIH0KIApAQCAtMjg5MSwyMCArMjkyMywyMSBAQAog
CWlmcC0+aWZfc29mdGMgPSBhZGFwdGVyOwogCWlmcC0+aWZfZmxhZ3MgPSBJRkZfQlJPQURDQVNU
IHwgSUZGX1NJTVBMRVggfCBJRkZfTVVMVElDQVNUOwogCWlmcC0+aWZfaW9jdGwgPSBlbV9pb2N0
bDsKKyNpZmRlZiBFTV9NVUxUSVFVRVVFCisJLyogTXVsdGlxdWV1ZSBzdGFjayBpbnRlcmZhY2Ug
Ki8KKwlpZnAtPmlmX3RyYW5zbWl0ID0gZW1fbXFfc3RhcnQ7CisJaWZwLT5pZl9xZmx1c2ggPSBl
bV9xZmx1c2g7CisjZWxzZQogCWlmcC0+aWZfc3RhcnQgPSBlbV9zdGFydDsKIAlJRlFfU0VUX01B
WExFTigmaWZwLT5pZl9zbmQsIGFkYXB0ZXItPm51bV90eF9kZXNjIC0gMSk7CiAJaWZwLT5pZl9z
bmQuaWZxX2Rydl9tYXhsZW4gPSBhZGFwdGVyLT5udW1fdHhfZGVzYyAtIDE7CiAJSUZRX1NFVF9S
RUFEWSgmaWZwLT5pZl9zbmQpOworI2VuZGlmCQogCiAJZXRoZXJfaWZhdHRhY2goaWZwLCBhZGFw
dGVyLT5ody5tYWMuYWRkcik7CiAKIAlpZnAtPmlmX2NhcGFiaWxpdGllcyA9IGlmcC0+aWZfY2Fw
ZW5hYmxlID0gMDsKIAotI2lmZGVmIEVNX01VTFRJUVVFVUUKLQkvKiBNdWx0aXF1ZXVlIHN0YWNr
IGludGVyZmFjZSAqLwotCWlmcC0+aWZfdHJhbnNtaXQgPSBlbV9tcV9zdGFydDsKLQlpZnAtPmlm
X3FmbHVzaCA9IGVtX3FmbHVzaDsKLSNlbmRpZgkKIAogCWlmcC0+aWZfY2FwYWJpbGl0aWVzIHw9
IElGQ0FQX0hXQ1NVTSB8IElGQ0FQX1ZMQU5fSFdDU1VNOwogCWlmcC0+aWZfY2FwYWJpbGl0aWVz
IHw9IElGQ0FQX1RTTzQ7CkBAIC0zNzEwLDcgKzM3NDMsNyBAQAogICogIHR4X2J1ZmZlciBpcyBw
dXQgYmFjayBvbiB0aGUgZnJlZSBxdWV1ZS4KICAqCiAgKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXN0YXRpYyBi
b29sCitzdGF0aWMgdm9pZAogZW1fdHhlb2Yoc3RydWN0IHR4X3JpbmcgKnR4cikKIHsKIAlzdHJ1
Y3QgYWRhcHRlcgkqYWRhcHRlciA9IHR4ci0+YWRhcHRlcjsKQEAgLTM3MjQsNyArMzc1Nyw3IEBA
CiAJLyogTm8gd29yaywgbWFrZSBzdXJlIHdhdGNoZG9nIGlzIG9mZiAqLwogICAgICAgICBpZiAo
dHhyLT50eF9hdmFpbCA9PSBhZGFwdGVyLT5udW1fdHhfZGVzYykgewogCQl0eHItPnF1ZXVlX3N0
YXR1cyA9IEVNX1FVRVVFX0lETEU7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIChGQUxTRSk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuOwogCX0KIAogCXByb2Nlc3NlZCA9IDA7CkBAIC0zODEzLDEw
ICszODQ2LDcgQEAKIAkvKiBEaXNhYmxlIHdhdGNoZG9nIGlmIGFsbCBjbGVhbiAqLwogCWlmICh0
eHItPnR4X2F2YWlsID09IGFkYXB0ZXItPm51bV90eF9kZXNjKSB7CiAJCXR4ci0+cXVldWVfc3Rh
dHVzID0gRU1fUVVFVUVfSURMRTsKLQkJcmV0dXJuIChGQUxTRSk7CiAJfSAKLQotCXJldHVybiAo
VFJVRSk7CiB9CiAKIApkaWZmIC1ydU4gc3JjLnN0b2NrL3N5cy9kZXYvZTEwMDAvaWZfaWdiLmMg
c3JjL3N5cy9kZXYvZTEwMDAvaWZfaWdiLmMKLS0tIHNyYy5zdG9jay9zeXMvZGV2L2UxMDAwL2lm
X2lnYi5jCTIwMTItMDEtMzEgMTU6NDc6MTAuMDAwMDAwMDAwIC0wNzAwCisrKyBzcmMvc3lzL2Rl
di9lMTAwMC9pZl9pZ2IuYwkyMDEyLTAzLTE4IDIxOjQ1OjE1LjAwMDAwMDAwMCAtMDcwMApAQCAt
MTcxLDEzICsxNzEsMTQgQEAKIHN0YXRpYyBpbnQJaWdiX3NodXRkb3duKGRldmljZV90KTsKIHN0
YXRpYyBpbnQJaWdiX3N1c3BlbmQoZGV2aWNlX3QpOwogc3RhdGljIGludAlpZ2JfcmVzdW1lKGRl
dmljZV90KTsKLXN0YXRpYyB2b2lkCWlnYl9zdGFydChzdHJ1Y3QgaWZuZXQgKik7Ci1zdGF0aWMg
dm9pZAlpZ2Jfc3RhcnRfbG9ja2VkKHN0cnVjdCB0eF9yaW5nICosIHN0cnVjdCBpZm5ldCAqaWZw
KTsKICNpZiBfX0ZyZWVCU0RfdmVyc2lvbiA+PSA4MDAwMDAKIHN0YXRpYyBpbnQJaWdiX21xX3N0
YXJ0KHN0cnVjdCBpZm5ldCAqLCBzdHJ1Y3QgbWJ1ZiAqKTsKIHN0YXRpYyBpbnQJaWdiX21xX3N0
YXJ0X2xvY2tlZChzdHJ1Y3QgaWZuZXQgKiwKIAkJICAgIHN0cnVjdCB0eF9yaW5nICosIHN0cnVj
dCBtYnVmICopOwogc3RhdGljIHZvaWQJaWdiX3FmbHVzaChzdHJ1Y3QgaWZuZXQgKik7CisjZWxz
ZQorc3RhdGljIHZvaWQJaWdiX3N0YXJ0KHN0cnVjdCBpZm5ldCAqKTsKK3N0YXRpYyB2b2lkCWln
Yl9zdGFydF9sb2NrZWQoc3RydWN0IHR4X3JpbmcgKiwgc3RydWN0IGlmbmV0ICppZnApOwogI2Vu
ZGlmCiBzdGF0aWMgaW50CWlnYl9pb2N0bChzdHJ1Y3QgaWZuZXQgKiwgdV9sb25nLCBjYWRkcl90
KTsKIHN0YXRpYyB2b2lkCWlnYl9pbml0KHZvaWQgKik7CkBAIC0yNjEsNiArMjYyLDcgQEAKIHN0
YXRpYyB2b2lkCWlnYl9tc2l4X2xpbmsodm9pZCAqKTsKIHN0YXRpYyB2b2lkCWlnYl9oYW5kbGVf
cXVlKHZvaWQgKmNvbnRleHQsIGludCBwZW5kaW5nKTsKIHN0YXRpYyB2b2lkCWlnYl9oYW5kbGVf
bGluayh2b2lkICpjb250ZXh0LCBpbnQgcGVuZGluZyk7CitzdGF0aWMgdm9pZAlpZ2JfaGFuZGxl
X2xpbmtfbG9ja2VkKHN0cnVjdCBhZGFwdGVyICopOwogCiBzdGF0aWMgdm9pZAlpZ2Jfc2V0X3N5
c2N0bF92YWx1ZShzdHJ1Y3QgYWRhcHRlciAqLCBjb25zdCBjaGFyICosCiAJCSAgICBjb25zdCBj
aGFyICosIGludCAqLCBpbnQpOwpAQCAtNzk4LDYgKzgwMCw3IEBACiBpZ2JfcmVzdW1lKGRldmlj
ZV90IGRldikKIHsKIAlzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciA9IGRldmljZV9nZXRfc29mdGMo
ZGV2KTsKKwlzdHJ1Y3QgdHhfcmluZwkqdHhyID0gYWRhcHRlci0+dHhfcmluZ3M7CiAJc3RydWN0
IGlmbmV0ICppZnAgPSBhZGFwdGVyLT5pZnA7CiAKIAlJR0JfQ09SRV9MT0NLKGFkYXB0ZXIpOwpA
QCAtODA1LDkgKzgwOCwyMSBAQAogCWlnYl9pbml0X21hbmFnZWFiaWxpdHkoYWRhcHRlcik7CiAK
IAlpZiAoKGlmcC0+aWZfZmxhZ3MgJiBJRkZfVVApICYmCi0JICAgIChpZnAtPmlmX2Rydl9mbGFn
cyAmIElGRl9EUlZfUlVOTklORykpCi0JCWlnYl9zdGFydChpZnApOwotCisJICAgIChpZnAtPmlm
X2Rydl9mbGFncyAmIElGRl9EUlZfUlVOTklORykgJiYgYWRhcHRlci0+bGlua19hY3RpdmUpIHsK
KwkJZm9yIChpbnQgaSA9IDA7IGkgPCBhZGFwdGVyLT5udW1fcXVldWVzOyBpKyssIHR4cisrKSB7
CisJCQlJR0JfVFhfTE9DSyh0eHIpOworI2lmIF9fRnJlZUJTRF92ZXJzaW9uID49IDgwMDAwMAor
CQkJLyogUHJvY2VzcyB0aGUgc3RhY2sgcXVldWUgb25seSBpZiBub3QgZGVwbGV0ZWQgKi8KKwkJ
CWlmICgoKHR4ci0+cXVldWVfc3RhdHVzICYgSUdCX1FVRVVFX0RFUExFVEVEKSA9PSAwKSAmJgor
CQkJICAgICFkcmJyX2VtcHR5KGlmcCwgdHhyLT5icikpCisJCQkJaWdiX21xX3N0YXJ0X2xvY2tl
ZChpZnAsIHR4ciwgTlVMTCk7CisjZWxzZQorCQkJaWYgKCFJRlFfRFJWX0lTX0VNUFRZKCZpZnAt
PmlmX3NuZCkpCisJCQkJaWdiX3N0YXJ0X2xvY2tlZCh0eHIsIGlmcCk7CisjZW5kaWYKKwkJCUlH
Ql9UWF9VTkxPQ0sodHhyKTsKKwkJfQorCX0KIAlJR0JfQ09SRV9VTkxPQ0soYWRhcHRlcik7CiAK
IAlyZXR1cm4gYnVzX2dlbmVyaWNfcmVzdW1lKGRldik7CkBAIC0xMzIxLDE5ICsxMzM2LDE5IEBA
CiAJCW1vcmUgPSBpZ2Jfcnhlb2YocXVlLCBhZGFwdGVyLT5yeF9wcm9jZXNzX2xpbWl0LCBOVUxM
KTsKIAogCQlJR0JfVFhfTE9DSyh0eHIpOwotCQlpZiAoaWdiX3R4ZW9mKHR4cikpCi0JCQltb3Jl
ID0gVFJVRTsKKwkJaWdiX3R4ZW9mKHR4cik7CiAjaWYgX19GcmVlQlNEX3ZlcnNpb24gPj0gODAw
MDAwCiAJCS8qIFByb2Nlc3MgdGhlIHN0YWNrIHF1ZXVlIG9ubHkgaWYgbm90IGRlcGxldGVkICov
CiAJCWlmICgoKHR4ci0+cXVldWVfc3RhdHVzICYgSUdCX1FVRVVFX0RFUExFVEVEKSA9PSAwKSAm
JgogCQkgICAgIWRyYnJfZW1wdHkoaWZwLCB0eHItPmJyKSkKIAkJCWlnYl9tcV9zdGFydF9sb2Nr
ZWQoaWZwLCB0eHIsIE5VTEwpOwogI2Vsc2UKLQkJaWdiX3N0YXJ0X2xvY2tlZCh0eHIsIGlmcCk7
CisJCWlmICghSUZRX0RSVl9JU19FTVBUWSgmaWZwLT5pZl9zbmQpKQorCQkJaWdiX3N0YXJ0X2xv
Y2tlZCh0eHIsIGlmcCk7CiAjZW5kaWYKIAkJSUdCX1RYX1VOTE9DSyh0eHIpOwogCQkvKiBEbyB3
ZSBuZWVkIGFub3RoZXI/ICovCi0JCWlmIChtb3JlIHx8IChpZnAtPmlmX2Rydl9mbGFncyAmIElG
Rl9EUlZfT0FDVElWRSkpIHsKKwkJaWYgKG1vcmUpIHsKIAkJCXRhc2txdWV1ZV9lbnF1ZXVlKHF1
ZS0+dHEsICZxdWUtPnF1ZV90YXNrKTsKIAkJCXJldHVybjsKIAkJfQpAQCAtMTM1Niw4ICsxMzcx
LDM1IEBACiB7CiAJc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIgPSBjb250ZXh0OwogCisJSUdCX0NP
UkVfTE9DSyhhZGFwdGVyKTsKKwlpZ2JfaGFuZGxlX2xpbmtfbG9ja2VkKGFkYXB0ZXIpOworCUlH
Ql9DT1JFX1VOTE9DSyhhZGFwdGVyKTsKK30KKworc3RhdGljIHZvaWQKK2lnYl9oYW5kbGVfbGlu
a19sb2NrZWQoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIpCit7CisJc3RydWN0IHR4X3JpbmcJKnR4
ciA9IGFkYXB0ZXItPnR4X3JpbmdzOworCXN0cnVjdCBpZm5ldCAqaWZwID0gYWRhcHRlci0+aWZw
OworCisJSUdCX0NPUkVfTE9DS19BU1NFUlQoYWRhcHRlcik7CiAJYWRhcHRlci0+aHcubWFjLmdl
dF9saW5rX3N0YXR1cyA9IDE7CiAJaWdiX3VwZGF0ZV9saW5rX3N0YXR1cyhhZGFwdGVyKTsKKwlp
ZiAoKGlmcC0+aWZfZHJ2X2ZsYWdzICYgSUZGX0RSVl9SVU5OSU5HKSAmJiBhZGFwdGVyLT5saW5r
X2FjdGl2ZSkgeworCQlmb3IgKGludCBpID0gMDsgaSA8IGFkYXB0ZXItPm51bV9xdWV1ZXM7IGkr
KywgdHhyKyspIHsKKwkJCUlHQl9UWF9MT0NLKHR4cik7CisjaWYgX19GcmVlQlNEX3ZlcnNpb24g
Pj0gODAwMDAwCisJCQkvKiBQcm9jZXNzIHRoZSBzdGFjayBxdWV1ZSBvbmx5IGlmIG5vdCBkZXBs
ZXRlZCAqLworCQkJaWYgKCgodHhyLT5xdWV1ZV9zdGF0dXMgJiBJR0JfUVVFVUVfREVQTEVURUQp
ID09IDApICYmCisJCQkgICAgIWRyYnJfZW1wdHkoaWZwLCB0eHItPmJyKSkKKwkJCQlpZ2JfbXFf
c3RhcnRfbG9ja2VkKGlmcCwgdHhyLCBOVUxMKTsKKyNlbHNlCisJCQlpZiAoIUlGUV9EUlZfSVNf
RU1QVFkoJmlmcC0+aWZfc25kKSkKKwkJCQlpZ2Jfc3RhcnRfbG9ja2VkKHR4ciwgaWZwKTsKKyNl
bmRpZgorCQkJSUdCX1RYX1VOTE9DSyh0eHIpOworCQl9CisJfQogfQogCiAvKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
CkBAIC0xNDM3LDcgKzE0NzksNyBAQAogCQlyZWdfaWNyID0gRTEwMDBfUkVBRF9SRUcoJmFkYXB0
ZXItPmh3LCBFMTAwMF9JQ1IpOwogCQkvKiBMaW5rIHN0YXR1cyBjaGFuZ2UgKi8KIAkJaWYgKHJl
Z19pY3IgJiAoRTEwMDBfSUNSX1JYU0VRIHwgRTEwMDBfSUNSX0xTQykpCi0JCQlpZ2JfaGFuZGxl
X2xpbmsoYWRhcHRlciwgMCk7CisJCQlpZ2JfaGFuZGxlX2xpbmtfbG9ja2VkKGFkYXB0ZXIpOwog
CiAJCWlmIChyZWdfaWNyICYgRTEwMDBfSUNSX1JYTykKIAkJCWFkYXB0ZXItPnJ4X292ZXJydW5z
Kys7CkBAIC0xNDU0LDcgKzE0OTYsOCBAQAogCWlmICghZHJicl9lbXB0eShpZnAsIHR4ci0+YnIp
KQogCQlpZ2JfbXFfc3RhcnRfbG9ja2VkKGlmcCwgdHhyLCBOVUxMKTsKICNlbHNlCi0JaWdiX3N0
YXJ0X2xvY2tlZCh0eHIsIGlmcCk7CisJaWYgKCFJRlFfRFJWX0lTX0VNUFRZKCZpZnAtPmlmX3Nu
ZCkpCisJCWlnYl9zdGFydF9sb2NrZWQodHhyLCBpZnApOwogI2VuZGlmCiAJSUdCX1RYX1VOTE9D
Syh0eHIpOwogCXJldHVybiBQT0xMX1JFVFVSTl9DT1VOVChyeF9kb25lKTsKQEAgLTE0NzEsMTYg
KzE1MTQsMjYgQEAKIHsKIAlzdHJ1Y3QgaWdiX3F1ZXVlICpxdWUgPSBhcmc7CiAJc3RydWN0IGFk
YXB0ZXIgKmFkYXB0ZXIgPSBxdWUtPmFkYXB0ZXI7CisJc3RydWN0IGlmbmV0ICAgKmlmcCA9IGFk
YXB0ZXItPmlmcDsKIAlzdHJ1Y3QgdHhfcmluZyAqdHhyID0gcXVlLT50eHI7CiAJc3RydWN0IHJ4
X3JpbmcgKnJ4ciA9IHF1ZS0+cnhyOwogCXUzMgkJbmV3aXRyID0gMDsKLQlib29sCQltb3JlX3R4
LCBtb3JlX3J4OworCWJvb2wJCW1vcmVfcng7CiAKIAlFMTAwMF9XUklURV9SRUcoJmFkYXB0ZXIt
Pmh3LCBFMTAwMF9FSU1DLCBxdWUtPmVpbXMpOwogCSsrcXVlLT5pcnFzOwogCiAJSUdCX1RYX0xP
Q0sodHhyKTsKLQltb3JlX3R4ID0gaWdiX3R4ZW9mKHR4cik7CisJaWdiX3R4ZW9mKHR4cik7Cisj
aWYgX19GcmVlQlNEX3ZlcnNpb24gPj0gODAwMDAwCisJLyogUHJvY2VzcyB0aGUgc3RhY2sgcXVl
dWUgb25seSBpZiBub3QgZGVwbGV0ZWQgKi8KKwlpZiAoKCh0eHItPnF1ZXVlX3N0YXR1cyAmIElH
Ql9RVUVVRV9ERVBMRVRFRCkgPT0gMCkgJiYKKwkgICAgIWRyYnJfZW1wdHkoaWZwLCB0eHItPmJy
KSkKKwkJaWdiX21xX3N0YXJ0X2xvY2tlZChpZnAsIHR4ciwgTlVMTCk7CisjZWxzZQorCWlmICgh
SUZRX0RSVl9JU19FTVBUWSgmaWZwLT5pZl9zbmQpKQorCQlpZ2Jfc3RhcnRfbG9ja2VkKHR4ciwg
aWZwKTsKKyNlbmRpZgogCUlHQl9UWF9VTkxPQ0sodHhyKTsKIAogCW1vcmVfcnggPSBpZ2Jfcnhl
b2YocXVlLCBhZGFwdGVyLT5yeF9wcm9jZXNzX2xpbWl0LCBOVUxMKTsKQEAgLTE1MzgsNyArMTU5
MSw3IEBACiAKIG5vX2NhbGM6CiAJLyogU2NoZWR1bGUgYSBjbGVhbiB0YXNrIGlmIG5lZWRlZCov
Ci0JaWYgKG1vcmVfdHggfHwgbW9yZV9yeCkKKwlpZiAobW9yZV9yeCkKIAkJdGFza3F1ZXVlX2Vu
cXVldWUocXVlLT50cSwgJnF1ZS0+cXVlX3Rhc2spOwogCWVsc2UKIAkJLyogUmVlbmFibGUgdGhp
cyBpbnRlcnJ1cHQgKi8K
--f46d04478b775eefcf04bbed54c9--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAAAm0r0OSJbWRAaEoPyHL1JDyAV6Q3sP_Ug%2BXXuX-5i23%2Bzx8A>