On 2014/11/10 15:50, Hannes Reinecke wrote: > On 11/10/2014 08:39 AM, Gonglei wrote: >> On 2014/11/10 15:02, Hannes Reinecke wrote: >> >>> On 11/09/2014 10:44 AM, Mark Cave-Ayland wrote: >>>> On 07/11/14 12:22, Hannes Reinecke wrote: >>>> >>>>> A linux guest will be issuing messages: >>>>> >>>>> [ 32.124042] DC390: Deadlock in DataIn_0: DMA aborted unfinished: >>>>> 000000 bytes remain!! >>>>> [ 32.126348] DC390: DataIn_0: DMA State: 0 >>>>> >>>>> and the HBA will fail to work properly. >>>>> Reason is the emulation is not setting the 'DMA transfer done' >>>>> status correctly. >>>>> >>>>> Signed-off-by: Hannes Reinecke <h...@suse.de> >>>>> --- >>>>> hw/scsi/esp-pci.c | 2 ++ >>>>> 1 file changed, 2 insertions(+) >>>>> >>>>> diff --git a/hw/scsi/esp-pci.c b/hw/scsi/esp-pci.c >>>>> index 82795e6..77b8647 100644 >>>>> --- a/hw/scsi/esp-pci.c >>>>> +++ b/hw/scsi/esp-pci.c >>>>> @@ -268,6 +268,8 @@ static void esp_pci_dma_memory_rw(PCIESPState *pci, >>>>> uint8_t *buf, int len, >>>>> /* update status registers */ >>>>> pci->dma_regs[DMA_WBC] -= len; >>>>> pci->dma_regs[DMA_WAC] += len; >>>>> + if (pci->dma_regs[DMA_WBC] == 0) >>>>> + pci->dma_regs[DMA_STAT] |= DMA_STAT_DONE; >>>>> } >>>> >>>> Missing braces on the if statement here? >>>> >>> Sigh. >>> >>> If you insist ... >>> >>> Cheers, >>> >>> Hannes >> >> That's the Qemu coding style. >> And you will fail ./script/checkpatch.pl. >> > I know. After all, it's not the first patch I've sent. > > But I always get the various codingstyle thingies > mixed up. > Hum. Each community has its own rules :)
Best regards, -Gonglei