Bläddra i källkod

[ALSA] rtctimer: optimize module parameter validation

Modules: RTC timer driver

The check whether rtctimer_freq is a power of two can be done easier
with a simple bit operation.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Clemens Ladisch 20 år sedan
förälder
incheckning
d9ad1bdd6d
1 ändrade filer med 3 tillägg och 8 borttagningar
  1. 3 8
      sound/core/rtctimer.c

+ 3 - 8
sound/core/rtctimer.c

@@ -119,16 +119,11 @@ static void rtctimer_interrupt(void *private_data)
  */
 static int __init rtctimer_init(void)
 {
-	int order, err;
+	int err;
 	snd_timer_t *timer;
 
-	if (rtctimer_freq < 2 || rtctimer_freq > 8192) {
-		snd_printk(KERN_ERR "rtctimer: invalid frequency %d\n", rtctimer_freq);
-		return -EINVAL;
-	}
-	for (order = 1; rtctimer_freq > order; order <<= 1)
-		;
-	if (rtctimer_freq != order) {
+	if (rtctimer_freq < 2 || rtctimer_freq > 8192 ||
+	    (rtctimer_freq & (rtctimer_freq - 1)) != 0) {
 		snd_printk(KERN_ERR "rtctimer: invalid frequency %d\n", rtctimer_freq);
 		return -EINVAL;
 	}