time_status |= STA_PPSERROR;
                pps_errcnt++;
                pps_dec_freq_interval();
-               pr_err("hardpps: PPSERROR: interval too long - %ld s\n",
-                               freq_norm.sec);
+               printk_deferred(KERN_ERR
+                       "hardpps: PPSERROR: interval too long - %ld s\n",
+                       freq_norm.sec);
                return 0;
        }
 
        delta = shift_right(ftemp - pps_freq, NTP_SCALE_SHIFT);
        pps_freq = ftemp;
        if (delta > PPS_MAXWANDER || delta < -PPS_MAXWANDER) {
-               pr_warning("hardpps: PPSWANDER: change=%ld\n", delta);
+               printk_deferred(KERN_WARNING
+                               "hardpps: PPSWANDER: change=%ld\n", delta);
                time_status |= STA_PPSWANDER;
                pps_stbcnt++;
                pps_dec_freq_interval();
         * the time offset is updated.
         */
        if (jitter > (pps_jitter << PPS_POPCORN)) {
-               pr_warning("hardpps: PPSJITTER: jitter=%ld, limit=%ld\n",
-                      jitter, (pps_jitter << PPS_POPCORN));
+               printk_deferred(KERN_WARNING
+                               "hardpps: PPSJITTER: jitter=%ld, limit=%ld\n",
+                               jitter, (pps_jitter << PPS_POPCORN));
                time_status |= STA_PPSJITTER;
                pps_jitcnt++;
        } else if (time_status & STA_PPSTIME) {
                time_status |= STA_PPSJITTER;
                /* restart the frequency calibration interval */
                pps_fbase = *raw_ts;
-               pr_err("hardpps: PPSJITTER: bad pulse\n");
+               printk_deferred(KERN_ERR "hardpps: PPSJITTER: bad pulse\n");
                return;
        }
 
 
                                                        struct timespec *delta)
 {
        if (!timespec_valid_strict(delta)) {
-               printk(KERN_WARNING "__timekeeping_inject_sleeptime: Invalid "
-                                       "sleep delta value!\n");
+               printk_deferred(KERN_WARNING
+                               "__timekeeping_inject_sleeptime: Invalid "
+                               "sleep delta value!\n");
                return;
        }
        tk_xtime_add(tk, delta);
 
        if (unlikely(tk->clock->maxadj &&
                (tk->mult + adj > tk->clock->mult + tk->clock->maxadj))) {
-               printk_once(KERN_WARNING
+               printk_deferred_once(KERN_WARNING
                        "Adjusting %s more than 11%% (%ld vs %ld)\n",
                        tk->clock->name, (long)tk->mult + adj,
                        (long)tk->clock->mult + tk->clock->maxadj);