mirror of https://github.com/xemu-project/xemu.git
esp.c: remove unneeded if() check in esp_transfer_data()
The following ti_cmd checks ensure that only DMA and non-DMA TI commmands will can call into the esp_do_dma() and esp_do_nodma() callbacks. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Tested-by: Helge Deller <deller@gmx.de> Tested-by: Thomas Huth <thuth@redhat.com> Message-Id: <20240112125420.514425-27-mark.cave-ayland@ilande.co.uk> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This commit is contained in:
parent
81ed2ed3e8
commit
fe082b5475
|
@ -916,16 +916,13 @@ void esp_transfer_data(SCSIRequest *req, uint32_t len)
|
||||||
esp_raise_irq(s);
|
esp_raise_irq(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s->ti_cmd == 0) {
|
/*
|
||||||
/*
|
* Always perform the initial transfer upon reception of the next TI
|
||||||
* Always perform the initial transfer upon reception of the next TI
|
* command to ensure the DMA/non-DMA status of the command is correct.
|
||||||
* command to ensure the DMA/non-DMA status of the command is correct.
|
* It is not possible to use s->dma directly in the section below as
|
||||||
* It is not possible to use s->dma directly in the section below as
|
* some OSs send non-DMA NOP commands after a DMA transfer. Hence if the
|
||||||
* some OSs send non-DMA NOP commands after a DMA transfer. Hence if the
|
* async data transfer is delayed then s->dma is set incorrectly.
|
||||||
* async data transfer is delayed then s->dma is set incorrectly.
|
*/
|
||||||
*/
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (s->ti_cmd == (CMD_TI | CMD_DMA)) {
|
if (s->ti_cmd == (CMD_TI | CMD_DMA)) {
|
||||||
if (dmalen) {
|
if (dmalen) {
|
||||||
|
|
Loading…
Reference in New Issue