aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorKalimochoAz <calimochoazucarado@gmail.com>2012-05-22 06:12:10 +0200
committerKalimochoAz <calimochoazucarado@gmail.com>2012-05-22 06:12:10 +0200
commit93cf213940db180b5bb710d21fe2f6dc7ca1e252 (patch)
treec377b29f5387081dc64c882e7dad2ac4a2c161e3 /sound
parenta48c18e8b30a8ec31acb09d45741fd99dd5baf06 (diff)
parent091ce3d38e5e57cf7dd44d66335725910e928f59 (diff)
downloadkernel_samsung_crespo-93cf213940db180b5bb710d21fe2f6dc7ca1e252.zip
kernel_samsung_crespo-93cf213940db180b5bb710d21fe2f6dc7ca1e252.tar.gz
kernel_samsung_crespo-93cf213940db180b5bb710d21fe2f6dc7ca1e252.tar.bz2
Merge branch 'linux-3.0.y' into HEAD
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/echoaudio/echoaudio_dsp.c2
-rw-r--r--sound/pci/hda/hda_intel.c6
2 files changed, 5 insertions, 3 deletions
diff --git a/sound/pci/echoaudio/echoaudio_dsp.c b/sound/pci/echoaudio/echoaudio_dsp.c
index 64417a7..d8c670c 100644
--- a/sound/pci/echoaudio/echoaudio_dsp.c
+++ b/sound/pci/echoaudio/echoaudio_dsp.c
@@ -475,7 +475,7 @@ static int load_firmware(struct echoaudio *chip)
const struct firmware *fw;
int box_type, err;
- if (snd_BUG_ON(!chip->dsp_code_to_load || !chip->comm_page))
+ if (snd_BUG_ON(!chip->comm_page))
return -EPERM;
/* See if the ASIC is present and working - only if the DSP is already loaded */
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 981b6fd..c5c9788 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -702,11 +702,13 @@ static unsigned int azx_rirb_get_response(struct hda_bus *bus,
{
struct azx *chip = bus->private_data;
unsigned long timeout;
+ unsigned long loopcounter;
int do_poll = 0;
again:
timeout = jiffies + msecs_to_jiffies(1000);
- for (;;) {
+
+ for (loopcounter = 0;; loopcounter++) {
if (chip->polling_mode || do_poll) {
spin_lock_irq(&chip->reg_lock);
azx_update_rirb(chip);
@@ -722,7 +724,7 @@ static unsigned int azx_rirb_get_response(struct hda_bus *bus,
}
if (time_after(jiffies, timeout))
break;
- if (bus->needs_damn_long_delay)
+ if (bus->needs_damn_long_delay || loopcounter > 3000)
msleep(2); /* temporary workaround */
else {
udelay(10);