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

Bug#1002537: linux-image-5.15.0-2-rt-amd64: RT kernel does not support touchpad/trackpoint on Thinkpad L15



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 to: