@@ -1867,6 +1867,9 @@ static void bnxt_init_ring_struct(struct bnxt *bp)
1867
1867
ring -> vmem_size = 0 ;
1868
1868
1869
1869
rxr = bnapi -> rx_ring ;
1870
+ if (!rxr )
1871
+ goto skip_rx ;
1872
+
1870
1873
ring = & rxr -> rx_ring_struct ;
1871
1874
ring -> nr_pages = bp -> rx_nr_pages ;
1872
1875
ring -> page_size = HW_RXBD_RING_SIZE ;
@@ -1883,7 +1886,11 @@ static void bnxt_init_ring_struct(struct bnxt *bp)
1883
1886
ring -> vmem_size = SW_RXBD_AGG_RING_SIZE * bp -> rx_agg_nr_pages ;
1884
1887
ring -> vmem = (void * * )& rxr -> rx_agg_ring ;
1885
1888
1889
+ skip_rx :
1886
1890
txr = bnapi -> tx_ring ;
1891
+ if (!txr )
1892
+ continue ;
1893
+
1887
1894
ring = & txr -> tx_ring_struct ;
1888
1895
ring -> nr_pages = bp -> tx_nr_pages ;
1889
1896
ring -> page_size = HW_RXBD_RING_SIZE ;
@@ -2400,13 +2407,17 @@ static void bnxt_clear_ring_indices(struct bnxt *bp)
2400
2407
cpr -> cp_raw_cons = 0 ;
2401
2408
2402
2409
txr = bnapi -> tx_ring ;
2403
- txr -> tx_prod = 0 ;
2404
- txr -> tx_cons = 0 ;
2410
+ if (txr ) {
2411
+ txr -> tx_prod = 0 ;
2412
+ txr -> tx_cons = 0 ;
2413
+ }
2405
2414
2406
2415
rxr = bnapi -> rx_ring ;
2407
- rxr -> rx_prod = 0 ;
2408
- rxr -> rx_agg_prod = 0 ;
2409
- rxr -> rx_sw_agg_prod = 0 ;
2416
+ if (rxr ) {
2417
+ rxr -> rx_prod = 0 ;
2418
+ rxr -> rx_agg_prod = 0 ;
2419
+ rxr -> rx_sw_agg_prod = 0 ;
2420
+ }
2410
2421
}
2411
2422
}
2412
2423
@@ -4999,6 +5010,9 @@ static void bnxt_dump_tx_sw_state(struct bnxt_napi *bnapi)
4999
5010
struct bnxt_tx_ring_info * txr = bnapi -> tx_ring ;
5000
5011
int i = bnapi -> index ;
5001
5012
5013
+ if (!txr )
5014
+ return ;
5015
+
5002
5016
netdev_info (bnapi -> bp -> dev , "[%d]: tx{fw_ring: %d prod: %x cons: %x}\n" ,
5003
5017
i , txr -> tx_ring_struct .fw_ring_id , txr -> tx_prod ,
5004
5018
txr -> tx_cons );
@@ -5009,6 +5023,9 @@ static void bnxt_dump_rx_sw_state(struct bnxt_napi *bnapi)
5009
5023
struct bnxt_rx_ring_info * rxr = bnapi -> rx_ring ;
5010
5024
int i = bnapi -> index ;
5011
5025
5026
+ if (!rxr )
5027
+ return ;
5028
+
5012
5029
netdev_info (bnapi -> bp -> dev , "[%d]: rx{fw_ring: %d prod: %x} rx_agg{fw_ring: %d agg_prod: %x sw_agg_prod: %x}\n" ,
5013
5030
i , rxr -> rx_ring_struct .fw_ring_id , rxr -> rx_prod ,
5014
5031
rxr -> rx_agg_ring_struct .fw_ring_id , rxr -> rx_agg_prod ,
0 commit comments