From nobody  Tue Nov  3 17:40:13 1998
Received: (from nobody@localhost)
          by hub.freebsd.org (8.8.8/8.8.8) id RAA23681;
          Tue, 3 Nov 1998 17:40:13 -0800 (PST)
          (envelope-from nobody)
Message-Id: <199811040140.RAA23681@hub.freebsd.org>
Date: Tue, 3 Nov 1998 17:40:13 -0800 (PST)
From: ctapang@easystreet.com
To: freebsd-gnats-submit@freebsd.org
Subject: Intel EtherExpress Pro/10 driver (if_ex.c) fails to recognize Plus card (Pro/10+)
X-Send-Pr-Version: www-1.0

>Number:         8567
>Category:       i386
>Synopsis:       Intel EtherExpress Pro/10 driver (if_ex.c) fails to recognize Plus card (Pro/10+)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Nov  3 17:50:01 PST 1998
>Closed-Date:    Sun Apr 16 06:58:43 PDT 2000
>Last-Modified:  Sun Apr 16 06:59:24 PDT 2000
>Originator:     Carlos C. Tapang
>Release:        2.2.7
>Organization:
n/a
>Environment:
Not needed. I have already debugged and fixed the problem, but my fix needs to be tested on a regular, non-Plus Pro/10 card.
>Description:
The ethernet card driver if_ex.c fails to recognize my Pro/10+ card. It thinks it's a regular Pro/10 and therefore does not work at all.
>How-To-Repeat:
Need a Pro/10+ card with Ethernet Address that starts with 00:AA:00. The driver uses the Ethernet Address to distinguish between the Pro/10+ and the regular, older Pro/10. However, some Pro/10+ cards, like mine, has an Ethernet Address which starts with the same 3 bytes as that for regular Pro/10s.
>Fix:
The fix is to read the stepping of the i82595 chip on the card. If the steping is 4 or more, then the chip is an FX, which the chip used in the Pro/10+. Otherwise, it's a regular Pro/10. I have the fix, but since I can not submit it with this web form, I do not know how to submit the fixed code.
>Release-Note:
>Audit-Trail:

From: "Carlos C. Tapang" <ctapang@easystreet.com>
To: <freebsd-gnats-submit@freebsd.org>
Cc:  Subject: Re: i386/8567
Date: Wed, 4 Nov 1998 01:30:16 -0800

 This is a multi-part message in MIME format.
 
 ------=_NextPart_000_002C_01BE0792.AD989430
 Content-Type: text/plain;
 	charset="iso-8859-1"
 Content-Transfer-Encoding: 7bit
 
 Pls. see attached files. I am new to this, so I may not have attached the
 correct format. Please let me know.
 --Carlos
 
 ------=_NextPart_000_002C_01BE0792.AD989430
 Content-Type: application/octet-stream;
 	name="if_ex.diff"
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment;
 	filename="if_ex.diff"
 
 SW5kZXg6IGlmX2V4LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3Vzci9jdnNyb290L3NyYy9zeXMv
 aTM4Ni9pc2EvaWZfZXguYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMgpkaWZmIC1jIC1yMS4x
 MiBpZl9leC5jCioqKiBpZl9leC5jCTE5OTgvMDYvMDcgMTc6MTA6MzAJMS4xMgotLS0gaWZfZXgu
 YwkxOTk4LzExLzA0IDAwOjE5OjQ1CioqKioqKioqKioqKioqKgoqKiogMjMsMzQgKioqKgogICAq
 IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
 UklTSU5HIElOIEFOWSBXQVkKICAgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
 VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCiAgICogU1VDSCBEQU1BR0UuCi0g
 ICoKLSAgKgkkSWQ6IGlmX2V4LmMsdiAxLjEyIDE5OTgvMDYvMDcgMTc6MTA6MzAgZGZyIEV4cCAk
 CiAgICovCiAgCiAgLyoKISAgKiBJbnRlbCBFdGhlckV4cHJlc3MgUHJvLzEwLCBQcm8vMTArIEV0
 aGVybmV0IGRyaXZlcgogICAqCiAgICogUmV2aXNpb24gaGlzdG9yeToKICAgKgotLS0gMjMsMzIg
 LS0tLQogICAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
 RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKICAgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
 RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCiAgICogU1VDSCBE
 QU1BR0UuCiAgICovCiAgCiAgLyoKISAgKiBJbnRlbCBFdGhlckV4cHJlc3MgUHJvLzEwIEV0aGVy
 bmV0IGRyaXZlcgogICAqCiAgICogUmV2aXNpb24gaGlzdG9yeToKICAgKgoqKioqKioqKioqKioq
 KioKKioqIDM4LDU3ICoqKioKICAjaW5jbHVkZSAiZXguaCIKICAjaWYgTkVYID4gMAogICNpbmNs
 dWRlICJicGZpbHRlci5oIgotICNpbmNsdWRlICJvcHRfaW5ldC5oIgotICNpbmNsdWRlICJvcHRf
 aXB4LmgiCiAgCiAgI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgogICNpbmNsdWRlIDxzeXMvc3lzdG0u
 aD4KICAjaW5jbHVkZSA8c3lzL2NvbmYuaD4KISAjaW5jbHVkZSA8c3lzL3NvY2tpby5oPgogICNp
 bmNsdWRlIDxzeXMvbWJ1Zi5oPgogICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CiAgCiAgI2luY2x1
 ZGUgPG5ldC9pZi5oPgogIAogICNpZmRlZiBJTkVUCiAgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4K
 ICAjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgogICNlbmRpZgogIAotLS0gMzYsNjEgLS0t
 LQogICNpbmNsdWRlICJleC5oIgogICNpZiBORVggPiAwCiAgI2luY2x1ZGUgImJwZmlsdGVyLmgi
 CiAgCiAgI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgogICNpbmNsdWRlIDxzeXMvc3lzdG0uaD4KKyAj
 aW5jbHVkZSA8c3lzL2tlcm5lbC5oPgogICNpbmNsdWRlIDxzeXMvY29uZi5oPgohICNpbmNsdWRl
 IDxzeXMvZXJybm8uaD4KISAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CiAgI2luY2x1ZGUgPHN5cy9t
 YnVmLmg+CiAgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyAjaW5jbHVkZSA8c3lzL3N5c2xvZy5o
 PgogIAogICNpbmNsdWRlIDxuZXQvaWYuaD4KKyAjaW5jbHVkZSA8bmV0L2lmX2RsLmg+CisgI2lu
 Y2x1ZGUgPG5ldC9pZl90eXBlcy5oPgogIAogICNpZmRlZiBJTkVUCiAgI2luY2x1ZGUgPG5ldGlu
 ZXQvaW4uaD4KKyAjaW5jbHVkZSA8bmV0aW5ldC9pbl9zeXN0bS5oPgorICNpbmNsdWRlIDxuZXRp
 bmV0L2luX3Zhci5oPgorICNpbmNsdWRlIDxuZXRpbmV0L2lwLmg+CiAgI2luY2x1ZGUgPG5ldGlu
 ZXQvaWZfZXRoZXIuaD4KICAjZW5kaWYKICAKKioqKioqKioqKioqKioqCioqKiA2Nyw3MiAqKioq
 Ci0tLSA3MSw3NyAtLS0tCiAgCiAgI2lmIE5CUEZJTFRFUiA+IDAKICAjaW5jbHVkZSA8bmV0L2Jw
 Zi5oPgorICNpbmNsdWRlIDxuZXQvYnBmZGVzYy5oPgogICNlbmRpZgogIAogICNpbmNsdWRlIDxt
 YWNoaW5lL2Nsb2NrLmg+CioqKioqKioqKioqKioqKgoqKiogNzQsODUgKioqKgogICNpbmNsdWRl
 IDxpMzg2L2lzYS9pc2FfZGV2aWNlLmg+CiAgI2luY2x1ZGUgPGkzODYvaXNhL2lmX2V4cmVnLmg+
 CiAgCiAgI2lmZGVmIEVYREVCVUcKICAjZGVmaW5lIFN0YXJ0X0VuZCAxCiAgI2RlZmluZSBSY3Zk
 X1BrdHMgMgogICNkZWZpbmUgU2VudF9Qa3RzIDQKICAjZGVmaW5lIFN0YXR1cyAgICA4CiEgc3Rh
 dGljIGludCBkZWJ1Z19tYXNrID0gMDsKICBzdGF0aWMgaW50IGV4aW50cl9jb3VudCA9IDA7CiAg
 I2RlZmluZSBET0RFQlVHKGxldmVsLCBhY3Rpb24pIGlmIChsZXZlbCAmIGRlYnVnX21hc2spIGFj
 dGlvbgogICNlbHNlCi0tLSA3OSw5MSAtLS0tCiAgI2luY2x1ZGUgPGkzODYvaXNhL2lzYV9kZXZp
 Y2UuaD4KICAjaW5jbHVkZSA8aTM4Ni9pc2EvaWZfZXhyZWcuaD4KICAKKyAKICAjaWZkZWYgRVhE
 RUJVRwogICNkZWZpbmUgU3RhcnRfRW5kIDEKICAjZGVmaW5lIFJjdmRfUGt0cyAyCiAgI2RlZmlu
 ZSBTZW50X1BrdHMgNAogICNkZWZpbmUgU3RhdHVzICAgIDgKISBzdGF0aWMgaW50IGRlYnVnX21h
 c2sgPSAweEY7CiAgc3RhdGljIGludCBleGludHJfY291bnQgPSAwOwogICNkZWZpbmUgRE9ERUJV
 RyhsZXZlbCwgYWN0aW9uKSBpZiAobGV2ZWwgJiBkZWJ1Z19tYXNrKSBhY3Rpb24KICAjZWxzZQoq
 KioqKioqKioqKioqKioKKioqIDkzLDk4ICoqKioKLS0tIDk5LDEwNSAtLS0tCiAgc3RydWN0IGV4
 X3NvZnRjIHsKICAgIAlzdHJ1Y3QgYXJwY29tIGFycGNvbTsJLyogRXRoZXJuZXQgY29tbW9uIGRh
 dGEgKi8KICAJdV9pbnQgaW9iYXNlOwkvKiBJL08gYmFzZSBhZGRyZXNzLiAqLworIAl1X3Nob3J0
 IGNoaXBfc3RlcHBpbmc7IC8qIGVpdGhlciBUWCBvciBGWCAoRlggaXMgdXNlZCBpbiBQcm8vMTAr
 KSAqLwogIAl1X3Nob3J0IGNvbm5lY3RvcjsJLyogQ29ubmVjdG9yIHR5cGUuICovCiAgCXVfc2hv
 cnQgaXJxX25vOyAvKiBJUlEgbnVtYmVyLiAqLwogIAljaGFyICppcnEyZWU7IC8qIGlycSA8LT4g
 aW50ZXJuYWwgcmVwcmVzZW50YXRpb24gY29udmVyc2lvbiAqLwoqKioqKioqKioqKioqKioKKioq
 IDExOSwxMjUgKioqKgogIHN0YXRpYyB2b2lkIGV4X2luaXQgX19QKCh2b2lkICopKTsKICBzdGF0
 aWMgdm9pZCBleF9zdGFydCBfX1AoKHN0cnVjdCBpZm5ldCAqKSk7CiAgc3RhdGljIHZvaWQgZXhf
 c3RvcCBfX1AoKGludCkpOwohIHN0YXRpYyBpbnQgZXhfaW9jdGwgX19QKChzdHJ1Y3QgaWZuZXQg
 KiwgdV9sb25nLCBjYWRkcl90KSk7CiAgc3RhdGljIHZvaWQgZXhfcmVzZXQgX19QKChpbnQpKTsK
 ICBzdGF0aWMgdm9pZCBleF93YXRjaGRvZyBfX1AoKHN0cnVjdCBpZm5ldCAqKSk7CiAgCi0tLSAx
 MjYsMTMyIC0tLS0KICBzdGF0aWMgdm9pZCBleF9pbml0IF9fUCgodm9pZCAqKSk7CiAgc3RhdGlj
 IHZvaWQgZXhfc3RhcnQgX19QKChzdHJ1Y3QgaWZuZXQgKikpOwogIHN0YXRpYyB2b2lkIGV4X3N0
 b3AgX19QKChpbnQpKTsKISBzdGF0aWMgaW50IGV4X2lvY3RsIF9fUCgoc3RydWN0IGlmbmV0ICos
 IGludCwgY2FkZHJfdCkpOwogIHN0YXRpYyB2b2lkIGV4X3Jlc2V0IF9fUCgoaW50KSk7CiAgc3Rh
 dGljIHZvaWQgZXhfd2F0Y2hkb2cgX19QKChzdHJ1Y3QgaWZuZXQgKikpOwogIAoqKioqKioqKioq
 KioqKioKKioqIDE4NiwxOTEgKioqKgotLS0gMTkzLDIwMiAtLS0tCiAgCW91dGIoaW9iYXNlICsg
 Q01EX1JFRywgUmVzZXRfQ01EKTsKICAJREVMQVkoNDAwKTsKICAKKyAJb3V0Yihpb2Jhc2UgKyBD
 TURfUkVHLCBCYW5rMl9TZWwpOworIAl0bXAgPSBpbmIoaW9iYXNlICsgRUVQUk9NX1JFRyk7Cisg
 CXNjLT5jaGlwX3N0ZXBwaW5nID0gKHRtcCAmIGk4MjU5NV9TdGVwcGluZykgPj4gNTsKKyAKICAJ
 LyoKICAJICogRmlsbCBpbiBzZXZlcmFsIGZpZWxkcyBvZiB0aGUgc29mdGMgc3RydWN0dXJlOgog
 IAkgKgktIEkvTyBiYXNlIGFkZHJlc3MuCioqKioqKioqKioqKioqKgoqKiogMjA2LDIxNCAqKioq
 CiAgCXRtcCA9IGVlcHJvbV9yZWFkKGlvYmFzZSwgRUVfSVJRX05vKSAmIElSUV9Ob19NYXNrOwog
 IAogIAkvKiB3b3JrIG91dCB3aGljaCBzZXQgb2YgaXJxIDwtPiBpbnRlcm5hbCB0YWJsZXMgdG8g
 dXNlICovCiEgCWlmIChzYy0+YXJwY29tLmFjX2VuYWRkclswXSA9PSAweDAwICYmCiEgCSAgICBz
 Yy0+YXJwY29tLmFjX2VuYWRkclsxXSA9PSAweEEwICYmCiEgCSAgICBzYy0+YXJwY29tLmFjX2Vu
 YWRkclsyXSA9PSAweEM5KSB7ICAgIC8qIGl0J3MgYSAxMCsgKi8KICAJCXNjLT5pcnEyZWUgPSBw
 bHVzX2lycTJlZW1hcDsKICAJCXNjLT5lZTJpcnEgPSBwbHVzX2VlMmlycW1hcDsKICAJfSBlbHNl
 IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogaXQncyBhbiBvcmRpbmFyeSAx
 MCAqLwotLS0gMjE3LDIyMyAtLS0tCiAgCXRtcCA9IGVlcHJvbV9yZWFkKGlvYmFzZSwgRUVfSVJR
 X05vKSAmIElSUV9Ob19NYXNrOwogIAogIAkvKiB3b3JrIG91dCB3aGljaCBzZXQgb2YgaXJxIDwt
 PiBpbnRlcm5hbCB0YWJsZXMgdG8gdXNlICovCiEgCWlmIChzYy0+Y2hpcF9zdGVwcGluZyA+PSBG
 WF9TdGVwcGluZykgeyAvKiBpdCdzIGEgUHJvLzEwIFBsdXMgKi8KICAJCXNjLT5pcnEyZWUgPSBw
 bHVzX2lycTJlZW1hcDsKICAJCXNjLT5lZTJpcnEgPSBwbHVzX2VlMmlycW1hcDsKICAJfSBlbHNl
 IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogaXQncyBhbiBvcmRpbmFyeSAx
 MCAqLwoqKioqKioqKioqKioqKioKKioqIDI1MSwyNTYgKioqKgotLS0gMjYwLDI2NyAtLS0tCiAg
 CWludCB1bml0ID0gZGV2LT5pZF91bml0OwogIAlzdHJ1Y3QgZXhfc29mdGMgKnNjID0gJmV4X3Nj
 W3VuaXRdOwogIAlzdHJ1Y3QgaWZuZXQgKmlmcCA9ICZzYy0+YXJwY29tLmFjX2lmOworIAlzdHJ1
 Y3QgaWZhZGRyICppZmE7CisgCXN0cnVjdCBzb2NrYWRkcl9kbCAqc2RsOwogIAogIAlET0RFQlVH
 KFN0YXJ0X0VuZCwgcHJpbnRmKCJleF9hdHRhY2glZDogc3RhcnRcbiIsIHVuaXQpOyk7CiAgCioq
 KioqKioqKioqKioqKgoqKiogMjc0LDI4NSAqKioqCiAgCWlmX2F0dGFjaChpZnApOwogIAlldGhl
 cl9pZmF0dGFjaChpZnApOwogIAohIAlpZiAoc2MtPmFycGNvbS5hY19lbmFkZHJbMF0gPT0gMHgw
 MCAmJgohIAkgICAgc2MtPmFycGNvbS5hY19lbmFkZHJbMV0gPT0gMHhBMCAmJgohIAkgICAgc2Mt
 PmFycGNvbS5hY19lbmFkZHJbMl0gPT0gMHhDOSkgewohIAkJcHJpbnRmKCJleCVkOiBJbnRlbCBF
 dGhlckV4cHJlc3MgUHJvLzEwKywgYWRkcmVzcyAlNkQsIGNvbm5lY3RvciAiLCBkZXYtPmlkX3Vu
 aXQsIHNjLT5hcnBjb20uYWNfZW5hZGRyLCAiOiIpOwogIAl9IGVsc2UgewohIAkJcHJpbnRmKCJl
 eCVkOiBJbnRlbCBFdGhlckV4cHJlc3MgUHJvLzEwLCBhZGRyZXNzICU2RCwgY29ubmVjdG9yICIs
 IGRldi0+aWRfdW5pdCwgc2MtPmFycGNvbS5hY19lbmFkZHIsICI6Iik7CiAgCX0KICAJc3dpdGNo
 KHNjLT5jb25uZWN0b3IpIHsKICAJCWNhc2UgQ29ubl9UUEU6IHByaW50ZigiVFBFXG4iKTsgYnJl
 YWs7Ci0tLSAyODUsMjk0IC0tLS0KICAJaWZfYXR0YWNoKGlmcCk7CiAgCWV0aGVyX2lmYXR0YWNo
 KGlmcCk7CiAgCiEgCWlmIChzYy0+Y2hpcF9zdGVwcGluZyA+PSBGWF9TdGVwcGluZykgewohIAkJ
 cHJpbnRmKCJleCVkOiBJbnRlbCBFdGhlckV4cHIgUHJvLzEwKywgYWRkcmVzcyAlNkQsIHN0ZXAg
 JWQsIGNvbm5lY3RvciAiLCBkZXYtPmlkX3VuaXQsIHNjLT5hcnBjb20uYWNfZW5hZGRyLCAiOiIs
 IHNjLT5jaGlwX3N0ZXBwaW5nKTsKICAJfSBlbHNlIHsKISAJCXByaW50ZigiZXglZDogSW50ZWwg
 RXRoZXJFeHByZXNzIFByby8xMCwgYWRkcmVzcyAlNkQsIHN0ZXAgJWQsIGNvbm5lY3RvciAiLCBk
 ZXYtPmlkX3VuaXQsIHNjLT5hcnBjb20uYWNfZW5hZGRyLCAiOiIsIHNjLT5jaGlwX3N0ZXBwaW5n
 KTsKICAJfQogIAlzd2l0Y2goc2MtPmNvbm5lY3RvcikgewogIAkJY2FzZSBDb25uX1RQRTogcHJp
 bnRmKCJUUEVcbiIpOyBicmVhazsKKioqKioqKioqKioqKioqCioqKiAzMDksMzE1ICoqKioKICAK
 ICAJRE9ERUJVRyhTdGFydF9FbmQsIHByaW50ZigiZXhfaW5pdCVkOiBzdGFydFxuIiwgaWZwLT5p
 Zl91bml0KTspOwogIAohIAlpZiAoaWZwLT5pZl9hZGRyaGVhZC50cWhfZmlyc3QgPT0gTlVMTCkK
 ICAJICByZXR1cm47CiAgCXMgPSBzcGxpbXAoKTsKICAJc2MtPmFycGNvbS5hY19pZi5pZl90aW1l
 ciA9IDA7Ci0tLSAzMTgsMzI0IC0tLS0KICAKICAJRE9ERUJVRyhTdGFydF9FbmQsIHByaW50Zigi
 ZXhfaW5pdCVkOiBzdGFydFxuIiwgaWZwLT5pZl91bml0KTspOwogIAohIAlpZiAoaWZwLT5pZl9h
 ZGRybGlzdCA9PSAoc3RydWN0IGlmYWRkciAqKSAwKQogIAkgIHJldHVybjsKICAJcyA9IHNwbGlt
 cCgpOwogIAlzYy0+YXJwY29tLmFjX2lmLmlmX3RpbWVyID0gMDsKKioqKioqKioqKioqKioqCioq
 KiAzOTMsMzk5ICoqKioKICAgIHJlZ2lzdGVyIHN0cnVjdCBleF9zb2Z0YyAqc2MgPSAmZXhfc2Nb
 dW5pdF07CiAgICByZWdpc3RlciBpbnQgaW9iYXNlID0gc2MtPmlvYmFzZTsKICAgIGludCBpLCBz
 LCBsZW4sIGRhdGFfbGVuLCBhdmFpbCwgZGVzdCwgbmV4dDsKISAgIHVuc2lnbmVkIGNoYXIgdG1w
 MTZbMl07CiAgICBzdHJ1Y3QgbWJ1ZiAqb3BrdDsKICAgIHJlZ2lzdGVyIHN0cnVjdCBtYnVmICpt
 OwogIAotLS0gNDAyLDQwOCAtLS0tCiAgICByZWdpc3RlciBzdHJ1Y3QgZXhfc29mdGMgKnNjID0g
 JmV4X3NjW3VuaXRdOwogICAgcmVnaXN0ZXIgaW50IGlvYmFzZSA9IHNjLT5pb2Jhc2U7CiAgICBp
 bnQgaSwgcywgbGVuLCBkYXRhX2xlbiwgYXZhaWwsIGRlc3QsIG5leHQ7CiEgICB1bnNpZ25lZCBj
 aGFyIHRtcDE2WzJdLCAqY1A7CiAgICBzdHJ1Y3QgbWJ1ZiAqb3BrdDsKICAgIHJlZ2lzdGVyIHN0
 cnVjdCBtYnVmICptOwogIAoqKioqKioqKioqKioqKioKKioqIDU3MCw1NzYgKioqKgogICAgc3Ry
 dWN0IGV4X3NvZnRjICpzYyA9ICZleF9zY1t1bml0XTsKICAgIHN0cnVjdCBpZm5ldCAqaWZwID0g
 JnNjLT5hcnBjb20uYWNfaWY7CiAgICBpbnQgaW9iYXNlID0gc2MtPmlvYmFzZTsKISAgIGludCBp
 bnRfc3RhdHVzLCBzZW5kX3BrdHM7CiAgCiAgICBET0RFQlVHKFN0YXJ0X0VuZCwgcHJpbnRmKCJl
 eGludHIlZDogc3RhcnRcbiIsIHVuaXQpOyk7CiAgCi0tLSA1NzksNTg1IC0tLS0KICAgIHN0cnVj
 dCBleF9zb2Z0YyAqc2MgPSAmZXhfc2NbdW5pdF07CiAgICBzdHJ1Y3QgaWZuZXQgKmlmcCA9ICZz
 Yy0+YXJwY29tLmFjX2lmOwogICAgaW50IGlvYmFzZSA9IHNjLT5pb2Jhc2U7CiEgICBpbnQgcywg
 aW50X3N0YXR1cywgc2VuZF9wa3RzOwogIAogICAgRE9ERUJVRyhTdGFydF9FbmQsIHByaW50Zigi
 ZXhpbnRyJWQ6IHN0YXJ0XG4iLCB1bml0KTspOwogIAoqKioqKioqKioqKioqKioKKioqIDc0OSw3
 NTUgKioqKgogICAgICBlbHNlCiAgICAgICAgaWZwLT5pZl9pZXJyb3JzKys7CiAgICAgIG91dHco
 aW9iYXNlICsgSE9TVF9BRERSX1JFRywgc2MtPnJ4X2hlYWQpOwohICAgcnhfYW5vdGhlcjogOwog
 ICAgfQogICAgaWYgKHNjLT5yeF9oZWFkIDwgc2MtPnJ4X2xvd2VyX2xpbWl0ICsgMikKICAgICAg
 b3V0dyhpb2Jhc2UgKyBSQ1ZfU1RPUF9SRUcsIHNjLT5yeF91cHBlcl9saW1pdCk7Ci0tLSA3NTgs
 NzY0IC0tLS0KICAgICAgZWxzZQogICAgICAgIGlmcC0+aWZfaWVycm9ycysrOwogICAgICBvdXR3
 KGlvYmFzZSArIEhPU1RfQUREUl9SRUcsIHNjLT5yeF9oZWFkKTsKISAgIHJ4X2Fub3RoZXI6CiAg
 ICB9CiAgICBpZiAoc2MtPnJ4X2hlYWQgPCBzYy0+cnhfbG93ZXJfbGltaXQgKyAyKQogICAgICBv
 dXR3KGlvYmFzZSArIFJDVl9TVE9QX1JFRywgc2MtPnJ4X3VwcGVyX2xpbWl0KTsKKioqKioqKioq
 KioqKioqCioqKiA3NjAsNzY2ICoqKioKICB9CiAgCiAgCiEgaW50IGV4X2lvY3RsKHJlZ2lzdGVy
 IHN0cnVjdCBpZm5ldCAqaWZwLCB1X2xvbmcgY21kLCBjYWRkcl90IGRhdGEpCiAgewogICAgcmVn
 aXN0ZXIgc3RydWN0IGlmYWRkciAqaWZhID0gKHN0cnVjdCBpZmFkZHIgKikgZGF0YTsKICAgIHN0
 cnVjdCBleF9zb2Z0YyAqc2MgPSAmZXhfc2NbaWZwLT5pZl91bml0XTsKLS0tIDc2OSw3NzUgLS0t
 LQogIH0KICAKICAKISBpbnQgZXhfaW9jdGwocmVnaXN0ZXIgc3RydWN0IGlmbmV0ICppZnAsIGlu
 dCBjbWQsIGNhZGRyX3QgZGF0YSkKICB7CiAgICByZWdpc3RlciBzdHJ1Y3QgaWZhZGRyICppZmEg
 PSAoc3RydWN0IGlmYWRkciAqKSBkYXRhOwogICAgc3RydWN0IGV4X3NvZnRjICpzYyA9ICZleF9z
 Y1tpZnAtPmlmX3VuaXRdOwoqKioqKioqKioqKioqKioKKioqIDg3MSw4NzYgKioqKgotLS0gODgw
 LDg4NiAtLS0tCiAgdm9pZCBleF9yZXNldChpbnQgdW5pdCkKICB7CiAgICBzdHJ1Y3QgZXhfc29m
 dGMgKnNjID0gJmV4X3NjW3VuaXRdOworICAgc3RydWN0IGlmbmV0ICppZnAgPSAmc2MtPmFycGNv
 bS5hY19pZjsKICAgIGludCBzOwogIAogICAgRE9ERUJVRyhTdGFydF9FbmQsIHByaW50ZigiZXhf
 cmVzZXQlZDogc3RhcnRcbiIsIHVuaXQpOyk7CioqKioqKioqKioqKioqKgoqKiogODg4LDg5MyAq
 KioqCi0tLSA4OTgsOTA0IC0tLS0KICAKICB2b2lkIGV4X3dhdGNoZG9nKHN0cnVjdCBpZm5ldCAq
 aWZwKQogIHsKKyAgIHN0cnVjdCBleF9zb2Z0YyAqc2MgPSAmZXhfc2NbaWZwLT5pZl91bml0XTsK
 ICAKICAgIERPREVCVUcoU3RhcnRfRW5kLCBwcmludGYoImV4X3dhdGNoZG9nJWQ6IHN0YXJ0XG4i
 LCBpZnAtPmlmX3VuaXQpOyk7CiAgCg==
 
 ------=_NextPart_000_002C_01BE0792.AD989430
 Content-Type: application/octet-stream;
 	name="if_exreg.diff"
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment;
 	filename="if_exreg.diff"
 
 SW5kZXg6IGlmX2V4cmVnLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3Vzci9jdnNyb290L3NyYy9z
 eXMvaTM4Ni9pc2EvaWZfZXhyZWcuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xCmRpZmYgLWMg
 LXIxLjEgaWZfZXhyZWcuaAoqKiogaWZfZXhyZWcuaAkxOTk3LzAxLzE2IDEyOjE5OjIxCTEuMQot
 LS0gaWZfZXhyZWcuaAkxOTk4LzExLzA0IDAwOjE4OjEzCioqKioqKioqKioqKioqKgoqKiogMTIx
 LDEyNiAqKioqCi0tLSAxMjEsMTI4IC0tLS0KICAjZGVmaW5lIElfQUREUl9SRUcwIDQKICAjZGVm
 aW5lIEVFUFJPTV9SRUcgMTAKICAjZGVmaW5lIFRybm9mZl9FbmFibGUgMHgxMAorICNkZWZpbmUg
 aTgyNTk1X1N0ZXBwaW5nIDB4RTAKKyAjZGVmaW5lIEZYX1N0ZXBwaW5nIDQKICAKICAvKiBFRVBS
 T00gbWVtb3J5IHBvc2l0aW9ucyAoMTYtYml0IHdpZGUpLiAqLwogIAo=
 
 ------=_NextPart_000_002C_01BE0792.AD989430--
 

From ctapang@easystreet.com  Sun Jan  3 16:59:24 1999
Received: from mail4.aracnet.com (mail4.aracnet.com [205.159.88.46])
          by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id QAA02946;
          Sun, 3 Jan 1999 16:59:24 -0800 (PST)
          (envelope-from ctapang@easystreet.com)
Received: from apex (216-99-199-226.cust.aracnet.com [216.99.199.226])
	by mail4.aracnet.com (8.9.1/8.9.0) with SMTP id QAA04416;
	Sun, 3 Jan 1999 16:59:01 -0800
Message-Id: <004801be3785$92b11750$0d787880@apex.tapang>
Date: Sun, 3 Jan 1999 17:57:23 -0800
From: "Carlos C. Tapang" <ctapang@easystreet.com>
To: <freebsd-gnats-submit@freebsd.org>
Cc: <freebsd-current@freebsd.org>
Subject: Fix for PR #i386/8567

 A couple of months ago I submitted a fix for the Intel Pro/10+ driver. I
 just noticed that the fix has not been committed yet. I cvsupped 1.13 of
 this driver, and here is the diff between that and my version of the driver.
 This version will correctly distinguish between Pro/10 and Pro/10+. If you
 have a Pro/10, please let me know if it worked for you.
 
 Carlos C. Tapang
 http://www.genericwindows.com
 
 ps. There are 2 diffs. One for if_ex.c and another for if_exreg.h
 
 ---------------------------------------
 Index: if_ex.c
 ===================================================================
 RCS file: /usr/CVSROOT/src/sys/i386/isa/if_ex.c,v
 retrieving revision 1.13
 diff -c -r1.13 if_ex.c
 *** if_ex.c 1998/10/22 05:58:39 1.13
 --- if_ex.c 1999/01/03 15:36:57
 ***************
 *** 23,30 ****
    * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    * SUCH DAMAGE.
 -  *
 -  * $Id: if_ex.c,v 1.13 1998/10/22 05:58:39 bde Exp $
    */
 
   /*
 --- 23,28 ----
 ***************
 *** 43,57 ****
 --- 41,63 ----
 
   #include <sys/param.h>
   #include <sys/systm.h>
 + #include <sys/kernel.h>
   #include <sys/conf.h>
 + #include <sys/errno.h>
   #include <sys/sockio.h>
   #include <sys/mbuf.h>
   #include <sys/socket.h>
 + #include <sys/syslog.h>
 
   #include <net/if.h>
 + #include <net/if_dl.h>
 + #include <net/if_types.h>
 
   #ifdef INET
   #include <netinet/in.h>
 + #include <netinet/in_systm.h>
 + #include <netinet/in_var.h>
 + #include <netinet/ip.h>
   #include <netinet/if_ether.h>
   #endif
 
 ***************
 *** 67,72 ****
 --- 73,79 ----
 
   #if NBPFILTER > 0
   #include <net/bpf.h>
 + #include <net/bpfdesc.h>
   #endif
 
   #include <machine/clock.h>
 ***************
 *** 93,98 ****
 --- 100,106 ----
   struct ex_softc {
      struct arpcom arpcom; /* Ethernet common data */
    u_int iobase; /* I/O base address. */
 +  u_short chip_stepping; /* either TX or FX (FX is used in Pro/10+) */
    u_short connector; /* Connector type. */
    u_short irq_no; /* IRQ number. */
    char *irq2ee; /* irq <-> internal representation conversion */
 ***************
 *** 187,192 ****
 --- 195,204 ----
    outb(iobase + CMD_REG, Reset_CMD);
    DELAY(400);
 
 +  outb(iobase + CMD_REG, Bank2_Sel);
 +  tmp = inb(iobase + EEPROM_REG);
 +  sc->chip_stepping = (tmp & i82595_Stepping) >> 5;
 +
    /*
     * Fill in several fields of the softc structure:
     * - I/O base address.
 ***************
 *** 207,215 ****
    tmp = eeprom_read(iobase, EE_IRQ_No) & IRQ_No_Mask;
 
    /* work out which set of irq <-> internal tables to use */
 !  if (sc->arpcom.ac_enaddr[0] == 0x00 &&
 !      sc->arpcom.ac_enaddr[1] == 0xA0 &&
 !      sc->arpcom.ac_enaddr[2] == 0xC9) {    /* it's a 10+ */
     sc->irq2ee = plus_irq2eemap;
     sc->ee2irq = plus_ee2irqmap;
    } else {                                  /* it's an ordinary 10 */
 --- 219,225 ----
    tmp = eeprom_read(iobase, EE_IRQ_No) & IRQ_No_Mask;
 
    /* work out which set of irq <-> internal tables to use */
 !  if (sc->chip_stepping >= FX_Stepping) { /* it's a Pro/10 Plus */
     sc->irq2ee = plus_irq2eemap;
     sc->ee2irq = plus_ee2irqmap;
    } else {                                  /* it's an ordinary 10 */
 ***************
 *** 277,288 ****
    if_attach(ifp);
    ether_ifattach(ifp);
 
 !  if (sc->arpcom.ac_enaddr[0] == 0x00 &&
 !      sc->arpcom.ac_enaddr[1] == 0xA0 &&
 !      sc->arpcom.ac_enaddr[2] == 0xC9) {
 !   printf("ex%d: Intel EtherExpress Pro/10+, address %6D, connector ",
 dev->id_unit, sc->arpcom.ac_enaddr, ":");
    } else {
 !   printf("ex%d: Intel EtherExpress Pro/10, address %6D, connector ",
 dev->id_unit, sc->arpcom.ac_enaddr, ":");
    }
    switch(sc->connector) {
     case Conn_TPE: printf("TPE\n"); break;
 --- 287,296 ----
    if_attach(ifp);
    ether_ifattach(ifp);
 
 !  if (sc->chip_stepping >= FX_Stepping) {
 !   printf("ex%d: Intel EtherExpr Pro/10+, address %6D, step %d, connector
 ", dev->id_unit, sc->arpcom.ac_enaddr, ":", sc->chip_stepping);
    } else {
 !   printf("ex%d: Intel EtherExpress Pro/10, address %6D, step %d, connector
 ", dev->id_unit, sc->arpcom.ac_enaddr, ":", sc->chip_stepping);
    }
    switch(sc->connector) {
     case Conn_TPE: printf("TPE\n"); break;
 
 
 Index: if_exreg.h
 ===================================================================
 RCS file: /usr/CVSROOT/src/sys/i386/isa/if_exreg.h,v
 retrieving revision 1.1
 diff -c -r1.1 if_exreg.h
 *** if_exreg.h 1997/01/16 12:19:21 1.1
 --- if_exreg.h 1999/01/03 02:12:43
 ***************
 *** 121,126 ****
 --- 121,128 ----
   #define I_ADDR_REG0 4
   #define EEPROM_REG 10
   #define Trnoff_Enable 0x10
 + #define i82595_Stepping 0xE0
 + #define FX_Stepping 4
 
   /* EEPROM memory positions (16-bit wide). */
 
State-Changed-From-To: open->closed 
State-Changed-By: mdodd 
State-Changed-When: Sun Apr 16 06:58:43 PDT 2000 
State-Changed-Why:  
Similar patch applied.  The problem outlined is no longer an issue with 
the current release. 
>Unformatted:
