diff options
| author | Evgenii Burenchev <evg28bur@yandex.ru> | 2026-07-08 17:11:44 +0300 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2026-07-13 12:02:02 +0200 |
| commit | cc15c329663e3ef1aeed0b68e49a5d5ce4ae0d5c (patch) | |
| tree | a636bc14d9356139536aaf6ebaa7930d45372f99 /sound/pci | |
| parent | 307835a6eb50e548e58ee604bf91909d4faa4203 (diff) | |
ALSA: hpi: Check transport errors during HPI6000 adapter initialization
create_adapter_obj() retrieves adapter information by calling
hpi6000_message_response_sequence(). This function reports transport-level
errors through its return value and DSP-reported errors via hr0.error.
The current code only checks hr0.error, causing transport-level errors to
be ignored. As a result, adapter initialization may continue with an
invalid response.
Check the return value of hpi6000_message_response_sequence() before
examining hr0.error.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Fixes: 719f82d3987a ("ALSA: Add support of AudioScience ASI boards")
Signed-off-by: Evgenii Burenchev <evg28bur@yandex.ru>
Link: https://patch.msgid.link/20260708141147.18253-1-evg28bur@yandex.ru
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
| -rw-r--r-- | sound/pci/asihpi/hpi6000.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/pci/asihpi/hpi6000.c b/sound/pci/asihpi/hpi6000.c index c8d1518ee3e7..fd7fe9dba0b8 100644 --- a/sound/pci/asihpi/hpi6000.c +++ b/sound/pci/asihpi/hpi6000.c @@ -537,6 +537,11 @@ static short create_adapter_obj(struct hpi_adapter_obj *pao, hr1.size = sizeof(hr1); error = hpi6000_message_response_sequence(pao, 0, &hm, &hr0); + if (error) { + HPI_DEBUG_LOG(ERROR, "message transport error %d\n", + error); + return error; + } if (hr0.error) { HPI_DEBUG_LOG(DEBUG, "message error %d\n", hr0.error); return hr0.error; |
