Drop unsolicited responses to the still attaching CODECs.

It is reported to fix kernel panics when early unsolicited responses
delivered to the CODEC device not having driver attached yet.

PR:		250248
Reported by:	Rajeev Pillai <rajeev_v_pillai@yahoo.com>
Reviewed by:	avg
MFC after:	2 weeks
This commit is contained in:
Alexander Motin 2020-10-15 17:40:02 +00:00
parent a0da9a6272
commit cd3d0f8c19
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=366733

View File

@ -990,7 +990,8 @@ hdac_unsolq_flush(struct hdac_softc *sc)
sc->unsolq_rp %= HDAC_UNSOLQ_MAX;
cad = sc->unsolq[sc->unsolq_rp++];
sc->unsolq_rp %= HDAC_UNSOLQ_MAX;
if ((child = sc->codecs[cad].dev) != NULL)
if ((child = sc->codecs[cad].dev) != NULL &&
device_is_attached(child))
HDAC_UNSOL_INTR(child, resp);
ret++;
}