diff options
| author | Rob Melby <async@cc.gatech.edu> | 2004-05-14 14:23:53 +0200 |
|---|---|---|
| committer | Vojtech Pavlik <vojtech@suse.cz> | 2004-05-14 14:23:53 +0200 |
| commit | 3fc3952010ffa4927e7d736fefee93fdcf23a95d (patch) | |
| tree | db05a67793bcea35e52ac3aeb52e4edd7712068d | |
| parent | fe34572fbdc8de4a35598c9cf28369c06c92aa3d (diff) | |
evdev.c:
input: Fix an oops at opentime of /dev/input/event devices
| -rw-r--r-- | drivers/input/evdev.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index 906673ec5aa3..3de8089413da 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; |
