summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2019-07-26 11:42:34 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-10-05 13:09:37 +0200
commit1af6822f29d6b5c3b6e832aba8ae5e312047665d (patch)
treeb269a9ca8789e654628f54f0b379d920e5c67832 /sound
parentb40c15c20e42491303202ae1368841704be0c3b9 (diff)
downloadlinux-stable-1af6822f29d6b5c3b6e832aba8ae5e312047665d.tar.gz
linux-stable-1af6822f29d6b5c3b6e832aba8ae5e312047665d.tar.bz2
linux-stable-1af6822f29d6b5c3b6e832aba8ae5e312047665d.zip
ALSA: hda - Show the fatal CORB/RIRB error more clearly
[ Upstream commit dd65f7e19c6961ba6a69f7c925021b7a270cb950 ] 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> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/hda_controller.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_controller.c b/sound/pci/hda/hda_controller.c
index a41c1bec7c88..8fcb421193e0 100644
--- a/sound/pci/hda/hda_controller.c
+++ b/sound/pci/hda/hda_controller.c
@@ -877,10 +877,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;