Revision ee912ccf
b/hw/e1000.c | ||
---|---|---|
698 | 698 |
copy_size); |
699 | 699 |
} |
700 | 700 |
desc_offset += desc_size; |
701 |
desc.length = cpu_to_le16(desc_size); |
|
701 | 702 |
if (desc_offset >= total_size) { |
702 |
desc.length = cpu_to_le16(desc_size); |
|
703 | 703 |
desc.status |= E1000_RXD_STAT_EOP | E1000_RXD_STAT_IXSM; |
704 | 704 |
} else { |
705 |
desc.length = cpu_to_le16(desc_size); |
|
705 |
/* Guest zeroing out status is not a hardware requirement. |
|
706 |
Clear EOP in case guest didn't do it. */ |
|
707 |
desc.status &= ~E1000_RXD_STAT_EOP; |
|
706 | 708 |
} |
707 | 709 |
} else { // as per intel docs; skip descriptors with null buf addr |
708 | 710 |
DBGOUT(RX, "Null RX descriptor!!\n"); |
Also available in: Unified diff