|
@@ -19,6 +19,7 @@
|
|
|
#include <linux/init.h>
|
|
|
#include <linux/timer.h>
|
|
|
#include <linux/spinlock.h>
|
|
|
+#include <linux/wait.h>
|
|
|
|
|
|
#include <asm/io.h>
|
|
|
#include <dma.h>
|
|
@@ -1144,7 +1145,8 @@ static ssize_t sync_serial_read(struct file * file, char * buf,
|
|
|
if (file->f_flags & O_NONBLOCK)
|
|
|
return -EAGAIN;
|
|
|
|
|
|
- interruptible_sleep_on(&port->in_wait_q);
|
|
|
+ wait_event_interruptible(port->in_wait_q,
|
|
|
+ !(start == end && !port->full));
|
|
|
if (signal_pending(current))
|
|
|
return -EINTR;
|
|
|
|