esp.c: replace cmdfifo use of esp_fifo_pop() in do_message_phase()
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Sun, 24 Mar 2024 19:16:53 +0000 (19:16 +0000)
committerMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Thu, 4 Apr 2024 14:17:53 +0000 (15:17 +0100)
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20240324191707.623175-5-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
hw/scsi/esp.c

index 9386704a580d6d723d0a301077a3ebd2277a533a..5b169b3720d67b90dada2a4de4501d7cee9bafdb 100644 (file)
@@ -315,7 +315,8 @@ static void do_command_phase(ESPState *s)
 static void do_message_phase(ESPState *s)
 {
     if (s->cmdfifo_cdb_offset) {
-        uint8_t message = esp_fifo_pop(&s->cmdfifo);
+        uint8_t message = fifo8_is_empty(&s->cmdfifo) ? 0 :
+                          fifo8_pop(&s->cmdfifo);
 
         trace_esp_do_identify(message);
         s->lun = message & 7;