Hi Greg, > 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 for pointing. I will check it out and update it. > nvpublic > thanks, > > greg k-h