diff options
| author | Vladislav Zolotarov <vladz@broadcom.com> | 2010-02-17 02:03:40 +0000 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2010-02-17 13:35:42 -0800 | 
| commit | d43a7e67ae2f911765b3d5b6cbb85221a9ffd0a4 (patch) | |
| tree | b21a43a0bceccb2eca7bbe52c2e20cfa09198cbb | |
| parent | f1e1a199f3a68a32cf86095b3650d761ee8798b9 (diff) | |
bnx2x: Do not allow enabling LRO if disable_tpa=1
Bug fix: Do not allow enabling LRO if disable_tpa=1.
Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | drivers/net/bnx2x_main.c | 14 | 
1 files changed, 8 insertions, 6 deletions
| diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c index 16685a153c1..ccdc3fe1341 100644 --- a/drivers/net/bnx2x_main.c +++ b/drivers/net/bnx2x_main.c @@ -9968,12 +9968,14 @@ static int bnx2x_set_flags(struct net_device *dev, u32 data)  	/* TPA requires Rx CSUM offloading */  	if ((data & ETH_FLAG_LRO) && bp->rx_csum) { -		if (!(dev->features & NETIF_F_LRO)) { -			dev->features |= NETIF_F_LRO; -			bp->flags |= TPA_ENABLE_FLAG; -			changed = 1; -		} - +		if (!disable_tpa) { +			if (!(dev->features & NETIF_F_LRO)) { +				dev->features |= NETIF_F_LRO; +				bp->flags |= TPA_ENABLE_FLAG; +				changed = 1; +			} +		} else +			rc = -EINVAL;  	} else if (dev->features & NETIF_F_LRO) {  		dev->features &= ~NETIF_F_LRO;  		bp->flags &= ~TPA_ENABLE_FLAG; | 
