]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - kernel/time/clockevents.c
Merge branch 'master' of ssh://master.kernel.org/home/ftp/pub/scm/linux/kernel/git...
[mv-sheeva.git] / kernel / time / clockevents.c
index f8d968063cea38e348f63590ce73d409385cc5e9..d13be216a7905d1a538286322c242726a1af3aba 100644 (file)
@@ -68,6 +68,17 @@ void clockevents_set_mode(struct clock_event_device *dev,
        if (dev->mode != mode) {
                dev->set_mode(mode, dev);
                dev->mode = mode;
+
+               /*
+                * A nsec2cyc multiplicator of 0 is invalid and we'd crash
+                * on it, so fix it up and emit a warning:
+                */
+               if (mode == CLOCK_EVT_MODE_ONESHOT) {
+                       if (unlikely(!dev->mult)) {
+                               dev->mult = 1;
+                               WARN_ON(1);
+                       }
+               }
        }
 }
 
@@ -166,14 +177,7 @@ static void clockevents_notify_released(void)
 void clockevents_register_device(struct clock_event_device *dev)
 {
        BUG_ON(dev->mode != CLOCK_EVT_MODE_UNUSED);
-       /*
-        * A nsec2cyc multiplicator of 0 is invalid and we'd crash
-        * on it, so fix it up and emit a warning:
-        */
-       if (unlikely(!dev->mult)) {
-               dev->mult = 1;
-               WARN_ON(1);
-       }
+       BUG_ON(!dev->cpumask);
 
        spin_lock(&clockevents_lock);