diff options
| -rw-r--r-- | drivers/isdn/i4l/isdn_common.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/isdn/i4l/isdn_common.c b/drivers/isdn/i4l/isdn_common.c index 9bb12ba3191f..130f21643154 100644 --- a/drivers/isdn/i4l/isdn_common.c +++ b/drivers/isdn/i4l/isdn_common.c | |||
| @@ -777,7 +777,8 @@ isdn_readbchan(int di, int channel, u_char *buf, u_char *fp, int len, wait_queue | |||
| 777 | return 0; | 777 | return 0; |
| 778 | if (skb_queue_empty(&dev->drv[di]->rpqueue[channel])) { | 778 | if (skb_queue_empty(&dev->drv[di]->rpqueue[channel])) { |
| 779 | if (sleep) | 779 | if (sleep) |
| 780 | interruptible_sleep_on(sleep); | 780 | wait_event_interruptible(*sleep, |
| 781 | !skb_queue_empty(&dev->drv[di]->rpqueue[channel])); | ||
| 781 | else | 782 | else |
| 782 | return 0; | 783 | return 0; |
| 783 | } | 784 | } |
| @@ -1072,7 +1073,8 @@ isdn_read(struct file *file, char __user *buf, size_t count, loff_t *off) | |||
| 1072 | retval = -EAGAIN; | 1073 | retval = -EAGAIN; |
| 1073 | goto out; | 1074 | goto out; |
| 1074 | } | 1075 | } |
| 1075 | interruptible_sleep_on(&(dev->info_waitq)); | 1076 | wait_event_interruptible(dev->info_waitq, |
| 1077 | file->private_data); | ||
| 1076 | } | 1078 | } |
| 1077 | p = isdn_statstr(); | 1079 | p = isdn_statstr(); |
| 1078 | file->private_data = NULL; | 1080 | file->private_data = NULL; |
| @@ -1128,7 +1130,8 @@ isdn_read(struct file *file, char __user *buf, size_t count, loff_t *off) | |||
| 1128 | retval = -EAGAIN; | 1130 | retval = -EAGAIN; |
| 1129 | goto out; | 1131 | goto out; |
| 1130 | } | 1132 | } |
| 1131 | interruptible_sleep_on(&(dev->drv[drvidx]->st_waitq)); | 1133 | wait_event_interruptible(dev->drv[drvidx]->st_waitq, |
| 1134 | dev->drv[drvidx]->stavail); | ||
| 1132 | } | 1135 | } |
| 1133 | if (dev->drv[drvidx]->interface->readstat) { | 1136 | if (dev->drv[drvidx]->interface->readstat) { |
| 1134 | if (count > dev->drv[drvidx]->stavail) | 1137 | if (count > dev->drv[drvidx]->stavail) |
| @@ -1188,8 +1191,8 @@ isdn_write(struct file *file, const char __user *buf, size_t count, loff_t *off) | |||
| 1188 | goto out; | 1191 | goto out; |
| 1189 | } | 1192 | } |
| 1190 | chidx = isdn_minor2chan(minor); | 1193 | chidx = isdn_minor2chan(minor); |
| 1191 | while ((retval = isdn_writebuf_stub(drvidx, chidx, buf, count)) == 0) | 1194 | wait_event_interruptible(dev->drv[drvidx]->snd_waitq[chidx], |
| 1192 | interruptible_sleep_on(&dev->drv[drvidx]->snd_waitq[chidx]); | 1195 | (retval = isdn_writebuf_stub(drvidx, chidx, buf, count))); |
| 1193 | goto out; | 1196 | goto out; |
| 1194 | } | 1197 | } |
| 1195 | if (minor <= ISDN_MINOR_CTRLMAX) { | 1198 | if (minor <= ISDN_MINOR_CTRLMAX) { |
