I just took a closer look at the busdma diff, and this change to dc_txeof() looks very suspicious: _at__at_ -2663,7 +2809,7 _at__at_ if (txstat & DC_TXSTAT_OWN) break; - if (!(cur_tx->dc_ctl & DC_TXCTL_LASTFRAG) || + if (!(cur_tx->dc_ctl & DC_TXCTL_FIRSTFRAG) || cur_tx->dc_ctl & DC_TXCTL_SETUP) { if (cur_tx->dc_ctl & DC_TXCTL_SETUP) { /* The code in the "if" block ends with a "continue" which will cause the error handling code to be skipped if the "if" condition is true. I'm pretty sure that the error status bits are only set in the last descriptor for the frame, so we want to execute the "continue" unless the DC_TXCTL_LASTFRAG bit is set. Try reverting this part of the busdma change.Received on Sun Jan 04 2004 - 12:51:16 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:36 UTC