[linux-dvb] Cinergy T2 dmx cleanup on disconnect

Johannes Stezenbach js at linuxtv.org
Thu Mar 9 23:10:03 CET 2006


On Thu, Mar 09, 2006Markus Rechberger wrote:
> when looking at the cinergyT2.c driver I think I found a small devfs
> related bug in the cleanup function.
> When unloading the cinergyT2 module it doesn't clean up demux0 and
> dvr0 device files, the attached patch should fix this.
> 
> cinergyt2->demux.dmx.close(&cinergyt2->demux.dmx); only decreases a counter
> 
> Can someone verify this? (I haven't tested it with any device yet)
> 
> Signed-off-by: Markus Rechberger <mrechberger at gmail.com>
> 
> Markus

> diff -r a80fed4a425d linux/drivers/media/dvb/cinergyT2/cinergyT2.c
> --- a/linux/drivers/media/dvb/cinergyT2/cinergyT2.c	Tue Feb 28 22:04:42 2006 -0500
> +++ b/linux/drivers/media/dvb/cinergyT2/cinergyT2.c	Thu Mar  9 00:20:08 2006 +0100
> @@ -975,6 +975,8 @@ static void cinergyt2_disconnect (struct
>  	wake_up_interruptible(&cinergyt2->poll_wq);
>  
>  	cinergyt2->demux.dmx.close(&cinergyt2->demux.dmx);
> +	dvb_dmxdev_release(&cinergyt2->dmxdev);
> +	dvb_dmx_release(&cinergyt2->demux);
>  	cinergyt2->disconnect_pending = 1;
>  
>  	if (!atomic_read(&cinergyt2->inuse))

Good catch!
However, from looking at the code it seems the _release()
calls should be added to cinergyt2_unregister() instead?


Johannes



More information about the linux-dvb mailing list