[PATCH] staging: bcm2835-audio: Disconnect and free vchi_instance on module_exit()

Greg Kroah-Hartman gregkh at linuxfoundation.org
Mon Apr 23 06:50:24 PDT 2018


On Tue, Apr 17, 2018 at 07:00:28AM +0200, Kirill Marinushkin wrote:
> In the current implementation, vchi_instance is inited during the first
> call of bcm2835_audio_open_connection(), and is never freed. It causes a
> memory leak when the module `snd_bcm2835` is removed.
> 
> Here is how this commit fixes it:
> 
> * the VCHI context (including vchi_instance) is created once in the
>   platform's devres
> * the VCHI context is allocated and connected once during module_init()
> * all created bcm2835_chips have a pointer to this VCHI context
> * bcm2835_audio_open_connection() can access the VCHI context through the
>   associated bcm2835_chip
> * the VCHI context is disconnected and freed once during module_exit()
> 
> After this commit is applied, I don't see other issues with the module's
> init/exit, so I also remove the associated TODO task.
> 
> Steps to reproduce the memory leak before this commit:

<snip>

Patch dropped due to kbuild complaints.

Please fix up and resend.

thanks,

greg k-h



More information about the linux-arm-kernel mailing list