int rtw_p2p_enable(struct adapter *padapter, enum P2P_ROLE role)
 {
-       int ret = _SUCCESS;
+       int ret;
        struct wifidirect_info *pwdinfo = &padapter->wdinfo;
 
        if (role == P2P_ROLE_DEVICE || role == P2P_ROLE_CLIENT || role == P2P_ROLE_GO) {
                /* leave IPS/Autosuspend */
-               if (rtw_pwr_wakeup(padapter)) {
-                       ret = _FAIL;
-                       goto exit;
-               }
+               ret = rtw_pwr_wakeup(padapter);
+               if (ret)
+                       return ret;
 
                /*      Added by Albert 2011/03/22 */
                /*      In the P2P mode, the driver should not support the b mode. */
                init_wifidirect_info(padapter, role);
 
        } else if (role == P2P_ROLE_DISABLE) {
-               if (rtw_pwr_wakeup(padapter)) {
-                       ret = _FAIL;
-                       goto exit;
-               }
+               ret = rtw_pwr_wakeup(padapter);
+               if (ret)
+                       return ret;
 
                /* Disable P2P function */
                if (!rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE)) {
                update_tx_basic_rate(padapter, padapter->registrypriv.wireless_mode);
        }
 
-exit:
-       return ret;
+       return 0;
 }
 
                               struct iw_request_info *info,
                               union iwreq_data *wrqu, char *extra)
 {
-       int ret = 0;
+       int ret;
        struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
        struct wifidirect_info *pwdinfo = &padapter->wdinfo;
        struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
        else if (*extra == '3')
                init_role = P2P_ROLE_GO;
 
-       if (_FAIL == rtw_p2p_enable(padapter, init_role)) {
-               ret = -EFAULT;
-               goto exit;
-       }
+       ret = rtw_p2p_enable(padapter, init_role);
+       if (ret)
+               return ret;
 
        /* set channel/bandwidth */
        if (init_role != P2P_ROLE_DISABLE) {
                set_channel_bwmode(padapter, channel, ch_offset, bwmode);
        }
 
-exit:
-       return ret;
+       return 0;
 }
 
 static void rtw_p2p_set_go_nego_ssid(struct net_device *dev,