Control: tags -1 + moreinfo

Hi Michael,

On Tue, Jan 11, 2022 at 12:27:50PM +0100, Sebastian Andrzej Siewior wrote:
> On 2021-12-25 12:27:33 [+0100], Michael Below wrote:
> > Hi,
> Hi,
> 
> > I have tested the patch, with help from Salvatore, and the dmesg output
> > looks better, but the touchpad still does not work. I am attaching the
> > dmesg output.
> 
> based on 
> 
> > [    1.575843] idma64 idma64.0: Found Intel integrated DMA 64-bit
> > [    1.578321] i801_smbus 0000:00:1f.4: SPD Write Disable is set
> > [    1.578365] genirq: Flags mismatch irq 16. 00010080 (i801_smbus) vs. 
> > 00002080 (idma64.0)
> > [    1.578368] i801_smbus 0000:00:1f.4: Failed to allocate irq 16: -16
> > [    1.578370] i801_smbus 0000:00:1f.4: SMBus using polling
> 
> the IRQ can not be non-threaded because it is shared with idma64. Good.
> Based on output it says that it is using polling so I'm don't know why
> the touchpad is not working…
> 
> What about the following hunk instead?
> 
> diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
> index 73253e667de1d..30e93651d5b6b 100644
> --- a/drivers/i2c/i2c-core-base.c
> +++ b/drivers/i2c/i2c-core-base.c
> @@ -1423,7 +1423,10 @@ int i2c_handle_smbus_host_notify(struct i2c_adapter 
> *adap, unsigned short addr)
>       if (irq <= 0)
>               return -ENXIO;
>  
> -     generic_handle_irq(irq);
> +     if (!IS_ENABLED(CONFIG_PREEMPT_RT))
> +             generic_handle_irq(irq);
> +     else
> +             handle_nested_irq(irq);
>  
>       return 0;
>  }
> 
> > Cheers
> > Michael

Where you by chance already able to test this?

Regards,
Salvatore

Reply via email to