Revision ec1d02d8

b/hw/eepro100.c
903 903
    for (;;) {
904 904
        s->cb_address = s->cu_base + s->cu_offset;
905 905
        cpu_physical_memory_read(s->cb_address, (uint8_t *)&s->tx, sizeof(s->tx));
906
        uint16_t status = le16_to_cpu(s->tx.status);
907 906
        uint16_t command = le16_to_cpu(s->tx.command);
907
        s->tx.status = le16_to_cpu(s->tx.status);
908 908
        logout("val=(cu start), status=0x%04x, command=0x%04x, link=0x%08x\n",
909
               status, command, s->tx.link);
909
               s->tx.status, command, s->tx.link);
910 910
        bool bit_el = ((command & COMMAND_EL) != 0);
911 911
        bool bit_s = ((command & COMMAND_S) != 0);
912 912
        bool bit_i = ((command & COMMAND_I) != 0);
......
950 950
            break;
951 951
        }
952 952
        /* Write new status. */
953
        stw_phys(s->cb_address, status | STATUS_C | (success ? STATUS_OK : 0));
953
        stw_phys(s->cb_address, s->tx.status | STATUS_C | (success ? STATUS_OK : 0));
954 954
        if (bit_i) {
955 955
            /* CU completed action. */
956 956
            eepro100_cx_interrupt(s);

Also available in: Unified diff