@@ -1177,7 +1177,7 @@ static int cnic_alloc_bnx2x_resc(struct cnic_dev *dev)
1177
1177
cp -> fcoe_start_cid = start_cid + MAX_ISCSI_TBL_SZ ;
1178
1178
1179
1179
if (BNX2X_CHIP_IS_E2_PLUS (cp -> chip_id )) {
1180
- cp -> max_cid_space += BNX2X_FCOE_NUM_CONNECTIONS ;
1180
+ cp -> max_cid_space += dev -> max_fcoe_conn ;
1181
1181
cp -> fcoe_init_cid = ethdev -> fcoe_init_cid ;
1182
1182
if (!cp -> fcoe_init_cid )
1183
1183
cp -> fcoe_init_cid = 0x10 ;
@@ -2280,7 +2280,7 @@ static int cnic_bnx2x_fcoe_ofld1(struct cnic_dev *dev, struct kwqe *wqes[],
2280
2280
* work = 4 ;
2281
2281
2282
2282
l5_cid = req1 -> fcoe_conn_id ;
2283
- if (l5_cid >= BNX2X_FCOE_NUM_CONNECTIONS )
2283
+ if (l5_cid >= dev -> max_fcoe_conn )
2284
2284
goto err_reply ;
2285
2285
2286
2286
l5_cid += BNX2X_FCOE_L5_CID_BASE ;
@@ -2384,7 +2384,7 @@ static int cnic_bnx2x_fcoe_disable(struct cnic_dev *dev, struct kwqe *kwqe)
2384
2384
req = (struct fcoe_kwqe_conn_enable_disable * ) kwqe ;
2385
2385
cid = req -> context_id ;
2386
2386
l5_cid = req -> conn_id ;
2387
- if (l5_cid >= BNX2X_FCOE_NUM_CONNECTIONS )
2387
+ if (l5_cid >= dev -> max_fcoe_conn )
2388
2388
return - EINVAL ;
2389
2389
2390
2390
l5_cid += BNX2X_FCOE_L5_CID_BASE ;
@@ -2418,7 +2418,7 @@ static int cnic_bnx2x_fcoe_destroy(struct cnic_dev *dev, struct kwqe *kwqe)
2418
2418
req = (struct fcoe_kwqe_conn_destroy * ) kwqe ;
2419
2419
cid = req -> context_id ;
2420
2420
l5_cid = req -> conn_id ;
2421
- if (l5_cid >= BNX2X_FCOE_NUM_CONNECTIONS )
2421
+ if (l5_cid >= dev -> max_fcoe_conn )
2422
2422
return - EINVAL ;
2423
2423
2424
2424
l5_cid += BNX2X_FCOE_L5_CID_BASE ;
@@ -4850,8 +4850,7 @@ static int cnic_start_bnx2x_hw(struct cnic_dev *dev)
4850
4850
return - ENOMEM ;
4851
4851
4852
4852
if (BNX2X_CHIP_IS_E2_PLUS (cp -> chip_id )) {
4853
- ret = cnic_init_id_tbl (& cp -> fcoe_cid_tbl ,
4854
- BNX2X_FCOE_NUM_CONNECTIONS ,
4853
+ ret = cnic_init_id_tbl (& cp -> fcoe_cid_tbl , dev -> max_fcoe_conn ,
4855
4854
cp -> fcoe_start_cid , 0 );
4856
4855
4857
4856
if (ret )
@@ -5292,6 +5291,9 @@ static struct cnic_dev *init_bnx2x_cnic(struct net_device *dev)
5292
5291
!(ethdev -> drv_state & CNIC_DRV_STATE_NO_FCOE ))
5293
5292
cdev -> max_fcoe_conn = ethdev -> max_fcoe_conn ;
5294
5293
5294
+ if (cdev -> max_fcoe_conn > BNX2X_FCOE_NUM_CONNECTIONS )
5295
+ cdev -> max_fcoe_conn = BNX2X_FCOE_NUM_CONNECTIONS ;
5296
+
5295
5297
memcpy (cdev -> mac_addr , ethdev -> iscsi_mac , 6 );
5296
5298
5297
5299
cp -> cnic_ops = & cnic_bnx2x_ops ;
0 commit comments