OSDN Git Service

net: sun3lance: Remove redundant checks in interrupt handler
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Tue, 29 Sep 2020 20:25:27 +0000 (22:25 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 29 Sep 2020 21:02:54 +0000 (14:02 -0700)
lance_interrupt() contains two pointless checks:

 - A check whether the 'dev_id' argument is NULL. 'dev_id' is the pointer
   which was handed in to request_irq() and the interrupt handler will
   always be invoked with that pointer as 'dev_id' argument by the core
   code.

 - A check for interrupt reentrancy. The core code already guarantees
   non-reentrancy of interrupt handlers.

Remove these check.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/amd/sun3lance.c

index e1fde58..00ae108 100644 (file)
@@ -657,16 +657,6 @@ static irqreturn_t lance_interrupt( int irq, void *dev_id)
        struct net_device *dev = dev_id;
        struct lance_private *lp = netdev_priv(dev);
        int csr0;
-       static int in_interrupt;
-
-       if (dev == NULL) {
-               DPRINTK( 1, ( "lance_interrupt(): invalid dev_id\n" ));
-               return IRQ_NONE;
-       }
-
-       if (in_interrupt)
-               DPRINTK( 2, ( "%s: Re-entering the interrupt handler.\n", dev->name ));
-       in_interrupt = 1;
 
  still_more:
        flush_cache_all();
@@ -774,7 +764,6 @@ static irqreturn_t lance_interrupt( int irq, void *dev_id)
 
        DPRINTK( 2, ( "%s: exiting interrupt, csr0=%#04x.\n",
                                  dev->name, DREG ));
-       in_interrupt = 0;
        return IRQ_HANDLED;
 }