On Fri, Jan 31, 2020 at 07:19:55PM +0530, Manivannan Sadhasivam wrote: > +static void mhi_release_device(struct device *dev) > +{ > + struct mhi_device *mhi_dev = to_mhi_device(dev); > + > + if (mhi_dev->ul_chan) > + mhi_dev->ul_chan->mhi_dev = NULL; That looks really odd. Why didn't you just drop the reference you should have grabbed here for this pointer? You did properly increment it when you saved it, right? :) > + > + if (mhi_dev->dl_chan) > + mhi_dev->dl_chan->mhi_dev = NULL; Same here. thanks, greg k-h