Re: [PATCH] ALSA: hda - Don't register a cb func if it is registered already

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 30 Sep 2020 09:19:50 +0200,
Jaroslav Kysela wrote:
> 
> Dne 30. 09. 20 v 7:51 Hui Wang napsal(a):
> > If the caller of enable_callback_mst() passes a cb func, the callee
> > function will malloc memory and link this cb func to the list
> > unconditionally. This will introduce problem if caller is in the
> > hda_codec_ops.init() since the init() will be repeatedly called in the
> > codec rt_resume().
> > 
> > So far, the patch_hdmi.c and patch_ca0132.c call enable_callback_mst()
> > in the hda_codec_ops.init().
> 
> Won't be better to handle this double invocation at the callback call time? I
> believe that some refcounting and pointing to one allocated callback structure
> for all instances is better.

IMO, Hui's fix is correct in this case; otherwise it'll result in
endless number of allocations at each time the runtime resume is
performed.  So I'm going to take it as is.

For ca0132, though, the simplest fix would be to just move
ca0132_init_unsol() call into patch_ca0132().  But the additional fix
in hda_jack side would be good in anyway.


thanks,

Takashi



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux