aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn/divert/divert_procfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/isdn/divert/divert_procfs.c')
-rw-r--r--drivers/isdn/divert/divert_procfs.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/isdn/divert/divert_procfs.c b/drivers/isdn/divert/divert_procfs.c
index fb4f1bac0133..1c5dc345e7c5 100644
--- a/drivers/isdn/divert/divert_procfs.c
+++ b/drivers/isdn/divert/divert_procfs.c
@@ -86,12 +86,13 @@ isdn_divert_read(struct file *file, char __user *buf, size_t count, loff_t *off)
86 struct divert_info *inf; 86 struct divert_info *inf;
87 int len; 87 int len;
88 88
89 if (!*((struct divert_info **) file->private_data)) { 89 if (!(inf = *((struct divert_info **) file->private_data))) {
90 if (file->f_flags & O_NONBLOCK) 90 if (file->f_flags & O_NONBLOCK)
91 return -EAGAIN; 91 return -EAGAIN;
92 interruptible_sleep_on(&(rd_queue)); 92 wait_event_interruptible(rd_queue, (inf =
93 *((struct divert_info **) file->private_data)));
93 } 94 }
94 if (!(inf = *((struct divert_info **) file->private_data))) 95 if (!inf)
95 return (0); 96 return (0);
96 97
97 inf->usage_cnt--; /* new usage count */ 98 inf->usage_cnt--; /* new usage count */