Skip to contentSkip to conversation

drivers/net/pcmcia/nmclan_cs.c: fix a check after use

PATCH In review Adrian Bunk 2 participants 2 messages Apr 13, 2005 Network drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 drivers/net/pcmcia/nmclan_cs.c: fix a check after use

This patch fixes a check after use found by the Coverity checker.

---

This patch was already sent on:
- 27 Mar 2005

drivers/net/pcmcia/nmclan_cs.c renamed from drivers/net/pcmcia/nmclan_cs.c.old +3 -1
@@ -1090,20 +1090,22 @@
 ---------------------------------------------------------------------------- */
 static irqreturn_t mace_interrupt(int irq, void *dev_id, struct pt_regs *regs)
 {
   struct net_device *dev = (struct net_device *) dev_id;
   mace_private *lp = netdev_priv(dev);
-  kio_addr_t ioaddr = dev->base_addr;
+  kio_addr_t ioaddr;
   int status;
   int IntrCnt = MACE_MAX_IR_ITERATIONS;
 
   if (dev == NULL) {
     DEBUG(2, "mace_interrupt(): irq 0x%X for unknown device.\n",
 	  irq);
     return IRQ_NONE;
   }
 
+  ioaddr = dev->base_addr;
+
   if (lp->tx_irq_disabled) {
     printk(
       (lp->tx_irq_disabled?
        KERN_NOTICE "%s: Interrupt with tx_irq_disabled "
        "[isr=%02X, imr=%02X]\n": 
#1 lore raw
Quoted 1 line · Adrian Bunk

This patch fixes a check after use found by the Coverity checker.

Again, check is a pure BS. Argument passed to this sucker comes from ->Instance of the same struct that had ->Handler equal to mace_interrupt(). That would be

    link->irq.Handler = &mace_interrupt;
    link->irq.Instance = dev;

in nmclan_attach(). Nothing ever modifies that beast afterwards and dev sure as hell can't be NULL in nmclan_attach() (explict check and a bunch of dereferencings prior to that point).

Adrian, could you please _read_ the code you are modifying?