@@ -1008,6 +1008,38 @@ nrf_wifi_fmac_if_mode_set_event_proc(struct nrf_wifi_fmac_dev_ctx *fmac_dev_ctx,
10081008}
10091009#endif /* CONFIG_NRF700X_SYSTEM_WITH_RAW_MODES */
10101010
1011+ static enum nrf_wifi_status umac_event_current_temp_proc (struct nrf_wifi_fmac_dev_ctx * fmac_dev_ctx ,
1012+ void * event )
1013+ {
1014+ enum nrf_wifi_status status = NRF_WIFI_STATUS_FAIL ;
1015+ struct nrf_wifi_event_current_temperature * event_current_temp = NULL ;
1016+
1017+ if (!event ) {
1018+ nrf_wifi_osal_log_err (fmac_dev_ctx -> fpriv -> opriv ,
1019+ "%s: Invalid parameters" ,
1020+ __func__ );
1021+ goto out ;
1022+ }
1023+
1024+ if (!fmac_dev_ctx -> temp_get_status ) {
1025+ nrf_wifi_osal_log_err (fmac_dev_ctx -> fpriv -> opriv ,
1026+ "%s: Temperature recevied when req was not sent!" ,
1027+ __func__ );
1028+ goto out ;
1029+ }
1030+
1031+ event_current_temp = ((struct nrf_wifi_event_current_temperature * )event );
1032+
1033+ fmac_dev_ctx -> current_temp = event_current_temp -> current_temperature ;
1034+
1035+ fmac_dev_ctx -> temp_get_status = false;
1036+
1037+ status = NRF_WIFI_STATUS_SUCCESS ;
1038+
1039+ out :
1040+ return status ;
1041+ }
1042+
10111043static enum nrf_wifi_status umac_process_sys_events (struct nrf_wifi_fmac_dev_ctx * fmac_dev_ctx ,
10121044 struct host_rpu_msg * rpu_msg )
10131045{
@@ -1092,6 +1124,10 @@ static enum nrf_wifi_status umac_process_sys_events(struct nrf_wifi_fmac_dev_ctx
10921124 status = NRF_WIFI_STATUS_SUCCESS ;
10931125 break ;
10941126#endif /* CONFIG_NRF700X_RAW_DATA_RX || CONFIG_NRF700X_PROMISC_DATA_RX */
1127+ case NRF_WIFI_EVENT_CURRENT_TEMP :
1128+ status = umac_event_current_temp_proc (fmac_dev_ctx ,
1129+ sys_head );
1130+ break ;
10951131 default :
10961132 nrf_wifi_osal_log_err (fmac_dev_ctx -> fpriv -> opriv ,
10971133 "%s: Unknown event recd: %d" ,
0 commit comments