Re: [PATCH] hid: cp2112: Fix IRQ shutdown stopping polling for all IRQs on chip

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

 



On Tue, Sep 19, 2023 at 04:24:26PM -0500, Danny Kaehn wrote:
> Previously cp2112_gpio_irq_shutdown always cancelled the

cp2112_gpio_irq_shutdown()

> gpio_poll_worker, even if other IRQs were still active, and did not set
> the gpio_poll flag to false. This resulted in any call to _shutdown()
> resulting in interrupts no longer functioning on the chip until a
> _remove occurred (a.e. the cp2112 is unplugged or system rebooted).

_remove()

> Only cancel polling if all IRQs are disabled/masked, and correctly set
> the gpio_poll flag, allowing polling to restart when an interrupt is
> next enabled.

...

> +	if (!dev->irq_mask)
> +	{

The style tells to use these on a single line.

> +		dev->gpio_poll = false;
> +		cancel_delayed_work_sync(&dev->gpio_poll_worker);
> +	}

-- 
With Best Regards,
Andy Shevchenko





[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux