Skip to contentSkip to conversation

drivers/net/tulip/dmfe.c: fix check after use

PATCH In review Adrian Bunk 2 participants 3 messages Mar 25, 2005 – Mar 26, 2005 Network drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 drivers/net/tulip/dmfe.c: fix check after use

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

drivers/net/tulip/dmfe.c renamed from drivers/net/tulip/dmfe.c.old +3 -1
@@ -736,20 +736,22 @@
 
 static irqreturn_t dmfe_interrupt(int irq, void *dev_id, struct pt_regs *regs)
 {
 	struct DEVICE *dev = dev_id;
 	struct dmfe_board_info *db = netdev_priv(dev);
-	unsigned long ioaddr = dev->base_addr;
+	unsigned long ioaddr;
 	unsigned long flags;
 
 	DMFE_DBUG(0, "dmfe_interrupt()", 0);
 
 	if (!dev) {
 		DMFE_DBUG(1, "dmfe_interrupt() without DEVICE arg", 0);
 		return IRQ_NONE;
 	}
 
+	ioaddr = dev->base_addr;
+
 	spin_lock_irqsave(&db->lock, flags);
 
 	/* Got DM910X status */
 	db->cr5_data = inl(ioaddr + DCR5);
 	outl(db->cr5_data, ioaddr + DCR5);
#1 lore raw
Quoted 12 lines · Adrian Bunk

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

drivers/net/tulip/dmfe.c renamed from drivers/net/tulip/dmfe.c.old +0 -0
@@ -736,20 +736,22 @@
 
 static irqreturn_t dmfe_interrupt(int irq, void *dev_id, struct pt_regs *regs)
 {
 	struct DEVICE *dev = dev_id;
 	struct dmfe_board_info *db = netdev_priv(dev);

drivers/net/tulip/dmfe.c line 749

Quoted 10 lines
drivers/net/tulip/dmfe.c renamed from drivers/net/tulip/dmfe.c.old +1 -1
-	unsigned long ioaddr = dev->base_addr;
+	unsigned long ioaddr;
 	unsigned long flags;
 
 	DMFE_DBUG(0, "dmfe_interrupt()", 0);
 
 	if (!dev) {
 		DMFE_DBUG(1, "dmfe_interrupt() without DEVICE arg", 0);
 		return IRQ_NONE;
 	}

I would prefer to remove the "if (!dev)" test, since it shouldn't ever succeed.

Jeff

#2 lore raw

PATCH 1/1 drivers/net/tulip/dmfe.c: remove a check after use

Quoted 22 lines · Jeff Garzik
Quoted 21 lines · Adrian Bunk

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

--- linux-2.6.12-rc1-mm1-full/drivers/net/tulip/dmfe.c.old 2005-03-23
05:05:36.000000000 +0100
+++ linux-2.6.12-rc1-mm1-full/drivers/net/tulip/dmfe.c 2005-03-23
05:06:00.000000000 +0100

(quoted diff) +0 -0
@@ -736,20 +736,22 @@
 

static irqreturn_t dmfe_interrupt(int irq, void *dev_id, struct pt_regs *regs)

{
	struct DEVICE *dev = dev_id;
	struct dmfe_board_info *db = netdev_priv(dev);
(quoted diff) +1 -1
-	unsigned long ioaddr = dev->base_addr;
+	unsigned long ioaddr;
	unsigned long flags;

	DMFE_DBUG(0, "dmfe_interrupt()", 0);
Quoted 7 lines
Quoted 4 lines
	if (!dev) {
		DMFE_DBUG(1, "dmfe_interrupt() without DEVICE arg", 0);
		return IRQ_NONE;
	}

I would prefer to remove the "if (!dev)" test, since it shouldn't ever succeed.

Patch below.

Quoted 1 line

Jeff

cu
Adrian

<-- snip -->

This patch removes a NULL check that was useles because it happened after the first dereference of the variable.

drivers/net/tulip/dmfe.c renamed from drivers/net/tulip/dmfe.c.old +0 -5
@@ -744,11 +744,6 @@
 
 	DMFE_DBUG(0, "dmfe_interrupt()", 0);
 
-	if (!dev) {
-		DMFE_DBUG(1, "dmfe_interrupt() without DEVICE arg", 0);
-		return IRQ_NONE;
-	}
-
 	spin_lock_irqsave(&db->lock, flags);
 
 	/* Got DM910X status */