svn commit: r350033 - stable/12/sys/sys

Andriy Gapon avg at FreeBSD.org
Tue Jul 16 15:28:29 UTC 2019


Author: avg
Date: Tue Jul 16 15:28:28 2019
New Revision: 350033
URL: https://svnweb.freebsd.org/changeset/base/350033

Log:
  MFC r348688: first step towards enforcing must-succeed semantics for bus accessors

Modified:
  stable/12/sys/sys/bus.h
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/sys/bus.h
==============================================================================
--- stable/12/sys/sys/bus.h	Tue Jul 16 15:07:33 2019	(r350032)
+++ stable/12/sys/sys/bus.h	Tue Jul 16 15:28:28 2019	(r350033)
@@ -807,16 +807,30 @@ DECLARE_MODULE(name##_##busname, name##_##busname##_mo
 static __inline type varp ## _get_ ## var(device_t dev)			\
 {									\
 	uintptr_t v;							\
-	BUS_READ_IVAR(device_get_parent(dev), dev,			\
+	int e;								\
+	e = BUS_READ_IVAR(device_get_parent(dev), dev,			\
 	    ivarp ## _IVAR_ ## ivar, &v);				\
+	if (e != 0) {							\
+		device_printf(dev, "failed to read ivar "		\
+		    __XSTRING(ivarp ## _IVAR_ ## ivar) " on bus %s, "	\
+		    "error = %d\n",					\
+		    device_get_nameunit(device_get_parent(dev)), e);	\
+	}								\
 	return ((type) v);						\
 }									\
 									\
 static __inline void varp ## _set_ ## var(device_t dev, type t)		\
 {									\
 	uintptr_t v = (uintptr_t) t;					\
-	BUS_WRITE_IVAR(device_get_parent(dev), dev,			\
+	int e;								\
+	e = BUS_WRITE_IVAR(device_get_parent(dev), dev,			\
 	    ivarp ## _IVAR_ ## ivar, v);				\
+	if (e != 0) {							\
+		device_printf(dev, "failed to write ivar "		\
+		    __XSTRING(ivarp ## _IVAR_ ## ivar) " on bus %s, "	\
+		    "error = %d\n",					\
+		    device_get_nameunit(device_get_parent(dev)), e);	\
+	}								\
 }
 
 /**


More information about the svn-src-all mailing list