Message ID | 1431506193-28265-1-git-send-email-han.lu@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
At Wed, 13 May 2015 16:36:33 +0800, han.lu@intel.com wrote: > > From: "Lu, Han" <han.lu@intel.com> > > The commit c560a6797e3b ("ALSA: core: Remove child proc file elements > recursively") introduced a regression that ELD/codec information files > can not be found on /proc/asound/cardX/. This patch corrects it. > > Signed-off-by: Lu, Han <han.lu@intel.com> This doesn't fix correctly since snd_card_proc_new() isn't the place to create the real proc file entry. It should be created at the device registration time. I'm going to post the fix patch series. thanks, Takashi > > diff --git a/include/sound/info.h b/include/sound/info.h > index 1626995..ae8d30a 100644 > --- a/include/sound/info.h > +++ b/include/sound/info.h > @@ -149,6 +149,10 @@ static inline int snd_card_proc_new(struct snd_card *card, const char *name, > struct snd_info_entry **entryp) > { > *entryp = snd_info_create_card_entry(card, name, card->proc_root); > + if (snd_info_register(*entryp) < 0) { > + snd_info_free_entry(*entryp); > + *entryp = NULL; > + } > return *entryp ? 0 : -ENOMEM; > } > > -- > 1.9.1 >
diff --git a/include/sound/info.h b/include/sound/info.h index 1626995..ae8d30a 100644 --- a/include/sound/info.h +++ b/include/sound/info.h @@ -149,6 +149,10 @@ static inline int snd_card_proc_new(struct snd_card *card, const char *name, struct snd_info_entry **entryp) { *entryp = snd_info_create_card_entry(card, name, card->proc_root); + if (snd_info_register(*entryp) < 0) { + snd_info_free_entry(*entryp); + *entryp = NULL; + } return *entryp ? 0 : -ENOMEM; }