mxser: remove nonsense from ISR
authorJiri Slaby <jslaby@suse.cz>
Fri, 18 Jun 2021 06:14:17 +0000 (08:14 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 18 Jun 2021 11:09:59 +0000 (13:09 +0200)
request_irq was passed a board. There is no need to check dev_id and/or
find the appropriate board in the ISR. Neither check if board is NULL.
Remove this nonsense.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20210618061516.662-12-jslaby@suse.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/mxser.c

index db594a64ff004958a561c3c936547e56e2f3abfa..6602b2741271217d061d526d627307821930ff58 100644 (file)
@@ -2207,23 +2207,13 @@ static void mxser_transmit_chars(struct tty_struct *tty, struct mxser_port *port
 static irqreturn_t mxser_interrupt(int irq, void *dev_id)
 {
        int status, iir, i;
-       struct mxser_board *brd = NULL;
+       struct mxser_board *brd = dev_id;
        struct mxser_port *port;
        int max, irqbits, bits, msr;
        unsigned int int_cnt, pass_counter = 0;
        int handled = IRQ_NONE;
        struct tty_struct *tty;
 
-       for (i = 0; i < MXSER_BOARDS; i++)
-               if (dev_id == &mxser_boards[i]) {
-                       brd = dev_id;
-                       break;
-               }
-
-       if (i == MXSER_BOARDS)
-               goto irq_stop;
-       if (brd == NULL)
-               goto irq_stop;
        max = brd->info->nports;
        while (pass_counter++ < MXSER_ISR_PASS_LIMIT) {
                irqbits = inb(brd->vector) & brd->vector_mask;
@@ -2299,7 +2289,6 @@ static irqreturn_t mxser_interrupt(int irq, void *dev_id)
                }
        }
 
-irq_stop:
        return handled;
 }