{
        struct adapter *padapter = NULL;
        struct net_device *pnetdev = NULL;
-       int status = _FAIL;
        struct io_priv *piopriv;
        struct intf_hdl *pintf;
 
        padapter = vzalloc(sizeof(*padapter));
        if (!padapter)
-               goto exit;
+               return NULL;
+
        padapter->dvobj = dvobj;
        dvobj->if1 = padapter;
 
                , padapter->hw_init_completed
        );
 
-       status = _SUCCESS;
+       return padapter;
 
 free_drv_sw:
-       if (status != _SUCCESS) {
-               rtw_cancel_all_timer(padapter);
-               rtw_free_drv_sw(padapter);
-       }
+       rtw_cancel_all_timer(padapter);
+       rtw_free_drv_sw(padapter);
 handle_dualmac:
-       if (status != _SUCCESS)
-               rtw_handle_dualmac(padapter, 0);
+       rtw_handle_dualmac(padapter, 0);
 free_adapter:
-       if (status != _SUCCESS) {
-               if (pnetdev)
-                       rtw_free_netdev(pnetdev);
-               else if (padapter)
-                       vfree(padapter);
-               padapter = NULL;
-       }
-exit:
-       return padapter;
+       if (pnetdev)
+               rtw_free_netdev(pnetdev);
+       else if (padapter)
+               vfree(padapter);
+
+       return NULL;
 }
 
 static void rtw_usb_if1_deinit(struct adapter *if1)