PDP11, VAX: Fix DEUNA/DELUA receive descriptor message size indicator.

When packets arrive which require multiple receive buffers to deliver, the
full packet size is reported in the MLEN field of the final receive descriptor
used (the one with the ENF bit set).  Previously, correct behavior only
happened when the full packet fit into a single receive buffer.  This problem
was reported and the detail identified by Johnny Billquist.
This commit is contained in:
Mark Pizzolato 2016-02-25 08:58:02 -08:00
parent f3ca23c739
commit 9a7c46f59e

View file

@ -1305,7 +1305,7 @@ void xu_process_receive(CTLR* xu)
* part of the packet, and is included in the MLEN count. -- DTH * part of the packet, and is included in the MLEN count. -- DTH
*/ */
xu->var->rxhdr[3] &= ~RXR_MLEN; xu->var->rxhdr[3] &= ~RXR_MLEN;
xu->var->rxhdr[3] |= wlen; xu->var->rxhdr[3] |= (uint16)(item->packet.crc_len);
/* Is this the end-of-frame? OR is buffer chaining disabled? */ /* Is this the end-of-frame? OR is buffer chaining disabled? */
if ((item->packet.used == item->packet.crc_len) || if ((item->packet.used == item->packet.crc_len) ||