Author: kevans
Date: Mon Mar 26 14:03:39 2018
New Revision: 331548
URL: https://svnweb.freebsd.org/changeset/base/331548

Log:
  aw_sid(4): Release resources and destroy mutex on failure
  
  Submitted by: Eugene Sevastyanov <[email protected]>

Modified:
  head/sys/arm/allwinner/aw_sid.c

Modified: head/sys/arm/allwinner/aw_sid.c
==============================================================================
--- head/sys/arm/allwinner/aw_sid.c     Mon Mar 26 13:45:17 2018        
(r331547)
+++ head/sys/arm/allwinner/aw_sid.c     Mon Mar 26 14:03:39 2018        
(r331548)
@@ -207,7 +207,7 @@ aw_sid_attach(device_t dev)
                for (i = 0; i < sc->sid_conf->efuse_size; i += 4)
                        if (aw_sid_prctl_read(dev, i, &val) != 0) {
                                device_printf(dev, "failed prctl read\n");
-                               return (ENXIO);
+                               goto fail;
                        }
 
        SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
@@ -217,6 +217,11 @@ aw_sid_attach(device_t dev)
            dev, AW_SID_ROOT_KEY, aw_sid_sysctl, "A", "Root Key");
 
        return (0);
+
+fail:
+       bus_release_resources(dev, aw_sid_spec, &sc->res);
+       mtx_destroy(&sc->prctl_mtx);
+       return (ENXIO);
 }
 
 int
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to