diff options
author | Tim Blechmann <tim@klingt.org> | 2008-11-09 06:50:52 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-11-09 06:50:52 -0500 |
commit | 00c9ddd1d4cc73aa0077f379279d716cb0ab0ba5 (patch) | |
tree | 485c97fc09900498e96aa429700ea3cccbd5143a /sound/pci/rme9652/hdsp.c | |
parent | fcef7836a31c6432b41a38867d413ed3d6aa8261 (diff) |
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: Tim Blechmann <tim@klingt.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/rme9652/hdsp.c')
-rw-r--r-- | sound/pci/rme9652/hdsp.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c index d723543beadd..d680114b3e44 100644 --- a/sound/pci/rme9652/hdsp.c +++ b/sound/pci/rme9652/hdsp.c | |||
@@ -5045,6 +5045,10 @@ static int __devinit snd_hdsp_create(struct snd_card *card, | |||
5045 | /* we wait 2 seconds to let freshly inserted cardbus cards do their hardware init */ | 5045 | /* we wait 2 seconds to let freshly inserted cardbus cards do their hardware init */ |
5046 | ssleep(2); | 5046 | ssleep(2); |
5047 | 5047 | ||
5048 | err = hdsp_check_for_iobox(hdsp); | ||
5049 | if (err < 0) | ||
5050 | return err; | ||
5051 | |||
5048 | if ((hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DllError) != 0) { | 5052 | if ((hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DllError) != 0) { |
5049 | #ifdef HDSP_FW_LOADER | 5053 | #ifdef HDSP_FW_LOADER |
5050 | if ((err = hdsp_request_fw_loader(hdsp)) < 0) | 5054 | if ((err = hdsp_request_fw_loader(hdsp)) < 0) |
@@ -5057,7 +5061,7 @@ static int __devinit snd_hdsp_create(struct snd_card *card, | |||
5057 | /* init is complete, we return */ | 5061 | /* init is complete, we return */ |
5058 | return 0; | 5062 | return 0; |
5059 | #endif | 5063 | #endif |
5060 | /* no iobox connected, we defer initialization */ | 5064 | /* we defer initialization */ |
5061 | snd_printk(KERN_INFO "Hammerfall-DSP: card initialization pending : waiting for firmware\n"); | 5065 | snd_printk(KERN_INFO "Hammerfall-DSP: card initialization pending : waiting for firmware\n"); |
5062 | if ((err = snd_hdsp_create_hwdep(card, hdsp)) < 0) | 5066 | if ((err = snd_hdsp_create_hwdep(card, hdsp)) < 0) |
5063 | return err; | 5067 | return err; |