On 09/02/2019 03:48, Wen Yang wrote: > put_device() should be called in cec_notifier_release(), > since the dev is being passed down to cec_notifier_get_conn(), > which holds reference. On cec_notifier destruction, it > should drop the reference to the device. > > Fixes: 6917a7b77413 ("[media] media: add CEC notifier support") > Signed-off-by: Wen Yang <yellowriver2010@xxxxxxxxxxx> > --- > drivers/media/cec/cec-notifier.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/media/cec/cec-notifier.c b/drivers/media/cec/cec-notifier.c > index dd2078b..621d4ae 100644 > --- a/drivers/media/cec/cec-notifier.c > +++ b/drivers/media/cec/cec-notifier.c > @@ -66,6 +66,7 @@ static void cec_notifier_release(struct kref *kref) > container_of(kref, struct cec_notifier, kref); > > list_del(&n->head); > + put_device(n->dev); > kfree(n->conn); > kfree(n); > } > Sorry, no. The dev pointer is just a search key that the notifier code looks for. It is not the notifier's responsibility to take a reference, that would be the responsibility of the hdmi and cec drivers. If you can demonstrate that there is an object reference leak, then please provide the details: it is likely a bug elsewhere and not in the notifier code. BTW, your patch series didn't arrive on the linux-media mailinglist for some reason. Regards, Hans