[tulip-bug] patch avoids lockups under high load

Michael.Turner@infoUSA.com Michael.Turner@infoUSA.com
Mon, 5 Feb 2001 17:18:43 -0600


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_000_01C08FC9.FB45ADA0
Content-Type: text/plain;
	charset="iso-8859-1"

 <<errors.1>>  <<errors.2>>  <<errors.3>> 

hello,

  I am not sure if this is the correct way to add a message to the mailing
list but I will try anyway. I am new to Linux and have had a great number of
"learning experiences" since I first installed it. I believe I have a
LNE-100tx Linksys network card(ethernet).  I will find out specifically what
the card type I have later. I used to have Linux version 6.2 installed. On
that install, I had to compile the drivers. I downloaded the latest versions
of pci-scan.c and tulip.c from the ftp.scyld.com site. It compiled without
incident. I decided to upgrade to 7.0. That is where I am having my
problems. I have tried to compile the pci-scan.h and I recieve assembler
warnings but nothing fatal. On the tulip.c however I recieved a slew of
errors. I will include the files. First, I got errors stating that the
member variables tbusy and start didn't exist(errors.1). Second, after some
research, I had a friend send me a copy of his(6.2) version of netdevice.h
which had those variables declared in the netdevice structure. Then I
compiled it. Now I recieved a ton of pointer dereferencing errors(errors.3).
I then did some more research and found that in netdevice.h the structure
was named device NOT net_device, so I took it upon my self to replace all
the instances of device with net_device. this time the only errors I
recieved was that a #define was not declared(NET_BH). I have tried a couple
of things to no avail. Please I beg of you, O genius of the tulip device
driver, have pity on me and solve this issue for me. I know I am probably
doing something stupid. I had reservations to even edit the files but I said
what the heck! Anyway, Thanks in advance for any tidbits of wisdom you can
give. 


!!!  I know I am full of it. !!!  : )

Mike Turner
mturner@rens.com


------_=_NextPart_000_01C08FC9.FB45ADA0
Content-Type: application/octet-stream;
	name="errors.1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="errors.1"

tulip.c: In function `tulip_open':=0A=
tulip.c:1438: structure has no member named `tbusy'=0A=
tulip.c:1439: structure has no member named `start'=0A=
tulip.c: In function `tulip_start_xmit':=0A=
tulip.c:2531: structure has no member named `tbusy'=0A=
tulip.c:2564: structure has no member named `tbusy'=0A=
tulip.c: In function `tulip_interrupt':=0A=
tulip.c:2583: structure has no member named `interrupt'=0A=
tulip.c:2587: structure has no member named `interrupt'=0A=
tulip.c:2668: structure has no member named `tbusy'=0A=
tulip.c:2672: structure has no member named `tbusy'=0A=
tulip.c:2673: `NET_BH' undeclared (first use in this function)=0A=
tulip.c:2673: (Each undeclared identifier is reported only once=0A=
tulip.c:2673: for each function it appears in.)=0A=
tulip.c:2758: structure has no member named `interrupt'=0A=
tulip.c: In function `tulip_close':=0A=
tulip.c:2904: structure has no member named `start'=0A=
tulip.c:2905: structure has no member named `tbusy'=0A=
tulip.c: In function `tulip_get_stats':=0A=
tulip.c:2944: structure has no member named `start'=0A=
tulip.c: In function `set_rx_mode':=0A=
tulip.c:3183: structure has no member named `tbusy'=0A=

------_=_NextPart_000_01C08FC9.FB45ADA0
Content-Type: application/octet-stream;
	name="errors.2"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="errors.2"

tulip.c: In function `tulip_interrupt':=0A=
tulip.c:2673: `NET_BH' undeclared (first use in this function)=0A=
tulip.c:2673: (Each undeclared identifier is reported only once=0A=
tulip.c:2673: for each function it appears in.)=0A=

------_=_NextPart_000_01C08FC9.FB45ADA0
Content-Type: application/octet-stream;
	name="errors.3"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="errors.3"

tulip.c: In function `tulip_probe1':=0A=
tulip.c:623: dereferencing pointer to incomplete type=0A=
tulip.c:633: dereferencing pointer to incomplete type=0A=
tulip.c:654: dereferencing pointer to incomplete type=0A=
tulip.c:664: dereferencing pointer to incomplete type=0A=
tulip.c:669: dereferencing pointer to incomplete type=0A=
tulip.c:670: dereferencing pointer to incomplete type=0A=
tulip.c:672: dereferencing pointer to incomplete type=0A=
tulip.c:693: dereferencing pointer to incomplete type=0A=
tulip.c:698: dereferencing pointer to incomplete type=0A=
tulip.c:698: dereferencing pointer to incomplete type=0A=
tulip.c:699: dereferencing pointer to incomplete type=0A=
tulip.c:701: dereferencing pointer to incomplete type=0A=
tulip.c:702: dereferencing pointer to incomplete type=0A=
tulip.c:702: dereferencing pointer to incomplete type=0A=
tulip.c:703: dereferencing pointer to incomplete type=0A=
tulip.c:713: dereferencing pointer to incomplete type=0A=
tulip.c:714: dereferencing pointer to incomplete type=0A=
tulip.c:722: dereferencing pointer to incomplete type=0A=
tulip.c:727: dereferencing pointer to incomplete type=0A=
tulip.c:729: dereferencing pointer to incomplete type=0A=
tulip.c:730: dereferencing pointer to incomplete type=0A=
tulip.c:764: dereferencing pointer to incomplete type=0A=
tulip.c:766: dereferencing pointer to incomplete type=0A=
tulip.c:767: dereferencing pointer to incomplete type=0A=
tulip.c:789: dereferencing pointer to incomplete type=0A=
tulip.c:790: dereferencing pointer to incomplete type=0A=
tulip.c:791: dereferencing pointer to incomplete type=0A=
tulip.c:792: dereferencing pointer to incomplete type=0A=
tulip.c:794: dereferencing pointer to incomplete type=0A=
tulip.c:797: dereferencing pointer to incomplete type=0A=
tulip.c:595: warning: `tp' might be used uninitialized in this =
function=0A=
tulip.c: In function `start_link':=0A=
tulip.c:813: dereferencing pointer to incomplete type=0A=
tulip.c:814: dereferencing pointer to incomplete type=0A=
tulip.c:825: dereferencing pointer to incomplete type=0A=
tulip.c:827: dereferencing pointer to incomplete type=0A=
tulip.c:853: dereferencing pointer to incomplete type=0A=
tulip.c:858: dereferencing pointer to incomplete type=0A=
tulip.c:870: dereferencing pointer to incomplete type=0A=
tulip.c:897: dereferencing pointer to incomplete type=0A=
tulip.c: In function `parse_eeprom':=0A=
tulip.c:994: dereferencing pointer to incomplete type=0A=
tulip.c:1010: dereferencing pointer to incomplete type=0A=
tulip.c:1017: dereferencing pointer to incomplete type=0A=
tulip.c:1022: dereferencing pointer to incomplete type=0A=
tulip.c:1023: dereferencing pointer to incomplete type=0A=
tulip.c:1024: dereferencing pointer to incomplete type=0A=
tulip.c:1025: dereferencing pointer to incomplete type=0A=
tulip.c:1031: dereferencing pointer to incomplete type=0A=
tulip.c:1031: dereferencing pointer to incomplete type=0A=
tulip.c:1038: dereferencing pointer to incomplete type=0A=
tulip.c:1051: dereferencing pointer to incomplete type=0A=
tulip.c:1070: dereferencing pointer to incomplete type=0A=
tulip.c:1082: dereferencing pointer to incomplete type=0A=
tulip.c:1106: dereferencing pointer to incomplete type=0A=
tulip.c:1157: dereferencing pointer to incomplete type=0A=
tulip.c:1162: dereferencing pointer to incomplete type=0A=
tulip.c:1046: warning: `otp' might be used uninitialized in this =
function=0A=
tulip.c: In function `mdio_read':=0A=
tulip.c:1250: dereferencing pointer to incomplete type=0A=
tulip.c:1254: dereferencing pointer to incomplete type=0A=
tulip.c: In function `mdio_write':=0A=
tulip.c:1310: dereferencing pointer to incomplete type=0A=
tulip.c:1313: dereferencing pointer to incomplete type=0A=
tulip.c: In function `tulip_open':=0A=
tulip.c:1368: dereferencing pointer to incomplete type=0A=
tulip.c:1369: dereferencing pointer to incomplete type=0A=
tulip.c:1387: dereferencing pointer to incomplete type=0A=
tulip.c:1387: dereferencing pointer to incomplete type=0A=
tulip.c:1398: dereferencing pointer to incomplete type=0A=
tulip.c:1398: dereferencing pointer to incomplete type=0A=
tulip.c:1403: dereferencing pointer to incomplete type=0A=
tulip.c:1403: dereferencing pointer to incomplete type=0A=
tulip.c:1407: dereferencing pointer to incomplete type=0A=
tulip.c:1407: dereferencing pointer to incomplete type=0A=
tulip.c:1407: dereferencing pointer to incomplete type=0A=
tulip.c:1407: dereferencing pointer to incomplete type=0A=
tulip.c:1411: dereferencing pointer to incomplete type=0A=
tulip.c:1412: dereferencing pointer to incomplete type=0A=
tulip.c:1430: dereferencing pointer to incomplete type=0A=
tulip.c:1438: dereferencing pointer to incomplete type=0A=
tulip.c:1439: dereferencing pointer to incomplete type=0A=
tulip.c:1449: dereferencing pointer to incomplete type=0A=
tulip.c: In function `init_media':=0A=
tulip.c:1465: dereferencing pointer to incomplete type=0A=
tulip.c:1466: dereferencing pointer to incomplete type=0A=
tulip.c:1469: dereferencing pointer to incomplete type=0A=
tulip.c:1470: dereferencing pointer to incomplete type=0A=
tulip.c:1471: dereferencing pointer to incomplete type=0A=
tulip.c:1477: dereferencing pointer to incomplete type=0A=
tulip.c:1478: dereferencing pointer to incomplete type=0A=
tulip.c:1479: dereferencing pointer to incomplete type=0A=
tulip.c:1479: dereferencing pointer to incomplete type=0A=
tulip.c:1483: dereferencing pointer to incomplete type=0A=
tulip.c:1483: dereferencing pointer to incomplete type=0A=
tulip.c:1492: dereferencing pointer to incomplete type=0A=
tulip.c:1506: dereferencing pointer to incomplete type=0A=
tulip.c:1507: dereferencing pointer to incomplete type=0A=
tulip.c:1526: dereferencing pointer to incomplete type=0A=
tulip.c:1529: dereferencing pointer to incomplete type=0A=
tulip.c:1540: dereferencing pointer to incomplete type=0A=
tulip.c:1554: dereferencing pointer to incomplete type=0A=
tulip.c:1560: dereferencing pointer to incomplete type=0A=
tulip.c:1566: dereferencing pointer to incomplete type=0A=
tulip.c: In function `select_media':=0A=
tulip.c:1580: dereferencing pointer to incomplete type=0A=
tulip.c:1581: dereferencing pointer to incomplete type=0A=
tulip.c:1594: dereferencing pointer to incomplete type=0A=
tulip.c:1595: dereferencing pointer to incomplete type=0A=
tulip.c:1607: dereferencing pointer to incomplete type=0A=
tulip.c:1608: dereferencing pointer to incomplete type=0A=
tulip.c:1616: dereferencing pointer to incomplete type=0A=
tulip.c:1623: dereferencing pointer to incomplete type=0A=
tulip.c:1623: dereferencing pointer to incomplete type=0A=
tulip.c:1639: dereferencing pointer to incomplete type=0A=
tulip.c:1640: dereferencing pointer to incomplete type=0A=
tulip.c:1651: dereferencing pointer to incomplete type=0A=
tulip.c:1663: dereferencing pointer to incomplete type=0A=
tulip.c:1694: dereferencing pointer to incomplete type=0A=
tulip.c:1701: dereferencing pointer to incomplete type=0A=
tulip.c:1706: dereferencing pointer to incomplete type=0A=
tulip.c:1706: dereferencing pointer to incomplete type=0A=
tulip.c:1709: dereferencing pointer to incomplete type=0A=
tulip.c:1709: dereferencing pointer to incomplete type=0A=
tulip.c:1712: dereferencing pointer to incomplete type=0A=
tulip.c:1721: dereferencing pointer to incomplete type=0A=
tulip.c:1724: dereferencing pointer to incomplete type=0A=
tulip.c:1724: dereferencing pointer to incomplete type=0A=
tulip.c:1735: dereferencing pointer to incomplete type=0A=
tulip.c:1735: dereferencing pointer to incomplete type=0A=
tulip.c:1750: dereferencing pointer to incomplete type=0A=
tulip.c:1750: dereferencing pointer to incomplete type=0A=
tulip.c:1751: dereferencing pointer to incomplete type=0A=
tulip.c:1757: dereferencing pointer to incomplete type=0A=
tulip.c:1764: dereferencing pointer to incomplete type=0A=
tulip.c:1767: dereferencing pointer to incomplete type=0A=
tulip.c:1768: dereferencing pointer to incomplete type=0A=
tulip.c:1770: dereferencing pointer to incomplete type=0A=
tulip.c:1777: dereferencing pointer to incomplete type=0A=
tulip.c:1777: dereferencing pointer to incomplete type=0A=
tulip.c: In function `check_duplex':=0A=
tulip.c:1793: dereferencing pointer to incomplete type=0A=
tulip.c:1794: dereferencing pointer to incomplete type=0A=
tulip.c:1804: dereferencing pointer to incomplete type=0A=
tulip.c:1813: dereferencing pointer to incomplete type=0A=
tulip.c:1831: dereferencing pointer to incomplete type=0A=
tulip.c: In function `tulip_timer':=0A=
tulip.c:1841: dereferencing pointer to incomplete type=0A=
tulip.c:1842: dereferencing pointer to incomplete type=0A=
tulip.c:1849: dereferencing pointer to incomplete type=0A=
tulip.c:1849: dereferencing pointer to incomplete type=0A=
tulip.c:1857: dereferencing pointer to incomplete type=0A=
tulip.c:1858: dereferencing pointer to incomplete type=0A=
tulip.c:1858: dereferencing pointer to incomplete type=0A=
tulip.c:1860: dereferencing pointer to incomplete type=0A=
tulip.c:1866: dereferencing pointer to incomplete type=0A=
tulip.c:1868: dereferencing pointer to incomplete type=0A=
tulip.c:1869: dupicate case value=0A=
tulip.c:1874: dereferencing pointer to incomplete type=0A=
tulip.c:1876: dereferencing pointer to incomplete type=0A=
tulip.c:1878: dereferencing pointer to incomplete type=0A=
tulip.c:1878: dereferencing pointer to incomplete type=0A=
tulip.c:1880: dereferencing pointer to incomplete type=0A=
tulip.c:1881: dereferencing pointer to incomplete type=0A=
tulip.c:1882: dereferencing pointer to incomplete type=0A=
tulip.c:1887: dupicate case value=0A=
tulip.c:1894: dereferencing pointer to incomplete type=0A=
tulip.c:1895: dereferencing pointer to incomplete type=0A=
tulip.c:1899: dereferencing pointer to incomplete type=0A=
tulip.c:1899: dereferencing pointer to incomplete type=0A=
tulip.c:1907: break statement not within loop or switch=0A=
tulip.c:1908: case label not within a switch statement=0A=
tulip.c:1908: case label not within a switch statement=0A=
tulip.c:1908: case label not within a switch statement=0A=
tulip.c:1908: case label not within a switch statement=0A=
tulip.c:1908: default label not within a switch statement=0A=
tulip.c:1918: dereferencing pointer to incomplete type=0A=
tulip.c:1919: break statement not within loop or switch=0A=
tulip.c:1932: dereferencing pointer to incomplete type=0A=
tulip.c:1942: dereferencing pointer to incomplete type=0A=
tulip.c:1949: dereferencing pointer to incomplete type=0A=
tulip.c:1962: dereferencing pointer to incomplete type=0A=
tulip.c:1963: dereferencing pointer to incomplete type=0A=
tulip.c:1968: dereferencing pointer to incomplete type=0A=
tulip.c:1987: break statement not within loop or switch=0A=
tulip.c:1991: Internal error: Segmentation fault.=0A=
Please submit a full bug report.=0A=
See <URL:http://www.gnu.org/software/gcc/bugs.html> for =
instructions.=0A=

------_=_NextPart_000_01C08FC9.FB45ADA0--