Commit 15dd3f72 authored by Linus Torvalds's avatar Linus Torvalds

Merge bk://ldm.bkbits.net/linux-2.5-core

into home.transmeta.com:/home/torvalds/v2.5/linux
parents 6af705cb fd7eaee2
...@@ -2443,7 +2443,7 @@ static void vc_init(unsigned int currcons, unsigned int rows, unsigned int cols, ...@@ -2443,7 +2443,7 @@ static void vc_init(unsigned int currcons, unsigned int rows, unsigned int cols,
struct tty_driver console_driver; struct tty_driver console_driver;
static int console_refcount; static int console_refcount;
static void __init con_init(void) static int __init con_init(void)
{ {
const char *display_desc = NULL; const char *display_desc = NULL;
unsigned int currcons = 0; unsigned int currcons = 0;
...@@ -2452,7 +2452,7 @@ static void __init con_init(void) ...@@ -2452,7 +2452,7 @@ static void __init con_init(void)
display_desc = conswitchp->con_startup(); display_desc = conswitchp->con_startup();
if (!display_desc) { if (!display_desc) {
fg_console = 0; fg_console = 0;
return; return 0;
} }
init_timer(&console_timer); init_timer(&console_timer);
...@@ -2491,6 +2491,7 @@ static void __init con_init(void) ...@@ -2491,6 +2491,7 @@ static void __init con_init(void)
#ifdef CONFIG_VT_CONSOLE #ifdef CONFIG_VT_CONSOLE
register_console(&vt_console_driver); register_console(&vt_console_driver);
#endif #endif
return 0;
} }
console_initcall(con_init); console_initcall(con_init);
......
...@@ -342,8 +342,18 @@ static struct dentry * real_lookup(struct dentry * parent, struct qstr * name, i ...@@ -342,8 +342,18 @@ static struct dentry * real_lookup(struct dentry * parent, struct qstr * name, i
* *
* FIXME! This could use version numbering or similar to * FIXME! This could use version numbering or similar to
* avoid unnecessary cache lookups. * avoid unnecessary cache lookups.
*
* The "dcache_lock" is purely to protect the RCU list walker
* from concurrent renames at this point (we mustn't get false
* negatives from the RCU list walk here, unlike the optimistic
* fast walk).
*
* We really should do a sequence number thing to avoid this
* all.
*/ */
spin_lock(&dcache_lock);
result = d_lookup(parent, name); result = d_lookup(parent, name);
spin_unlock(&dcache_lock);
if (!result) { if (!result) {
struct dentry * dentry = d_alloc(parent, name); struct dentry * dentry = d_alloc(parent, name);
result = ERR_PTR(-ENOMEM); result = ERR_PTR(-ENOMEM);
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#ifdef __KERNEL__ #ifdef __KERNEL__
#include <linux/prefetch.h> #include <linux/prefetch.h>
#include <linux/stddef.h>
#include <asm/system.h> #include <asm/system.h>
/* /*
......
...@@ -348,7 +348,6 @@ extern int fg_console, last_console, want_console; ...@@ -348,7 +348,6 @@ extern int fg_console, last_console, want_console;
extern int kmsg_redirect; extern int kmsg_redirect;
extern void con_init(void);
extern void console_init(void); extern void console_init(void);
extern int lp_init(void); extern int lp_init(void);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment