diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-11-28 03:58:46 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-11-28 03:58:46 +0000 |
commit | b63ad0882a16a5d28003e57f2b0b81dee3fb322b (patch) | |
tree | 0a343ce219e2b8b38a5d702d66032c57b83d9720 /drivers/i2o | |
parent | a9d7bff9a84dba79609a0002e5321b74c4d64c64 (diff) |
Merge with 2.4.0-test11.
Diffstat (limited to 'drivers/i2o')
-rw-r--r-- | drivers/i2o/i2o_block.c | 2 | ||||
-rw-r--r-- | drivers/i2o/i2o_core.c | 2 | ||||
-rw-r--r-- | drivers/i2o/i2o_proc.c | 6 |
3 files changed, 4 insertions, 6 deletions
diff --git a/drivers/i2o/i2o_block.c b/drivers/i2o/i2o_block.c index 76ddf7c38..8389039d6 100644 --- a/drivers/i2o/i2o_block.c +++ b/drivers/i2o/i2o_block.c @@ -584,7 +584,6 @@ static int i2ob_evt(void *dummy) int i; lock_kernel(); - exit_files(current); daemonize(); unlock_kernel(); @@ -593,6 +592,7 @@ static int i2ob_evt(void *dummy) while(1) { +#warning "RACE" interruptible_sleep_on(&i2ob_evt_wait); if(signal_pending(current)) { evt_running = 0; diff --git a/drivers/i2o/i2o_core.c b/drivers/i2o/i2o_core.c index 87871fa15..e9942c614 100644 --- a/drivers/i2o/i2o_core.c +++ b/drivers/i2o/i2o_core.c @@ -842,7 +842,6 @@ static int i2o_core_evt(void *reply_data) int flags; lock_kernel(); - exit_files(current); daemonize(); unlock_kernel(); @@ -1005,7 +1004,6 @@ static int i2o_dyn_lct(void *foo) char name[16]; lock_kernel(); - exit_files(current); daemonize(); unlock_kernel(); diff --git a/drivers/i2o/i2o_proc.c b/drivers/i2o/i2o_proc.c index 4c92ff09d..dc70e7322 100644 --- a/drivers/i2o/i2o_proc.c +++ b/drivers/i2o/i2o_proc.c @@ -3237,7 +3237,7 @@ static void i2o_proc_remove_controller(struct i2o_controller *pctrl, for(dev=pctrl->devices; dev; dev=dev->next) i2o_proc_remove_device(dev); - if(!pctrl->proc_entry->count) + if(!atomic_read(&pctrl->proc_entry->count)) { sprintf(buff, "iop%d", pctrl->unit); @@ -3257,7 +3257,7 @@ void i2o_proc_remove_device(struct i2o_device *dev) i2o_device_notify_off(dev, &i2o_proc_handler); /* Would it be safe to remove _files_ even if they are in use? */ - if((de) && (!de->count)) + if((de) && (!atomic_read(&de->count))) { i2o_proc_remove_entries(generic_dev_entries, de); switch(dev->lct_data.class_id) @@ -3334,7 +3334,7 @@ static int __exit destroy_i2o_procfs(void) } } - if(!i2o_proc_dir_root->count) + if(!atomic_read(&i2o_proc_dir_root->count)) remove_proc_entry("i2o", 0); else return -1; |