Commit 00c9ddd1 authored by Tim Blechmann's avatar Tim Blechmann Committed by Takashi Iwai

ALSA: HDSP: check for io box before uploading firmware

currently the hdsp driver tries to upload the firmware, even if the
io box is not connected. this patch adds a check for the io box
before trying to upload the firmware.
thus instead of messages complaining about the fifo status and firmware
loading failure, the driver gives a message that no multiface or
digiface is connected.

[A minor coding-style fix by tiwai]
Signed-off-by: default avatarTim Blechmann <tim@klingt.org>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent fcef7836
...@@ -5045,6 +5045,10 @@ static int __devinit snd_hdsp_create(struct snd_card *card, ...@@ -5045,6 +5045,10 @@ static int __devinit snd_hdsp_create(struct snd_card *card,
/* we wait 2 seconds to let freshly inserted cardbus cards do their hardware init */ /* we wait 2 seconds to let freshly inserted cardbus cards do their hardware init */
ssleep(2); ssleep(2);
err = hdsp_check_for_iobox(hdsp);
if (err < 0)
return err;
if ((hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DllError) != 0) { if ((hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DllError) != 0) {
#ifdef HDSP_FW_LOADER #ifdef HDSP_FW_LOADER
if ((err = hdsp_request_fw_loader(hdsp)) < 0) if ((err = hdsp_request_fw_loader(hdsp)) < 0)
...@@ -5057,7 +5061,7 @@ static int __devinit snd_hdsp_create(struct snd_card *card, ...@@ -5057,7 +5061,7 @@ static int __devinit snd_hdsp_create(struct snd_card *card,
/* init is complete, we return */ /* init is complete, we return */
return 0; return 0;
#endif #endif
/* no iobox connected, we defer initialization */ /* we defer initialization */
snd_printk(KERN_INFO "Hammerfall-DSP: card initialization pending : waiting for firmware\n"); snd_printk(KERN_INFO "Hammerfall-DSP: card initialization pending : waiting for firmware\n");
if ((err = snd_hdsp_create_hwdep(card, hdsp)) < 0) if ((err = snd_hdsp_create_hwdep(card, hdsp)) < 0)
return err; return err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment