On Mon, Jan 28, 2019 at 12:37:31PM -0800, Ajay Gupta wrote:
> +static int ccg_restart(struct ucsi_ccg *uc)
> +{
> +     struct device *dev = uc->dev;
> +     int status;
> +
> +     status = ucsi_ccg_init(uc);
> +     if (status < 0) {
> +             dev_err(dev, "ucsi_ccg_start fail, err=%d\n", status);
> +             return status;
> +     }
> +
> +     status = devm_request_threaded_irq(dev, uc->irq, NULL, ccg_irq_handler,
> +                                        IRQF_ONESHOT | IRQF_TRIGGER_HIGH,
> +                                        dev_name(dev), uc);

Are you _sure_ you can use devm here?  That's almost always the wrong
thing to do as the irq will stick around after your driver could be
unloaded.  Just be very careful here, and look at all of the patches in
the kernel tree where stuff like this has been fixed to make sure you
are not also doing the same thing.

thanks,

greg k-h

Reply via email to