Browse Source

bnx2x: Fix the maximal values of coalescing timeouts.

This patch properly defines the maximum values for rx/tx coalescing timeouts.

Signed-off-by: Vlad Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Eilon Greenstein 16 years ago
parent
commit
1e9d998759
2 changed files with 6 additions and 4 deletions
  1. 2 0
      drivers/net/bnx2x.h
  2. 4 4
      drivers/net/bnx2x_main.c

+ 2 - 0
drivers/net/bnx2x.h

@@ -902,6 +902,8 @@ struct bnx2x {
 	u16			rx_quick_cons_trip;
 	u16			rx_quick_cons_trip;
 	u16			rx_ticks_int;
 	u16			rx_ticks_int;
 	u16			rx_ticks;
 	u16			rx_ticks;
+/* Maximal coalescing timeout in us */
+#define BNX2X_MAX_COALESCE_TOUT		(0xf0*12)
 
 
 	u32			lin_cnt;
 	u32			lin_cnt;
 
 

+ 4 - 4
drivers/net/bnx2x_main.c

@@ -9069,12 +9069,12 @@ static int bnx2x_set_coalesce(struct net_device *dev,
 	struct bnx2x *bp = netdev_priv(dev);
 	struct bnx2x *bp = netdev_priv(dev);
 
 
 	bp->rx_ticks = (u16) coal->rx_coalesce_usecs;
 	bp->rx_ticks = (u16) coal->rx_coalesce_usecs;
-	if (bp->rx_ticks > 3000)
-		bp->rx_ticks = 3000;
+	if (bp->rx_ticks > BNX2X_MAX_COALESCE_TOUT)
+		bp->rx_ticks = BNX2X_MAX_COALESCE_TOUT;
 
 
 	bp->tx_ticks = (u16) coal->tx_coalesce_usecs;
 	bp->tx_ticks = (u16) coal->tx_coalesce_usecs;
-	if (bp->tx_ticks > 0x3000)
-		bp->tx_ticks = 0x3000;
+	if (bp->tx_ticks > BNX2X_MAX_COALESCE_TOUT)
+		bp->tx_ticks = BNX2X_MAX_COALESCE_TOUT;
 
 
 	if (netif_running(dev))
 	if (netif_running(dev))
 		bnx2x_update_coalesce(bp);
 		bnx2x_update_coalesce(bp);