qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] esp: Do not overwrite ESP_TCHI after reset


From: Hannes Reinecke
Subject: Re: [Qemu-devel] [PATCH] esp: Do not overwrite ESP_TCHI after reset
Date: Mon, 10 Nov 2014 16:49:36 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.1.0

On 11/10/2014 04:37 PM, Hannes Reinecke wrote:
> After a reset ESP_TCHI should contain the unique ID
> of the chip. This value will be overwritten with the
> current tranfer count if the transfer count has
> previously been set.
> The code never checks if the transfer count has
> been set, so the unique ID will always be overwritten
> if the driver sends a DMA NOP after reset.
> 
> Signed-off-by: Hannes Reinecke <address@hidden>
> ---
>  hw/scsi/esp.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
> index 5ab44d8..9798180 100644
> --- a/hw/scsi/esp.c
> +++ b/hw/scsi/esp.c
> @@ -454,7 +454,9 @@ void esp_reg_write(ESPState *s, uint32_t saddr, uint64_t 
> val)
>              /* Reload DMA counter.  */
>              s->rregs[ESP_TCLO] = s->wregs[ESP_TCLO];
>              s->rregs[ESP_TCMID] = s->wregs[ESP_TCMID];
> -            s->rregs[ESP_TCHI] = s->wregs[ESP_TCHI];
> +            if (s->wregs[ESP_TCHI]) {
> +                    s->rregs[ESP_TCHI] = s->wregs[ESP_TCHI];
> +            }
>          } else {
>              s->dma = 0;
>          }
> 
Hmm.
This is actually not quite correct.
I'll be sending an updated patch.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                   zSeries & Storage
address@hidden                        +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 21284 (AG Nürnberg)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]