Signed-off-by: Stefan Weil <w...@mail.berlios.de>
---
 hw/eepro100.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/hw/eepro100.c b/hw/eepro100.c
index 0415132..741031c 100644
--- a/hw/eepro100.c
+++ b/hw/eepro100.c
@@ -175,6 +175,7 @@ typedef enum {
 } scb_command_bit;
 
 typedef enum {
+    STATUS_NOT_OK = 0,
     STATUS_C = BIT(15),
     STATUS_OK = BIT(13),
 } scb_status_bit;
@@ -882,7 +883,7 @@ static void action_command(EEPRO100State *s)
         bool bit_s;
         bool bit_i;
         bool bit_nc;
-        bool success = true;
+        uint16_t ok_status = STATUS_OK;
         s->cb_address = s->cu_base + s->cu_offset;
         read_cb(s);
         bit_el = ((s->tx.command & COMMAND_EL) != 0);
@@ -915,7 +916,7 @@ static void action_command(EEPRO100State *s)
         case CmdTx:
             if (bit_nc) {
                 missing("CmdTx: NC = 0");
-                success = false;
+                ok_status = STATUS_NOT_OK;
                 break;
             }
             tx_command(s);
@@ -932,11 +933,11 @@ static void action_command(EEPRO100State *s)
             break;
         default:
             missing("undefined command");
-            success = false;
+            ok_status = STATUS_NOT_OK;
             break;
         }
         /* Write new status. */
-        stw_phys(s->cb_address, s->tx.status | STATUS_C | (success ? STATUS_OK 
: 0));
+        stw_phys(s->cb_address, s->tx.status | ok_status | STATUS_C);
         if (bit_i) {
             /* CU completed action. */
             eepro100_cx_interrupt(s);
-- 
1.7.0



Reply via email to