License cleanup, ifdef namespace cleanup
[lttng-modules.git] / lib / ringbuffer / ring_buffer_backend.c
index bfe63d7b34b913c8307ba4ae7cb17221a18287f1..e8ad4c521cfb66440e51eb4ae9ca0930ea6528d6 100644 (file)
@@ -1,9 +1,21 @@
 /*
  * ring_buffer_backend.c
  *
- * Copyright (C) 2005-2010 - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ * Copyright (C) 2005-2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  *
- * Dual LGPL v2.1/GPL v2 license.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; only
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
 #include <linux/stddef.h>
@@ -307,19 +319,17 @@ int channel_backend_init(struct channel_backend *chanb,
        if (!name)
                return -EPERM;
 
-       if (!(subbuf_size && num_subbuf))
-               return -EPERM;
-
        /* Check that the subbuffer size is larger than a page. */
        if (subbuf_size < PAGE_SIZE)
                return -EINVAL;
 
        /*
-        * Make sure the number of subbuffers and subbuffer size are power of 2.
+        * Make sure the number of subbuffers and subbuffer size are
+        * power of 2 and nonzero.
         */
-       if (hweight32(subbuf_size) != 1)
+       if (!subbuf_size || (subbuf_size & (subbuf_size - 1)))
                return -EINVAL;
-       if (hweight32(num_subbuf) != 1)
+       if (!num_subbuf || (num_subbuf & (num_subbuf - 1)))
                return -EINVAL;
 
        ret = subbuffer_id_check_index(config, num_subbuf);
This page took 0.024906 seconds and 4 git commands to generate.