aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
Diffstat (limited to 'sound')
-rw-r--r--sound/oss/au1550_ac97.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sound/oss/au1550_ac97.c b/sound/oss/au1550_ac97.c
index 9011abe241ab..2e009427d633 100644
--- a/sound/oss/au1550_ac97.c
+++ b/sound/oss/au1550_ac97.c
@@ -213,7 +213,8 @@ rdcodec(struct ac97_codec *codec, u8 addr)
213 } 213 }
214 if (i == POLL_COUNT) { 214 if (i == POLL_COUNT) {
215 err("rdcodec: read poll expired!"); 215 err("rdcodec: read poll expired!");
216 return 0; 216 data = 0;
217 goto out;
217 } 218 }
218 219
219 /* wait for command done? 220 /* wait for command done?
@@ -226,7 +227,8 @@ rdcodec(struct ac97_codec *codec, u8 addr)
226 } 227 }
227 if (i == POLL_COUNT) { 228 if (i == POLL_COUNT) {
228 err("rdcodec: read cmdwait expired!"); 229 err("rdcodec: read cmdwait expired!");
229 return 0; 230 data = 0;
231 goto out;
230 } 232 }
231 233
232 data = au_readl(PSC_AC97CDC) & 0xffff; 234 data = au_readl(PSC_AC97CDC) & 0xffff;
@@ -237,6 +239,7 @@ rdcodec(struct ac97_codec *codec, u8 addr)
237 au_writel(PSC_AC97EVNT_CD, PSC_AC97EVNT); 239 au_writel(PSC_AC97EVNT_CD, PSC_AC97EVNT);
238 au_sync(); 240 au_sync();
239 241
242 out:
240 spin_unlock_irqrestore(&s->lock, flags); 243 spin_unlock_irqrestore(&s->lock, flags);
241 244
242 return data; 245 return data;