|
@@ -677,6 +677,14 @@ static unsigned int azx_rirb_get_response(struct hda_bus *bus,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if (!chip->polling_mode) {
|
|
|
+ snd_printk(KERN_WARNING SFX "azx_get_response timeout, "
|
|
|
+ "switching to polling mode: last cmd=0x%08x\n",
|
|
|
+ chip->last_cmd[addr]);
|
|
|
+ chip->polling_mode = 1;
|
|
|
+ goto again;
|
|
|
+ }
|
|
|
+
|
|
|
if (chip->msi) {
|
|
|
snd_printk(KERN_WARNING SFX "No response from codec, "
|
|
|
"disabling MSI: last cmd=0x%08x\n",
|
|
@@ -692,14 +700,6 @@ static unsigned int azx_rirb_get_response(struct hda_bus *bus,
|
|
|
goto again;
|
|
|
}
|
|
|
|
|
|
- if (!chip->polling_mode) {
|
|
|
- snd_printk(KERN_WARNING SFX "azx_get_response timeout, "
|
|
|
- "switching to polling mode: last cmd=0x%08x\n",
|
|
|
- chip->last_cmd[addr]);
|
|
|
- chip->polling_mode = 1;
|
|
|
- goto again;
|
|
|
- }
|
|
|
-
|
|
|
if (chip->probing) {
|
|
|
/* If this critical timeout happens during the codec probing
|
|
|
* phase, this is likely an access to a non-existing codec
|