From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NmZpc-0004lb-UC for qemu-devel@nongnu.org; Tue, 02 Mar 2010 16:40:45 -0500 Received: from [199.232.76.173] (port=37840 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NmZpc-0004lG-E8 for qemu-devel@nongnu.org; Tue, 02 Mar 2010 16:40:44 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NmZpb-0004zB-2r for qemu-devel@nongnu.org; Tue, 02 Mar 2010 16:40:44 -0500 Received: from moutng.kundenserver.de ([212.227.126.171]:51161) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NmZpa-0004yz-JK for qemu-devel@nongnu.org; Tue, 02 Mar 2010 16:40:42 -0500 From: Stefan Weil Date: Tue, 2 Mar 2010 22:37:54 +0100 Message-Id: <1267565880-18382-14-git-send-email-weil@mail.berlios.de> In-Reply-To: <4B7821AC.6080400@mail.berlios.de> References: <4B7821AC.6080400@mail.berlios.de> Subject: [Qemu-devel] [PATCHv3 14/20] eepro100: Fix CU Start command List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: QEMU Developers Cc: mst@redhat.com CU Start is allowed when the CU is in the idle or suspended state. Signed-off-by: Stefan Weil --- hw/eepro100.c | 12 ++++++------ 1 files 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; -- 1.7.0