summaryrefslogtreecommitdiffstats
path: root/arch/cris/arch-v10/drivers/sync_serial.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-01-27 08:12:20 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2014-01-27 08:12:20 -0800
commit562e74fefc36eb57286455c68a60f2776659a7e1 (patch)
tree1eeaeb09bc06ca65aad5e0c8882caab2bdcf1e90 /arch/cris/arch-v10/drivers/sync_serial.c
parent77d143de75812596a58d126606f42d1214e09dde (diff)
parente269a869417cd4053b37da1b19186902d3cbf63b (diff)
Merge tag 'cris-for-3.14' of git://jni.nu/cris
Pull cris changes from Jesper Nilsson: "Mostly removal of deprecated or old code, but also a long promised update of the CRIS syscalls" * tag 'cris-for-3.14' of git://jni.nu/cris: Drop code for CRISv10 CPU simulator Cleanup whitespace, remove old author tag CRIS: Add missing syscalls cris: sync_serial: remove interruptible_sleep_on cris: remove deprecated IRQF_DISABLED
Diffstat (limited to 'arch/cris/arch-v10/drivers/sync_serial.c')
-rw-r--r--arch/cris/arch-v10/drivers/sync_serial.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/cris/arch-v10/drivers/sync_serial.c b/arch/cris/arch-v10/drivers/sync_serial.c
index a1c498d18d3..29eb02ab3f2 100644
--- a/arch/cris/arch-v10/drivers/sync_serial.c
+++ b/arch/cris/arch-v10/drivers/sync_serial.c
@@ -22,6 +22,7 @@
#include <linux/init.h>
#include <linux/mutex.h>
#include <linux/timer.h>
+#include <linux/wait.h>
#include <asm/irq.h>
#include <asm/dma.h>
#include <asm/io.h>
@@ -580,7 +581,7 @@ static int sync_serial_open(struct inode *inode, struct file *file)
if (port == &ports[0]) {
if (request_irq(8,
manual_interrupt,
- IRQF_SHARED | IRQF_DISABLED,
+ IRQF_SHARED,
"synchronous serial manual irq",
&ports[0])) {
printk(KERN_CRIT "Can't alloc "
@@ -590,7 +591,7 @@ static int sync_serial_open(struct inode *inode, struct file *file)
} else if (port == &ports[1]) {
if (request_irq(8,
manual_interrupt,
- IRQF_SHARED | IRQF_DISABLED,
+ IRQF_SHARED,
"synchronous serial manual irq",
&ports[1])) {
printk(KERN_CRIT "Can't alloc "
@@ -1136,7 +1137,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;