diff --git a/drivers/audio/ihdad/src/hda/device.rs b/drivers/audio/ihdad/src/hda/device.rs index 2f9f0b6ced..2e4cacb571 100755 --- a/drivers/audio/ihdad/src/hda/device.rs +++ b/drivers/audio/ihdad/src/hda/device.rs @@ -213,6 +213,18 @@ impl IntelHDA { module.init()?; module.info(); + + if module.codecs.is_empty() { + // DSP/cAVS platform: STATESTS=0 (codec behind DSP), enumerate() + // would hang on non-existent codec 0. Fail honestly. + log::error!( + "ihdad: no codecs responded on STATESTS — this is a DSP/cAVS \ + platform (codec behind the DSP). Legacy HDA cannot drive it; \ + a SOF/cAVS driver is required (Phase 8.2)." + ); + return Err(Error::new(ENODEV)); + } + module.enumerate()?; module.configure()?;