uint rtw_hal_init(struct adapter *padapter) { uint status; struct dvobj_priv *dvobj = adapter_to_dvobj(padapter); status = padapter->HalFunc.hal_init(padapter); if (status == _SUCCESS) { rtw_hal_init_opmode(padapter); dvobj->padapters->hw_init_completed = true; if (padapter->registrypriv.notch_filter == 1) rtw_hal_notch_filter(padapter, 1); rtw_hal_reset_security_engine(padapter); rtw_sec_restore_wep_key(dvobj->padapters); init_hw_mlme_ext(padapter); rtw_bb_rf_gain_offset(padapter); } else { dvobj->padapters->hw_init_completed = false; DBG_871X("rtw_hal_init: hal__init fail\n"); } RT_TRACE(_module_hal_init_c_, _drv_err_, ("-rtl871x_hal_init:status = 0x%x\n", status)); return status; }
uint rtw_hal_init(_adapter *padapter) { uint status = _SUCCESS; struct dvobj_priv *dvobj = adapter_to_dvobj(padapter); int i; status = padapter->HalFunc.hal_init(padapter); if(status == _SUCCESS){ for (i = 0; i<dvobj->iface_nums; i++) dvobj->padapters[i]->hw_init_completed = _TRUE; if (padapter->registrypriv.notch_filter == 1) rtw_hal_notch_filter(padapter, 1); rtw_hal_reset_security_engine(padapter); for (i = 0; i<dvobj->iface_nums; i++) rtw_sec_restore_wep_key(dvobj->padapters[i]); rtw_led_control(padapter, LED_CTL_POWER_ON); init_hw_mlme_ext(padapter); rtw_hal_init_opmode(padapter); #ifdef CONFIG_RF_GAIN_OFFSET rtw_bb_rf_gain_offset(padapter); #endif //CONFIG_RF_GAIN_OFFSET } else{ for (i = 0; i<dvobj->iface_nums; i++) dvobj->padapters[i]->hw_init_completed = _FALSE; DBG_871X("rtw_hal_init: hal__init fail\n"); } RT_TRACE(_module_hal_init_c_,_drv_err_,("-rtl871x_hal_init:status=0x%x\n",status)); return status; }
uint rtw_hal_init(_adapter *padapter) { uint status = _SUCCESS; struct dvobj_priv *dvobj = adapter_to_dvobj(padapter); int i; #ifdef CONFIG_DUALMAC_CONCURRENT if(padapter->hw_init_completed == _TRUE) { DBG_871X("rtw_hal_init: hw_init_completed == _TRUE\n"); return status; } // before init mac0, driver must init mac1 first to avoid usb rx error. if((padapter->pbuddy_adapter != NULL) && (padapter->DualMacConcurrent == _TRUE) && (padapter->adapter_type == PRIMARY_ADAPTER)) { if(padapter->pbuddy_adapter->hw_init_completed == _TRUE) { DBG_871X("rtw_hal_init: pbuddy_adapter hw_init_completed == _TRUE\n"); } else { status = padapter->HalFunc.hal_init(padapter->pbuddy_adapter); if(status == _SUCCESS){ padapter->pbuddy_adapter->hw_init_completed = _TRUE; } else{ padapter->pbuddy_adapter->hw_init_completed = _FALSE; RT_TRACE(_module_hal_init_c_,_drv_err_,("rtw_hal_init: hal__init fail(pbuddy_adapter)\n")); DBG_871X("rtw_hal_init: hal__init fail(pbuddy_adapter)\n"); return status; } } } #endif status = padapter->HalFunc.hal_init(padapter); if(status == _SUCCESS){ rtw_hal_init_opmode(padapter); for (i = 0; i<dvobj->iface_nums; i++) { padapter = dvobj->padapters[i]; padapter->hw_init_completed = _TRUE; } if (padapter->registrypriv.notch_filter == 1) rtw_hal_notch_filter(padapter, 1); rtw_hal_reset_security_engine(padapter); rtw_sec_restore_wep_key(padapter); rtw_led_control(padapter, LED_CTL_POWER_ON); init_hw_mlme_ext(padapter); } else{ for (i = 0; i<dvobj->iface_nums; i++) { padapter = dvobj->padapters[i]; padapter->hw_init_completed = _FALSE; } DBG_871X("rtw_hal_init: hal__init fail\n"); } RT_TRACE(_module_hal_init_c_,_drv_err_,("-rtl871x_hal_init:status=0x%x\n",status)); return status; }