Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0cfcdeda authored by Krzysztof Helt's avatar Krzysztof Helt Committed by Takashi Iwai
Browse files

ALSA: sc6000: fix older card initialization



The last patch to handle newer cards like SC7000
broke initialization of the SC6000. Fix this.

Signed-off-by: default avatarKrzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent c2828661
Loading
Loading
Loading
Loading
+12 −10
Original line number Diff line number Diff line
@@ -391,7 +391,6 @@ static int __devinit sc6000_init_board(char __iomem *vport,
	int config = mss_config |
		     sc6000_mpu_irq_to_softcfg(mpu_irq[dev]);
	int err;
	int cfg[2];
	int old = 0;

	err = sc6000_dsp_reset(vport);
@@ -421,12 +420,19 @@ static int __devinit sc6000_init_board(char __iomem *vport,
		answer, version[0], version[1]);

	/* set configuration */
	sc6000_write(vport, COMMAND_5C);
	if (sc6000_read(vport) < 0)
		old = 1;

	if (!old) {
		int cfg[2];
		sc6000_hw_cfg_encode(vport, &cfg[0], port[dev], mpu_port[dev],
				     mss_port[dev]);
		if (sc6000_hw_cfg_write(vport, cfg) < 0) {
			snd_printk(KERN_ERR "sc6000_hw_cfg_write: failed!\n");
			return -EIO;
		}
	}
	err = sc6000_setup_board(vport, config);
	if (err < 0) {
		snd_printk(KERN_ERR "sc6000_setup_board: failed!\n");
@@ -434,10 +440,6 @@ static int __devinit sc6000_init_board(char __iomem *vport,
	}

	sc6000_dsp_reset(vport);
	sc6000_write(vport, COMMAND_5C);
	if (sc6000_read(vport) < 0)
		old = 1;
	sc6000_dsp_reset(vport);

	if (!old) {
		sc6000_write(vport, COMMAND_60);