From cb25a3fb6001067a10ff420ba98179a3fe30aef2 Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Tue, 2 Mar 2010 22:37:54 +0100 Subject: eepro100: Fix CU Start command CU Start is allowed when the CU is in the idle or suspended state. Signed-off-by: Stefan Weil Signed-off-by: Michael S. Tsirkin --- hw/eepro100.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hw/eepro100.c b/hw/eepro100.c index 40d8db5..a9bf7a0 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; -- cgit v1.1