ALSA: hda/ca0132: Fix potential init errors and update module description
authorIan Minett <ian_minett@creativelabs.com>
Fri, 21 Dec 2012 02:53:41 +0000 (18:53 -0800)
committerTakashi Iwai <tiwai@suse.de>
Tue, 15 Jan 2013 16:01:16 +0000 (17:01 +0100)
Handle a potential dma_engine alloc error and fix the possible use of an
uninitialized status variable in dspxfr_one_seg(). Also correct the initial
sampling rate for Mic 1.
Update the module description.

Signed-off-by: Ian Minett <ian_minett@creativelabs.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_ca0132.c

index 4c9b95e5656717b884e208a0ecc707e89f3dd296..2b026e2733c81a014a0ad3c6432a6452e22bdba8 100644 (file)
@@ -2223,7 +2223,7 @@ static int dspxfr_one_seg(struct hda_codec *codec,
                        unsigned int port_map_mask,
                        bool ovly)
 {
-       int status;
+       int status = 0;
        bool comm_dma_setup_done = false;
        const unsigned int *data;
        unsigned int chip_addx;
@@ -2416,8 +2416,10 @@ static int dspxfr_image(struct hda_codec *codec,
                return -EINVAL;
 
        dma_engine = kzalloc(sizeof(*dma_engine), GFP_KERNEL);
-       if (!dma_engine)
-               return -ENOMEM;
+       if (!dma_engine) {
+               status = -ENOMEM;
+               goto exit;
+       }
 
        dma_engine->dmab = kzalloc(sizeof(*dma_engine->dmab), GFP_KERNEL);
        if (!dma_engine->dmab) {
@@ -4340,8 +4342,8 @@ static void ca0132_set_dsp_msr(struct hda_codec *codec, bool is96k)
        chipio_set_control_flag(codec, CONTROL_FLAG_ADC_B_96KHZ, is96k);
        chipio_set_control_flag(codec, CONTROL_FLAG_ADC_C_96KHZ, is96k);
 
-       chipio_set_conn_rate(codec, MEM_CONNID_MICIN1, SR_16_000);
-       chipio_set_conn_rate(codec, MEM_CONNID_MICOUT1, SR_16_000);
+       chipio_set_conn_rate(codec, MEM_CONNID_MICIN1, SR_96_000);
+       chipio_set_conn_rate(codec, MEM_CONNID_MICOUT1, SR_96_000);
        chipio_set_conn_rate(codec, MEM_CONNID_WUH, SR_48_000);
 }
 
@@ -4685,7 +4687,7 @@ static struct hda_codec_preset snd_hda_preset_ca0132[] = {
 MODULE_ALIAS("snd-hda-codec-id:11020011");
 
 MODULE_LICENSE("GPL");
-MODULE_DESCRIPTION("Creative CA0132, CA0132 HD-audio codec");
+MODULE_DESCRIPTION("Creative Sound Core3D codec");
 
 static struct hda_codec_preset_list ca0132_list = {
        .preset = snd_hda_preset_ca0132,
This page took 0.028667 seconds and 5 git commands to generate.