svn commit: r354292 - head/sys/dev/ichiic
Vladimir Kondratyev
wulf at FreeBSD.org
Sun Nov 3 20:40:56 UTC 2019
Author: wulf
Date: Sun Nov 3 20:40:55 2019
New Revision: 354292
URL: https://svnweb.freebsd.org/changeset/base/354292
Log:
[ig4] Handle controller startup errors
Fail the attach on controller startup errors. For some reason the
dell xps 13 says there's I2C controller, but the controller appears
to be permanente disabled and will refuse to enable.
Obtained from: DragonflyBSD (509820b)
Modified:
head/sys/dev/ichiic/ig4_iic.c
Modified: head/sys/dev/ichiic/ig4_iic.c
==============================================================================
--- head/sys/dev/ichiic/ig4_iic.c Sun Nov 3 20:39:46 2019 (r354291)
+++ head/sys/dev/ichiic/ig4_iic.c Sun Nov 3 20:40:55 2019 (r354292)
@@ -629,10 +629,18 @@ ig4iic_attach(ig4iic_softc_t *sc)
#endif
mtx_lock(&sc->io_lock);
- if (set_controller(sc, 0))
+ if (set_controller(sc, 0)) {
device_printf(sc->dev, "controller error during attach-1\n");
- if (set_controller(sc, IG4_I2C_ENABLE))
+ mtx_unlock(&sc->io_lock);
+ error = ENXIO;
+ goto done;
+ }
+ if (set_controller(sc, IG4_I2C_ENABLE)) {
device_printf(sc->dev, "controller error during attach-2\n");
+ mtx_unlock(&sc->io_lock);
+ error = ENXIO;
+ goto done;
+ }
mtx_unlock(&sc->io_lock);
error = bus_setup_intr(sc->dev, sc->intr_res, INTR_TYPE_MISC | INTR_MPSAFE,
NULL, ig4iic_intr, sc, &sc->intr_handle);
More information about the svn-src-all
mailing list