diff options
Diffstat (limited to 'drivers/misc/habanalabs/irq.c')
-rw-r--r-- | drivers/misc/habanalabs/irq.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/misc/habanalabs/irq.c b/drivers/misc/habanalabs/irq.c index d4c2077a3718..e69a09c10e3f 100644 --- a/drivers/misc/habanalabs/irq.c +++ b/drivers/misc/habanalabs/irq.c @@ -161,8 +161,8 @@ irqreturn_t hl_irq_handler_eq(int irq, void *arg) while (1) { bool entry_ready = - ((eq_base[eq->ci].hdr.ctl & EQ_CTL_READY_MASK) - >> EQ_CTL_READY_SHIFT); + ((__le32_to_cpu(eq_base[eq->ci].hdr.ctl) & + EQ_CTL_READY_MASK) >> EQ_CTL_READY_SHIFT); if (!entry_ready) break; @@ -194,7 +194,9 @@ irqreturn_t hl_irq_handler_eq(int irq, void *arg) } skip_irq: /* Clear EQ entry ready bit */ - eq_entry->hdr.ctl &= ~EQ_CTL_READY_MASK; + eq_entry->hdr.ctl = + __cpu_to_le32(__le32_to_cpu(eq_entry->hdr.ctl) & + ~EQ_CTL_READY_MASK); eq->ci = hl_eq_inc_ptr(eq->ci); |