bnx2: Need to call cnic_setup_cnic_irq_info() after MTU change.
authorMichael Chan <mchan@broadcom.com>
Mon, 15 Feb 2010 19:42:08 +0000 (19:42 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 Feb 2010 23:19:02 +0000 (15:19 -0800)
New status blocks are allocated during MTU change so we need to
update this information for the cnic driver.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bnx2.c

index 48bc57803856d7e8d33bc77c36b61f9880e797da..063f28394e3d1edf69d5677394562a8534bee4c3 100644 (file)
@@ -7141,6 +7141,13 @@ bnx2_change_ring_size(struct bnx2 *bp, u32 rx, u32 tx)
                        dev_close(bp->dev);
                        return rc;
                }
+#ifdef BCM_CNIC
+               mutex_lock(&bp->cnic_lock);
+               /* Let cnic know about the new status block. */
+               if (bp->cnic_eth_dev.drv_state & CNIC_DRV_STATE_REGD)
+                       bnx2_setup_cnic_irq_info(bp);
+               mutex_unlock(&bp->cnic_lock);
+#endif
                bnx2_netif_start(bp);
        }
        return 0;