NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/30560 CVS commit: [netbsd-4-0] src/sys/dev/ic



The following reply was made to PR port-alpha/30560; it has been noted by GNATS.

From: Jeff Rizzo <riz%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/30560 CVS commit: [netbsd-4-0] src/sys/dev/ic
Date: Sat,  2 Feb 2008 23:16:40 +0000 (UTC)

 Module Name:   src
 Committed By:  riz
 Date:          Sat Feb  2 23:16:40 UTC 2008
 
 Modified Files:
        src/sys/dev/ic [netbsd-4-0]: i82557.c i82557reg.h i82557var.h
 
 Log Message:
 Pull up following revision(s) (requested by tsutsui in ticket #1028):
        sys/dev/ic/i82557reg.h: revision 1.19
        sys/dev/ic/i82557var.h: revision 1.36
        sys/dev/ic/i82557.c: revision 1.105
 Pull several fixes from OpenBSD's fxp.c:
 Rev 1.41:
 use a nop with I bit set at the end of the tx chain.  This avoids a race
 between status update and clearing the suspend bit on machines which can't
 write data smaller than 32bits at a time.
 This should fix PR port-alpha/30560.
 Rev 1.50:
 Fix nasty bug where driver would not correctly catch and handle an rnr
 condition when it was due to the the recieve buffers being exhausted with
 no packet transmits during that time. Symptom was that the fxp would
 simply stop interrupting for the next 15 seconds until the watchdog kicked
 in and reset the chip due to 15 seconds of inactivity, making the fxp very
 poorly behaved when hammered on hard.
 Rev 1.61:
 Defer reinitialisation of the RU until after the interrupt handler has had
 a chance to process all pending packets, otherwise the chip may overwrite
 their mbuf clusters after we have freed them.
 Eliminates a race that can cause random pool corruption when reconfiguring
 an interface under heavy network load.
 And one more change for RX sanity:
 - put RU into suspend when the last RFA is processed.
 These RNR/RU changes may fix pool corruption problems on fxp.
 Tested on AlphaPC164 and i386 with i82559 and i82550.
 
 
 To generate a diff of this commit:
 cvs rdiff -r1.100 -r1.100.12.1 src/sys/dev/ic/i82557.c
 cvs rdiff -r1.18 -r1.18.58.1 src/sys/dev/ic/i82557reg.h
 cvs rdiff -r1.35 -r1.35.58.1 src/sys/dev/ic/i82557var.h
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 



Home | Main Index | Thread Index | Old Index