diff options
Diffstat (limited to 'sound/oss/au1550_ac97.c')
-rw-r--r-- | sound/oss/au1550_ac97.c | 7 |
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; |