diff options
author | Mark Johnston <markj@FreeBSD.org> | 2020-08-27 16:36:07 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2020-08-27 16:36:07 +0000 |
commit | 555e99891916650fae422500080090ecc98ad2ce (patch) | |
tree | 8953bad4f3776d0de7a63d2df8b4b1f60e058b18 /sys/dev/sound/pci | |
parent | b3cb04b930b9b7334868b25cd245341489474481 (diff) | |
download | src-555e99891916650fae422500080090ecc98ad2ce.tar.gz src-555e99891916650fae422500080090ecc98ad2ce.zip |
snd_ich(4): Handle errors from ich_init() properly during resume.
ich_init() returns an errno value or 0, but ich_pci_resume() was
comparing the return value with -1 to determine whether an error had
occurred.
PR: 248941
Submitted by: Tong Zhang <ztong0001@gmail.com>
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=364873
Diffstat (limited to 'sys/dev/sound/pci')
-rw-r--r-- | sys/dev/sound/pci/ich.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/sound/pci/ich.c b/sys/dev/sound/pci/ich.c index 03af77aca0a4..2521dacaac47 100644 --- a/sys/dev/sound/pci/ich.c +++ b/sys/dev/sound/pci/ich.c @@ -1190,16 +1190,17 @@ static int ich_pci_resume(device_t dev) { struct sc_info *sc; - int i; + int err, i; sc = pcm_getdevinfo(dev); ICH_LOCK(sc); /* Reinit audio device */ - if (ich_init(sc) == -1) { + err = ich_init(sc); + if (err != 0) { device_printf(dev, "unable to reinitialize the card\n"); ICH_UNLOCK(sc); - return (ENXIO); + return (err); } /* Reinit mixer */ ich_pci_codec_reset(sc); |