summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/linux/auto_fs.h3
-rw-r--r--init/main.c4
-rw-r--r--kernel/ksyms.c4
-rw-r--r--kernel/printk.c9
4 files changed, 11 insertions, 9 deletions
diff --git a/include/linux/auto_fs.h b/include/linux/auto_fs.h
index 9dc8ab2dfa6f..39b120cd2e12 100644
--- a/include/linux/auto_fs.h
+++ b/include/linux/auto_fs.h
@@ -45,7 +45,8 @@
* If so, 32-bit user-space code should be backwards compatible.
*/
-#if defined(__sparc__) || defined(__mips__) || defined(__x86_64__) || defined(__powerpc__)
+#if defined(__sparc__) || defined(__mips__) || defined(__x86_64) \
+ || defined(__powerpc__) || defined(__s390__)
typedef unsigned int autofs_wqt_t;
#else
typedef unsigned long autofs_wqt_t;
diff --git a/init/main.c b/init/main.c
index 839dbcf364a0..922ea974aaf9 100644
--- a/init/main.c
+++ b/init/main.c
@@ -34,7 +34,6 @@
#if defined(CONFIG_ARCH_S390)
#include <asm/s390mach.h>
-#include <asm/ccwcache.h>
#endif
#ifdef CONFIG_MTRR
@@ -393,9 +392,6 @@ asmlinkage void __init start_kernel(void)
buffer_init();
vfs_caches_init(mempages);
radix_tree_init();
-#if defined(CONFIG_ARCH_S390)
- ccwcache_init();
-#endif
signals_init();
#ifdef CONFIG_PROC_FS
proc_root_init();
diff --git a/kernel/ksyms.c b/kernel/ksyms.c
index 8b2511787ccb..bb25b68257b8 100644
--- a/kernel/ksyms.c
+++ b/kernel/ksyms.c
@@ -388,9 +388,7 @@ EXPORT_SYMBOL(add_timer);
EXPORT_SYMBOL(del_timer);
EXPORT_SYMBOL(request_irq);
EXPORT_SYMBOL(free_irq);
-#if !defined(CONFIG_ARCH_S390)
-EXPORT_SYMBOL(irq_stat); /* No separate irq_stat for s390, it is part of PSA */
-#endif
+EXPORT_SYMBOL(irq_stat);
/* waitqueue handling */
EXPORT_SYMBOL(add_wait_queue);
diff --git a/kernel/printk.c b/kernel/printk.c
index 6226e86fca32..d095aac9fb57 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -553,7 +553,14 @@ void console_unblank(void)
{
struct console *c;
- acquire_console_sem();
+ /*
+ * Try to get the console semaphore. If someone else owns it
+ * we have to return without unblanking because console_unblank
+ * may be called in interrupt context.
+ */
+ if (down_trylock(&console_sem) != 0)
+ return;
+ console_may_schedule = 0;
for (c = console_drivers; c != NULL; c = c->next)
if ((c->flags & CON_ENABLED) && c->unblank)
c->unblank();