Hello, alloc_fcdev() calls alloc_netdev() which uses kzalloc to alloc all the memory together with dev->priv region hence no zeroing of structs inside struct mpt_lan_priv needed. Signed-off-by: Mariusz Kozlowski <m.kozlowski@xxxxxxxxxx> drivers/message/fusion/mptlan.c | 47738 -> 47618 (-120 bytes) drivers/message/fusion/mptlan.o | 170800 -> 170124 (-676 bytes) drivers/message/fusion/mptlan.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) --- linux-2.6.23-rc1-mm2-a/drivers/message/fusion/mptlan.c 2007-08-01 08:43:47.000000000 +0200 +++ linux-2.6.23-rc1-mm2-b/drivers/message/fusion/mptlan.c 2007-08-07 01:33:49.000000000 +0200 @@ -1351,10 +1351,11 @@ mpt_lan_post_receive_buckets_work(struct static struct net_device * mpt_register_lan_device (MPT_ADAPTER *mpt_dev, int pnum) { - struct net_device *dev = alloc_fcdev(sizeof(struct mpt_lan_priv)); - struct mpt_lan_priv *priv = NULL; + struct net_device *dev; + struct mpt_lan_priv *priv; u8 HWaddr[FC_ALEN], *a; + dev = alloc_fcdev(sizeof(struct mpt_lan_priv)); if (!dev) return NULL; @@ -1366,7 +1367,6 @@ mpt_register_lan_device (MPT_ADAPTER *mp priv->mpt_dev = mpt_dev; priv->pnum = pnum; - memset(&priv->post_buckets_task, 0, sizeof(priv->post_buckets_task)); INIT_DELAYED_WORK(&priv->post_buckets_task, mpt_lan_post_receive_buckets_work); priv->post_buckets_active = 0; @@ -1391,8 +1391,6 @@ mpt_register_lan_device (MPT_ADAPTER *mp spin_lock_init(&priv->txfidx_lock); spin_lock_init(&priv->rxfidx_lock); - memset(&priv->stats, 0, sizeof(priv->stats)); - /* Grab pre-fetched LANPage1 stuff. :-) */ a = (u8 *) &mpt_dev->lan_cnfg_page1.HardwareAddressLow; - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html