|
@@ -347,8 +347,8 @@ static irqreturn_t line_write_interrupt(int irq, void *data)
|
|
|
int err;
|
|
|
|
|
|
/*
|
|
|
- * Interrupts are disabled here because we registered the interrupt with
|
|
|
- * IRQF_DISABLED (see line_setup_irq).
|
|
|
+ * Interrupts are disabled here because genirq keep irqs disabled when
|
|
|
+ * calling the action handler.
|
|
|
*/
|
|
|
|
|
|
spin_lock(&line->lock);
|
|
@@ -371,7 +371,7 @@ static irqreturn_t line_write_interrupt(int irq, void *data)
|
|
|
int line_setup_irq(int fd, int input, int output, struct line *line, void *data)
|
|
|
{
|
|
|
const struct line_driver *driver = line->driver;
|
|
|
- int err = 0, flags = IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM;
|
|
|
+ int err = 0, flags = IRQF_SHARED | IRQF_SAMPLE_RANDOM;
|
|
|
|
|
|
if (input)
|
|
|
err = um_request_irq(driver->read_irq, fd, IRQ_READ,
|
|
@@ -807,7 +807,7 @@ void register_winch_irq(int fd, int tty_fd, int pid, struct tty_struct *tty,
|
|
|
.stack = stack });
|
|
|
|
|
|
if (um_request_irq(WINCH_IRQ, fd, IRQ_READ, winch_interrupt,
|
|
|
- IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM,
|
|
|
+ IRQF_SHARED | IRQF_SAMPLE_RANDOM,
|
|
|
"winch", winch) < 0) {
|
|
|
printk(KERN_ERR "register_winch_irq - failed to register "
|
|
|
"IRQ\n");
|