[Patch] Remove unnecessary check in drivers/net/depca.c

From: Eric Sesterhenn
Date: Sun Sep 24 2006 - 18:55:34 EST


hi,

this was spotted by coverity (cid #793). All callers dereference dev before
calling this functions, and we dereference it earlier in the function,
when initializing lp.

Signed-off-by: Eric Sesterhenn <snakebyte@xxxxxx>

--- linux-2.6.18-git3/drivers/net/depca.c.orig 2006-09-24 22:13:07.000000000 +0200
+++ linux-2.6.18-git3/drivers/net/depca.c 2006-09-24 22:17:40.000000000 +0200
@@ -1252,24 +1252,22 @@ static void set_multicast_list(struct ne
struct depca_private *lp = (struct depca_private *) dev->priv;
u_long ioaddr = dev->base_addr;

- if (dev) {
- netif_stop_queue(dev);
- while (lp->tx_old != lp->tx_new); /* Wait for the ring to empty */
+ netif_stop_queue(dev);
+ while (lp->tx_old != lp->tx_new); /* Wait for the ring to empty */

- STOP_DEPCA; /* Temporarily stop the depca. */
- depca_init_ring(dev); /* Initialize the descriptor rings */
-
- if (dev->flags & IFF_PROMISC) { /* Set promiscuous mode */
- lp->init_block.mode |= PROM;
- } else {
- SetMulticastFilter(dev);
- lp->init_block.mode &= ~PROM; /* Unset promiscuous mode */
- }
+ STOP_DEPCA; /* Temporarily stop the depca. */
+ depca_init_ring(dev); /* Initialize the descriptor rings */

- LoadCSRs(dev); /* Reload CSR3 */
- InitRestartDepca(dev); /* Resume normal operation. */
- netif_start_queue(dev); /* Unlock the TX ring */
+ if (dev->flags & IFF_PROMISC) { /* Set promiscuous mode */
+ lp->init_block.mode |= PROM;
+ } else {
+ SetMulticastFilter(dev);
+ lp->init_block.mode &= ~PROM; /* Unset promiscuous mode */
}
+
+ LoadCSRs(dev); /* Reload CSR3 */
+ InitRestartDepca(dev); /* Resume normal operation. */
+ netif_start_queue(dev); /* Unlock the TX ring */
}

/*


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/