]> rtime.felk.cvut.cz Git - jailhouse.git/blobdiff - inmates/demos/x86/e1000-demo.c
inmates: e1000-demo: Write RX tail only after enabling the queue
[jailhouse.git] / inmates / demos / x86 / e1000-demo.c
index 6aaa102cd5a256512996dbb014551c4d0fe03857..abb11d02fd7dbcc764039c66838d314e96ddf6e7 100644 (file)
@@ -283,13 +283,15 @@ void inmate_main(void)
        mmio_write32(mmiobar + E1000_REG_RDBAH, 0);
        mmio_write32(mmiobar + E1000_REG_RDLEN, sizeof(rx_ring));
        mmio_write32(mmiobar + E1000_REG_RDH, 0);
-       mmio_write32(mmiobar + E1000_REG_RDT, RX_DESCRIPTORS - 1);
+       mmio_write32(mmiobar + E1000_REG_RDT, 0);
 
        val = mmio_read32(mmiobar + E1000_REG_RCTL);
        val |= E1000_RCTL_EN | E1000_RCTL_BAM | E1000_RCTL_BSIZE_2048 |
                E1000_RCTL_SECRC;
        mmio_write32(mmiobar + E1000_REG_RCTL, val);
 
+       mmio_write32(mmiobar + E1000_REG_RDT, RX_DESCRIPTORS - 1);
+
        mmio_write32(mmiobar + E1000_REG_TDBAL, (unsigned long)&tx_ring);
        mmio_write32(mmiobar + E1000_REG_TDBAH, 0);
        mmio_write32(mmiobar + E1000_REG_TDLEN, sizeof(tx_ring));