svn commit: r217793 - head/sys/dev/usb

Hans Petter Selasky hselasky at FreeBSD.org
Mon Jan 24 17:38:38 UTC 2011


Author: hselasky
Date: Mon Jan 24 17:38:37 2011
New Revision: 217793
URL: http://svn.freebsd.org/changeset/base/217793

Log:
  Add more sanity checks for USB_HOST_ALIGN input values. Re-factor existing
  checks for readability.
  
  Approved by:	thompsa (mentor)

Modified:
  head/sys/dev/usb/usb_freebsd.h

Modified: head/sys/dev/usb/usb_freebsd.h
==============================================================================
--- head/sys/dev/usb/usb_freebsd.h	Mon Jan 24 17:08:26 2011	(r217792)
+++ head/sys/dev/usb/usb_freebsd.h	Mon Jan 24 17:38:37 2011	(r217793)
@@ -46,12 +46,15 @@
 #define	USB_TD_GET_PROC(td) (td)->td_proc
 #define	USB_PROC_GET_GID(td) (td)->p_pgid
 
-#if defined(USB_HOST_ALIGN) && (USB_HOST_ALIGN != 0)
-/* USB_HOST_ALIGN is already defined and valid */
-#else
+#if (!defined(USB_HOST_ALIGN)) || (USB_HOST_ALIGN <= 0)
+/* Use default value. */
 #undef USB_HOST_ALIGN
 #define	USB_HOST_ALIGN    8		/* bytes, must be power of two */
 #endif
+/* Sanity check for USB_HOST_ALIGN: Verify power of two. */
+#if ((-USB_HOST_ALIGN) & USB_HOST_ALIGN) != USB_HOST_ALIGN
+#error "USB_HOST_ALIGN is not power of two."
+#endif
 #define	USB_FS_ISOC_UFRAME_MAX 4	/* exclusive unit */
 #define	USB_BUS_MAX 256			/* units */
 #define	USB_MAX_DEVICES 128		/* units */


More information about the svn-src-head mailing list