[PATCH] ALSA: hda: fix NULL pointer dereference during suspend

Ranjani Sridharan ranjani.sridharan at linux.intel.com
Wed Jul 29 17:03:22 CEST 2020


On Wed, 2020-07-29 at 09:48 +0200, Takashi Iwai wrote:
> On Wed, 29 Jul 2020 01:10:11 +0200,
> Ranjani Sridharan wrote:
> > When the ASoC card registration fails and the codec component
> > driver
> > never probes, the codec device is not initialized and therefore
> > memory for codec->wcaps is not allocated. This results in a NULL
> > pointer
> > dereference when the codec driver suspend callback is invoked
> > during
> > system suspend. Fix this by returning without performing any
> > actions
> > during codec suspend/resume if the card was not registered
> > successfully.
> > 
> > Reviewed-by: Pierre-Louis Bossart <
> > pierre-louis.bossart at linux.intel.com>
> > Signed-off-by: Ranjani Sridharan <ranjani.sridharan at linux.intel.com
> > >
> 
> The code changes look OK to apply, but I still wonder how the runtime
> PM gets invoked even if the device is not instantiated properly?
Hi Takashi,

Its not runtime PM suspend but rather the system PM suspend callback
that is invoked when the system is suspended that ends up callling the
the runtime PM callback. So, the sequence is:
hda_codec_pm_suspend()
   -> pm_runtime_force_suspend()
          -> hda_codec_runtime_suspend()

Thanks,
Ranjani



More information about the Alsa-devel mailing list