padapter->HalFunc.intf_chip_configure(padapter);
 }
 
-void   rtw_hal_free_data23a(struct rtw_adapter *padapter)
-{
-       if (padapter->HalFunc.free_hal_data)
-               padapter->HalFunc.free_hal_data(padapter);
-}
 void   rtw_hal_sw_led_init23a(struct rtw_adapter *padapter)
 {
        if (padapter->HalFunc.InitSwLeds)
 
        pHalData->LastHMEBoxNum = 0;
 }
 
-static void rtl8723a_free_hal_data(struct rtw_adapter *padapter)
-{
-
-       kfree(padapter->HalData);
-       padapter->HalData = NULL;
-
-}
-
 /*  */
 /*                             Efuse related code */
 /*  */
 
 void rtl8723a_set_hal_ops(struct hal_ops *pHalFunc)
 {
-       pHalFunc->free_hal_data = &rtl8723a_free_hal_data;
-
        pHalFunc->set_bwmode_handler = &PHY_SetBWMode23a8723A;
        pHalFunc->set_channel_handler = &PHY_SwChnl8723A;
 
 
        u32 (*hal_init)(struct rtw_adapter *padapter);
        u32 (*hal_deinit)(struct rtw_adapter *padapter);
 
-       void (*free_hal_data)(struct rtw_adapter *padapter);
-
        s32 (*init_xmit_priv)(struct rtw_adapter *padapter);
 
        s32 (*init_recv_priv)(struct rtw_adapter *padapter);
 int pm_netdev_open23a(struct net_device *pnetdev, u8 bnormal);
 int rtw_resume_process23a(struct rtw_adapter *padapter);
 
-void   rtw_hal_free_data23a(struct rtw_adapter *padapter);
-
 void rtw_hal_sw_led_init23a(struct rtw_adapter *padapter);
 void rtw_hal_sw_led_deinit23a(struct rtw_adapter *padapter);
 
 
 
        rtw_free_pwrctrl_priv(padapter);
 
-       rtw_hal_free_data23a(padapter);
+       kfree(padapter->HalData);
+       padapter->HalData = NULL;
 
        RT_TRACE(_module_os_intfs_c_, _drv_info_, ("<== rtw_free_drv_sw23a\n"));