Skip to content

Commit

Permalink
ALSA: hda - Show the fatal CORB/RIRB error more clearly
Browse files Browse the repository at this point in the history
The last fallback of CORB/RIRB communication error recovery is to turn
on the single command mode, and this last resort usually means that
something is really screwed up.  Instead of a normal dev_err(), show
the error more clearly with dev_WARN() with the caller stack trace.

Also, show the bus-reset fallback also as an error, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Takashi Iwai committed Jul 26, 2019
1 parent 5e291a9 commit dd65f7e
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion sound/pci/hda/hda_controller.c
Original file line number Diff line number Diff line change
Expand Up @@ -864,10 +864,13 @@ static int azx_rirb_get_response(struct hdac_bus *bus, unsigned int addr,
*/
if (hbus->allow_bus_reset && !hbus->response_reset && !hbus->in_reset) {
hbus->response_reset = 1;
dev_err(chip->card->dev,
"No response from codec, resetting bus: last cmd=0x%08x\n",
bus->last_cmd[addr]);
return -EAGAIN; /* give a chance to retry */
}

dev_err(chip->card->dev,
dev_WARN(chip->card->dev,
"azx_get_response timeout, switching to single_cmd mode: last cmd=0x%08x\n",
bus->last_cmd[addr]);
chip->single_cmd = 1;
Expand Down

0 comments on commit dd65f7e

Please sign in to comment.