ALSA: hda - Fix the previous sanity check in make_codec_cmd()
authorTakashi Iwai <tiwai@suse.de>
Fri, 17 Jul 2009 10:47:34 +0000 (12:47 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 17 Jul 2009 10:47:34 +0000 (12:47 +0200)
The newly added sanity-check for a codec verb can be better written
with logical ORs.  Also, the parameter can be more than 8bit.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_codec.c

index d9d3262..35f0f22 100644 (file)
@@ -150,8 +150,8 @@ make_codec_cmd(struct hda_codec *codec, hda_nid_t nid, int direct,
 {
        u32 val;
 
 {
        u32 val;
 
-       if ((codec->addr & ~0xf) | (direct & ~1) | (nid & ~0x7f) |
-           (verb & ~0xfff) | (parm & ~0xff)) {
+       if ((codec->addr & ~0xf) || (direct & ~1) || (nid & ~0x7f) ||
+           (verb & ~0xfff) || (parm & ~0xffff)) {
                printk(KERN_ERR "hda-codec: out of range cmd %x:%x:%x:%x:%x\n",
                       codec->addr, direct, nid, verb, parm);
                return ~0;
                printk(KERN_ERR "hda-codec: out of range cmd %x:%x:%x:%x:%x\n",
                       codec->addr, direct, nid, verb, parm);
                return ~0;