From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Date: Fri, 11 Jul 2014 10:06:39 +0000 Subject: Re: [PATCH 1/1] ice1712: check if snd card loaded, if not do not proceed Message-Id: List-Id: References: <1405052377-3096-1-git-send-email-kostaslinuxxx@gmail.com> In-Reply-To: <1405052377-3096-1-git-send-email-kostaslinuxxx@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Konstantinos Tsimpoukas Cc: alsa-devel@alsa-project.org, Jaroslav Kysela , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org At Thu, 10 Jul 2014 23:19:37 -0500, Konstantinos Tsimpoukas wrote: > > Just adding a simple if statement, which > verifies if actually card is loaded, if not > does not continue with the execution > of the snd_card_free. It's already referenced by ice, so a NULL check must be peformed at first. But, basically card is always non-NULL. The remove callback is called only for objects that was properly bound with probe callback. snd_ice1712_probe() always sets the card pointer when it succeeds. thanks, Takashi > Signed-off-by: Konstantinos Tsimpoukas > --- > sound/pci/ice1712/ice1712.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c > index d9b9e45..431096b 100644 > --- a/sound/pci/ice1712/ice1712.c > +++ b/sound/pci/ice1712/ice1712.c > @@ -2819,7 +2819,8 @@ static void snd_ice1712_remove(struct pci_dev *pci) > > if (ice->card_info && ice->card_info->chip_exit) > ice->card_info->chip_exit(ice); > - snd_card_free(card); > + if (card) > + snd_card_free(card); > } > > #ifdef CONFIG_PM_SLEEP > -- > 1.9.1 >