From nobody Thu Mar 12 23:27:12 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) client-ip=78.46.105.101; envelope-from=seabios-bounces@seabios.org; helo=coreboot.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) smtp.mailfrom=seabios-bounces@seabios.org; dmarc=fail(p=none dis=none) header.from=ilande.co.uk Return-Path: Received: from coreboot.org (coreboot.org [78.46.105.101]) by mx.zohomail.com with SMTPS id 1690635928732358.7557998517601; Sat, 29 Jul 2023 06:05:28 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTPA id 3C39132556; Sat, 29 Jul 2023 13:05:24 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTP id 7ADDD32533 for ; Sat, 29 Jul 2023 13:04:56 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qPjcW-0002XJ-Mu for seabios@seabios.org; Sat, 29 Jul 2023 14:04:36 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To:Cc: Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=80FZz+4BTQR88Su7z9OsWKHRwO70oFv9ldkMeik+Y/0=; b=qnFsf8J9tQ+xVN0AyjO4jumeet s2Cy/b0NTEU2XWVuQimVRsJUq3EqcmEB3cLWga6+TacQAsT1QTUrlDzRTAZ/8zRQLl6C3SIAomLN0 oQrmdFOPcg7tT9ERmG6aR2XzsdBGfUTj9EJJnAkHbig3F9Uc3K9+xYkxiv/v+/5VTlO2LIzQPskzT yhh3pAKIB+xvEGuZe6aDSCvWbfUGTHE0IDFB193487VHN+iJMRXJQ7WIcYJRp3yvGX3x6TdB4MHgr jf6SzXGZn7KMjkptJowZGrX1WPeDcSAQBjIKo9SweRPBqGA2zlcFODeL5iWnHM4Thm/ibrECKgZcW P0oo96fRfVm70MkSp5mZhh+EuGy+TkZgr0/vGvWZZ3qplRBIPAYxrH/K2pJv/h7HO0MLLZZaKUYsQ w8q0h3o3489ztRsu7xgO4/Ue5Azhr20XwCKktio4EFRwJq+9mzLe22FMwmJ9bw8qrR7jZ1q8A+mqu zro2p5n09WVBV4ZlxyNhAA+ao2L2Np9vF1CJg60+aalBljDvPWuxEjbHRG0lDHfKtsk1Wrx8qR1gF bXIjBwiCP6TWMhEoF+84h6eveNvpm4i+q+jvCDueA7RWaO8JF02jg1w84QSMMmF3dqNZOKYaBSLZx PtOdV8PhADx0ENWqtFCrBQ5Zc+TY8kGHJb1Rmar0U=; From: Mark Cave-Ayland To: seabios@seabios.org Date: Sat, 29 Jul 2023 14:04:40 +0100 Message-Id: <20230729130441.109516-2-mark.cave-ayland@ilande.co.uk> In-Reply-To: <20230729130441.109516-1-mark.cave-ayland@ilande.co.uk> References: <20230729130441.109516-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a00:23c4:8bae:1c00:dfd7:380:3565:1db7 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mail.default.ilande.bv.iomart.io X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED,BAYES_00, URIBL_BLOCKED,URIBL_SBL_A autolearn=no autolearn_force=no version=3.4.2 X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) X-Spam-Level: *** Message-ID-Hash: QKY53KDXCFGQHVPMUATXKDW67SCW3UXU X-Message-ID-Hash: QKY53KDXCFGQHVPMUATXKDW67SCW3UXU X-MailFrom: mark.cave-ayland@ilande.co.uk X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-seabios.seabios.org-0; header-match-seabios.seabios.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [SeaBIOS] [PATCH 1/2] esp-scsi: flush FIFO before sending SCSI command List-Id: SeaBIOS mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable Authentication-Results: coreboot.org; auth=pass smtp.auth=mailman@coreboot.org smtp.mailfrom=seabios-bounces@seabios.org X-Spamd-Bar: --- X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1690635931001100001 Content-Type: text/plain; charset="utf-8" The ESP FIFO is used as a buffer for DMA requests and so isn't guaranteed to be empty in the case of SCSI errors or a mixed DMA/non-DMA request. Flush t= he FIFO before sending a SCSI command to guarantee that it is correctly positioned at the start of the FIFO. Signed-off-by: Mark Cave-Ayland Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- src/hw/esp-scsi.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/hw/esp-scsi.c b/src/hw/esp-scsi.c index cc25f22..e4815aa 100644 --- a/src/hw/esp-scsi.c +++ b/src/hw/esp-scsi.c @@ -46,6 +46,7 @@ #define ESP_DMA_WMAC 0x58c =20 #define ESP_CMD_DMA 0x80 +#define ESP_CMD_FLUSH 0x01 #define ESP_CMD_RESET 0x02 #define ESP_CMD_TI 0x10 #define ESP_CMD_ICCS 0x11 @@ -96,6 +97,9 @@ esp_scsi_process_op(struct disk_op_s *op) =20 outb(target, iobase + ESP_WBUSID); =20 + /* Clear FIFO before sending command. */ + outb(ESP_CMD_FLUSH, iobase + ESP_CMD); + /* * We need to pass the LUN at the beginning of the command, and the FI= FO * is only 16 bytes, so we cannot support 16-byte CDBs. The alternati= ve --=20 2.30.2 _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org