@@ -14452,7 +14452,7 @@ void hfi1_deinit_vnic_rsm(struct hfi1_devdata *dd)
14452
14452
clear_rcvctrl (dd , RCV_CTRL_RCV_RSM_ENABLE_SMASK );
14453
14453
}
14454
14454
14455
- static void init_rxe (struct hfi1_devdata * dd )
14455
+ static int init_rxe (struct hfi1_devdata * dd )
14456
14456
{
14457
14457
struct rsm_map_table * rmt ;
14458
14458
u64 val ;
@@ -14461,6 +14461,9 @@ static void init_rxe(struct hfi1_devdata *dd)
14461
14461
write_csr (dd , RCV_ERR_MASK , ~0ull );
14462
14462
14463
14463
rmt = alloc_rsm_map_table (dd );
14464
+ if (!rmt )
14465
+ return - ENOMEM ;
14466
+
14464
14467
/* set up QOS, including the QPN map table */
14465
14468
init_qos (dd , rmt );
14466
14469
init_fecn_handling (dd , rmt );
@@ -14487,6 +14490,7 @@ static void init_rxe(struct hfi1_devdata *dd)
14487
14490
val |= ((4ull & RCV_BYPASS_HDR_SIZE_MASK ) <<
14488
14491
RCV_BYPASS_HDR_SIZE_SHIFT );
14489
14492
write_csr (dd , RCV_BYPASS , val );
14493
+ return 0 ;
14490
14494
}
14491
14495
14492
14496
static void init_other (struct hfi1_devdata * dd )
@@ -15024,7 +15028,10 @@ int hfi1_init_dd(struct hfi1_devdata *dd)
15024
15028
goto bail_cleanup ;
15025
15029
15026
15030
/* set initial RXE CSRs */
15027
- init_rxe (dd );
15031
+ ret = init_rxe (dd );
15032
+ if (ret )
15033
+ goto bail_cleanup ;
15034
+
15028
15035
/* set initial TXE CSRs */
15029
15036
init_txe (dd );
15030
15037
/* set initial non-RXE, non-TXE CSRs */
0 commit comments