summaryrefslogtreecommitdiff
path: root/drivers/input/evdev.c
diff options
context:
space:
mode:
authorVojtech Pavlik <vojtech@suse.cz>2004-05-14 14:32:54 +0200
committerVojtech Pavlik <vojtech@suse.cz>2004-05-14 14:32:54 +0200
commite88468acddd678332b055aca883e1ddfb08394f5 (patch)
tree1e5153ecc005841bd38116fd36a0aa37c0bf6cd6 /drivers/input/evdev.c
parentd09000d34ceef54a1f0bbe68dd58203960bd65cd (diff)
parent3fc3952010ffa4927e7d736fefee93fdcf23a95d (diff)
Merge bkbits:input into suse.cz:/home/vojtech/bk/input
Diffstat (limited to 'drivers/input/evdev.c')
-rw-r--r--drivers/input/evdev.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
index 1e8ef32f6fa9..46ee2b0ac8c7 100644
--- a/drivers/input/evdev.c
+++ b/drivers/input/evdev.c
@@ -126,7 +126,7 @@ static int evdev_open(struct inode * inode, struct file * file)
int i = iminor(inode) - EVDEV_MINOR_BASE;
int accept_err;
- if (i >= EVDEV_MINORS || !evdev_table[i])
+ if (i >= EVDEV_MINORS || !evdev_table[i] || !evdev_table[i]->exist)
return -ENODEV;
if ((accept_err = input_accept_process(&(evdev_table[i]->handle), file)))
@@ -175,7 +175,7 @@ static ssize_t evdev_read(struct file * file, char * buffer, size_t count, loff_
return -EAGAIN;
retval = wait_event_interruptible(list->evdev->wait,
- list->head != list->tail && list->evdev->exist);
+ list->head != list->tail || (!list->evdev->exist));
if (retval)
return retval;