Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Tobin Davis <tdavis@dsl-only.net>
Cc: Joachim Deguara <joachim.deguara@amd.com>,
	alsa-devel@lists.sourceforge.net
Subject: Re: [PATCH] hda empty modelname comparison
Date: Wed, 07 Mar 2007 22:20:20 +0100	[thread overview]
Message-ID: <s5hodn4agyz.wl%tiwai@suse.de> (raw)
In-Reply-To: <1173297870.4531.4.camel@razman.gruemaster.com>

At Wed, 07 Mar 2007 12:04:30 -0800,
Tobin Davis wrote:
> 
> On Tue, 2007-03-06 at 15:59 +0100, Joachim Deguara wrote:
> 
>     This patch prevents a comparison between a possibly empty modelname
>     string in the hda code.
>     
>     -Joachim
> 
> Unfortunately, the way the original patch was written, the only options are
> generic or segfault.  Your patch just removes the segfault, sending all cards
> to the generic parser.
> 
> I've tested a slightly different approach, based on your empty test, just
> reverse logic.  Test it to confirm that it works.  It works on my system with
> a Conexant reference board and a Sigmatel STAC9227 (both on the same system).
> 
> Signed off by Tobin Davis <tdavis@dsl-only.net>                               
That's my bad.  I haven't tested much, and unfortunately, 1.0.14rc3
was released while I've been in vacation soon after the wrong patch.

The fix patch below is already on my local tree, but it couldn't be
pushed because the ALSA HG tree is currently down (I guess Jaroslav is
working on his server).  If needed, we'll release the fixed version.
So stay tuned.


Takashi

# HG changeset patch
# User tiwai
# Date 1173279359 -3600
# Node ID 9b8fef0370f213c42fc93098c7b8cc2c8188b177
# Parent  e4f79cb873e55818b4aca604d17e350b5a480a27
Fix NULL dereference with null modelname

Fix the NULL dereference of modelname option.  The check is moved to
find_codec_preset() now, too.

diff -r e4f79cb873e5 -r 9b8fef0370f2 pci/hda/hda_codec.c
--- a/pci/hda/hda_codec.c	Tue Mar 06 11:29:05 2007 +0100
+++ b/pci/hda/hda_codec.c	Wed Mar 07 15:55:59 2007 +0100
@@ -403,6 +403,9 @@ static const struct hda_codec_preset *fi
 {
 	const struct hda_codec_preset **tbl, *preset;
 
+	if (codec->bus->modelname && !strcmp(codec->bus->modelname, "generic"))
+		return NULL; /* use the generic parser */
+
 	for (tbl = hda_preset_tables; *tbl; tbl++) {
 		for (preset = *tbl; preset->id; preset++) {
 			u32 mask = preset->mask;
@@ -573,8 +576,7 @@ int snd_hda_codec_new(struct hda_bus *bu
 							 0);
 	}
 
-	if (strcmp(codec->bus->modelname, "generic"))
-		codec->preset = find_codec_preset(codec);
+	codec->preset = find_codec_preset(codec);
 	if (! *bus->card->mixername)
 		snd_hda_get_codec_name(codec, bus->card->mixername,
 				       sizeof(bus->card->mixername));

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

  reply	other threads:[~2007-03-07 21:20 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-06 14:59 [PATCH] hda empty modelname comparison Joachim Deguara
2007-03-07 20:04 ` Tobin Davis
2007-03-07 21:20   ` Takashi Iwai [this message]
2007-03-07 22:51     ` Tobin Davis
2007-03-07 22:58     ` Tobin Davis
2007-03-08 14:32     ` Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=s5hodn4agyz.wl%tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@lists.sourceforge.net \
    --cc=joachim.deguara@amd.com \
    --cc=tdavis@dsl-only.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox