Patchwork [14/20] eepro100: Fix CU Start command

login
register
mail settings
Submitter Stefan Weil
Date Feb. 14, 2010, 4:16 p.m.
Message ID <1266164189-21062-14-git-send-email-weil@mail.berlios.de>
Download mbox | patch
Permalink /patch/45319/
State New
Headers show

Comments

Stefan Weil - Feb. 14, 2010, 4:16 p.m.
CU Start is allowed when the CU is in the idle or suspended state.

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

Patch

diff --git a/hw/eepro100.c b/hw/eepro100.c
index 37176cd..8a139f7 100644
--- a/hw/eepro100.c
+++ b/hw/eepro100.c
@@ -976,17 +976,17 @@  static void action_command(EEPRO100State *s)
 
 static void eepro100_cu_command(EEPRO100State * s, uint8_t val)
 {
+    cu_state_t cu_state;
     switch (val) {
     case CU_NOP:
         /* No operation. */
         break;
     case CU_START:
-        if (get_cu_state(s) != cu_idle) {
-            /* Intel documentation says that CU must be idle for the CU
-             * start command. Intel driver for Linux also starts the CU
-             * from suspended state. */
-            logout("CU state is %u, should be %u\n", get_cu_state(s), cu_idle);
-            //~ assert(!"wrong CU state");
+        cu_state = get_cu_state(s);
+        if (cu_state != cu_idle && cu_state != cu_suspended) {
+            /* Intel documentation says that CU must be idle or suspended
+             * for the CU start command. */
+            logout("unexpected CU state is %u\n", cu_state);
         }
         set_cu_state(s, cu_active);
         s->cu_offset = s->pointer;