Commit fc859af6 authored by Federico Vaga's avatar Federico Vaga

sw:drv: bugfix report ABORT|ERROR state

when checking for ERROR or ABORT what the code was doing was:
  (ERROR || ABORT)

Fix it by applying the mask properly and compere the state value
Signed-off-by: Federico Vaga's avatarFederico Vaga <federico.vaga@cern.ch>
Reported-by: Tristan Gingold's avatarTristan Gingold <tristan.gingold@cern.ch>
parent 437a91ba
......@@ -310,25 +310,17 @@ static void gn412x_dma_ctrl_swapping(struct gn412x_dma_device *gn412x_dma,
static enum gn412x_dma_state gn412x_dma_state(struct gn412x_dma_device *gn412x_dma)
{
return ioread32(gn412x_dma->addr + GN412X_DMA_STAT);
return ioread32(gn412x_dma->addr + GN412X_DMA_STAT) & 0x3;
}
static bool gn412x_dma_is_busy(struct gn412x_dma_device *gn412x_dma)
{
uint32_t status;
status = ioread32(gn412x_dma->addr + GN412X_DMA_STAT);
return status & GN412X_DMA_STAT_BUSY;
return gn412x_dma_state(gn412x_dma) == GN412X_DMA_STAT_BUSY;
}
static bool gn412x_dma_is_abort(struct gn412x_dma_device *gn412x_dma)
{
uint32_t status;
status = ioread32(gn412x_dma->addr + GN412X_DMA_STAT);
return status & GN412X_DMA_STAT_ABORTED;
return gn412x_dma_state(gn412x_dma) == GN412X_DMA_STAT_ABORTED;
}
static void gn412x_dma_irq_ack(struct gn412x_dma_device *gn412x_dma)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment