diff options
author | Dmitry Kravkov <dmitry@broadcom.com> | 2011-06-14 03:32:47 +0200 |
---|---|---|
committer | David S. Miller <davem@conan.davemloft.net> | 2011-06-15 16:56:12 +0200 |
commit | 8eef2af1824da37b428ad34e7ff3490b327b39c1 (patch) | |
tree | d7c20bae080a2777b6a49fc1fdc89c62f9106302 /drivers/net/bnx2x/bnx2x_cmn.c | |
parent | cnic: Move indexing function pointers to struct kcq_info (diff) | |
download | linux-8eef2af1824da37b428ad34e7ff3490b327b39c1.tar.xz linux-8eef2af1824da37b428ad34e7ff3490b327b39c1.zip |
bnx2x: do not allocate FCoE ring if disabled
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@conan.davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x/bnx2x_cmn.c')
-rw-r--r-- | drivers/net/bnx2x/bnx2x_cmn.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/drivers/net/bnx2x/bnx2x_cmn.c b/drivers/net/bnx2x/bnx2x_cmn.c index 831c6ec98eed..122cc295d7bf 100644 --- a/drivers/net/bnx2x/bnx2x_cmn.c +++ b/drivers/net/bnx2x/bnx2x_cmn.c @@ -2621,7 +2621,12 @@ static int bnx2x_alloc_fp_mem_at(struct bnx2x *bp, int index) #ifdef BCM_CNIC } #endif - set_sb_shortcuts(bp, index); + + /* FCoE Queue uses Default SB and doesn't ACK the SB, thus no need to + * set shortcuts for it. + */ + if (!IS_FCOE_IDX(index)) + set_sb_shortcuts(bp, index); /* Tx */ if (!skip_tx_queue(bp, index)) { @@ -2698,9 +2703,13 @@ int bnx2x_alloc_fp_mem(struct bnx2x *bp) if (bnx2x_alloc_fp_mem_at(bp, 0)) return -ENOMEM; #ifdef BCM_CNIC - /* FCoE */ - if (bnx2x_alloc_fp_mem_at(bp, FCOE_IDX)) - return -ENOMEM; + if (!NO_FCOE(bp)) + /* FCoE */ + if (bnx2x_alloc_fp_mem_at(bp, FCOE_IDX)) + /* we will fail load process instead of mark + * NO_FCOE_FLAG + */ + return -ENOMEM; #endif /* RSS */ for_each_nondefault_eth_queue(bp, i) |