AST2600 i2c irq issue

Peter Rosin peda at axentia.se
Fri Oct 18 15:28:51 AEDT 2019


On 2019-10-18 00:29, Jae Hyun Yoo wrote:
> On 10/17/2019 1:31 PM, Eddie James wrote:
>> I was also able to "fix" this by simple returning IRQ_NONE if irq_status 
>> == 0 in the interrupt handler. But probably not a good solution.
> 
> A fix like below, right?
> 
> @@ -603,6 +603,9 @@ static irqreturn_t aspeed_i2c_bus_irq(int irq, void 
> *dev_id)
> 
>          spin_lock(&bus->lock);
>          irq_received = readl(bus->base + ASPEED_I2C_INTR_STS_REG);
> +       if (!irq_received)
> +               return IRQ_NONE;
> +

Don't forget spin_unlock(&bus->lock);

Cheers,
Peter


More information about the Linux-aspeed mailing list