aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/rme9652
diff options
context:
space:
mode:
authorTim Blechmann <tim@klingt.org>2008-11-09 06:50:52 -0500
committerTakashi Iwai <tiwai@suse.de>2008-11-09 06:50:52 -0500
commit00c9ddd1d4cc73aa0077f379279d716cb0ab0ba5 (patch)
tree485c97fc09900498e96aa429700ea3cccbd5143a /sound/pci/rme9652
parentfcef7836a31c6432b41a38867d413ed3d6aa8261 (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')
-rw-r--r--sound/pci/rme9652/hdsp.c6
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;