projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sky2: version 1.14
[powerpc.git]
/
kernel
/
printk.c
diff --git
a/kernel/printk.c
b/kernel/printk.c
index
185bb45
..
4b47e59
100644
(file)
--- a/
kernel/printk.c
+++ b/
kernel/printk.c
@@
-54,7
+54,7
@@
int console_printk[4] = {
};
/*
};
/*
- * Low leve
r
drivers may need that to know if they can schedule in
+ * Low leve
l
drivers may need that to know if they can schedule in
* their unblank() callback or not. So let's export it.
*/
int oops_in_progress;
* their unblank() callback or not. So let's export it.
*/
int oops_in_progress;
@@
-335,7
+335,7
@@
static void __call_console_drivers(unsigned long start, unsigned long end)
static int __read_mostly ignore_loglevel;
static int __read_mostly ignore_loglevel;
-int __init ignore_loglevel_setup(char *str)
+
static
int __init ignore_loglevel_setup(char *str)
{
ignore_loglevel = 1;
printk(KERN_INFO "debug: ignoring loglevel setting.\n");
{
ignore_loglevel = 1;
printk(KERN_INFO "debug: ignoring loglevel setting.\n");
@@
-483,7
+483,7
@@
static int have_callable_console(void)
* printk - print a kernel message
* @fmt: format string
*
* printk - print a kernel message
* @fmt: format string
*
- * This is printk. It can be called from any context. We want it to work.
+ * This is printk
()
. It can be called from any context. We want it to work.
*
* We try to grab the console_sem. If we succeed, it's easy - we log the output and
* call the console drivers. If we fail to get the semaphore we place the output
*
* We try to grab the console_sem. If we succeed, it's easy - we log the output and
* call the console drivers. If we fail to get the semaphore we place the output
@@
-529,7
+529,7
@@
asmlinkage int vprintk(const char *fmt, va_list args)
zap_locks();
/* This stops the holder of console_sem just where we want him */
zap_locks();
/* This stops the holder of console_sem just where we want him */
- local_irq_save(flags);
+
raw_
local_irq_save(flags);
lockdep_off();
spin_lock(&logbuf_lock);
printk_cpu = smp_processor_id();
lockdep_off();
spin_lock(&logbuf_lock);
printk_cpu = smp_processor_id();
@@
-618,7
+618,7
@@
asmlinkage int vprintk(const char *fmt, va_list args)
up(&console_sem);
}
lockdep_on();
up(&console_sem);
}
lockdep_on();
- local_irq_restore(flags);
+
raw_
local_irq_restore(flags);
} else {
/*
* Someone else owns the drivers. We drop the spinlock, which
} else {
/*
* Someone else owns the drivers. We drop the spinlock, which
@@
-628,7
+628,7
@@
asmlinkage int vprintk(const char *fmt, va_list args)
printk_cpu = UINT_MAX;
spin_unlock(&logbuf_lock);
lockdep_on();
printk_cpu = UINT_MAX;
spin_unlock(&logbuf_lock);
lockdep_on();
- local_irq_restore(flags);
+
raw_
local_irq_restore(flags);
}
preempt_enable();
}
preempt_enable();
@@
-783,6
+783,12
@@
int is_console_locked(void)
return console_locked;
}
return console_locked;
}
+void wake_up_klogd(void)
+{
+ if (!oops_in_progress && waitqueue_active(&log_wait))
+ wake_up_interruptible(&log_wait);
+}
+
/**
* release_console_sem - unlock the console system
*
/**
* release_console_sem - unlock the console system
*
@@
-825,8
+831,8
@@
void release_console_sem(void)
console_locked = 0;
up(&console_sem);
spin_unlock_irqrestore(&logbuf_lock, flags);
console_locked = 0;
up(&console_sem);
spin_unlock_irqrestore(&logbuf_lock, flags);
- if (wake_klogd
&& !oops_in_progress && waitqueue_active(&log_wait)
)
- wake_up_
interruptible(&log_wait
);
+ if (wake_klogd)
+ wake_up_
klogd(
);
}
EXPORT_SYMBOL(release_console_sem);
}
EXPORT_SYMBOL(release_console_sem);