union iwreq_data *wrqu, char *extra)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
+
        return ieee80211_wx_get_rate(priv->ieee80211, info, wrqu, extra);
 }
 
                             union iwreq_data *wrqu, char *extra)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
+
        return ieee80211_wx_get_rts(priv->ieee80211, info, wrqu, extra);
 }
 
                             union iwreq_data *wrqu, char *extra)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
+
        return ieee80211_wx_get_power(priv->ieee80211, info, wrqu, extra);
 }
 
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
        int ret;
+
        down(&priv->wx_sem);
 
        ret = ieee80211_wx_set_mode(priv->ieee80211, a, wrqu, b);
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
        int ret;
+
        down(&priv->wx_sem);
 
        ret = ieee80211_wx_set_essid(priv->ieee80211, a, wrqu, b);
                             union iwreq_data *wrqu, char *extra)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
+
        return ieee80211_wx_get_name(priv->ieee80211, info, wrqu, extra);
 }
 
                                union iwreq_data *wrqu, char *extra)
 {
        struct r8192_priv *priv = ieee80211_priv(dev);
+
        if (priv->rf_set_sens == NULL)
                return -1; /* we have not this support for this radio */
        wrqu->sens.value = priv->sens;
 {
 
        struct r8192_priv *priv = ieee80211_priv(dev);
-
        short err = 0;
+
        down(&priv->wx_sem);
        if (priv->rf_set_sens == NULL) {
                err = -1; /* we have not this support for this radio */
 {
        int ret = 0;
        struct r8192_priv *priv = ieee80211_priv(dev);
+
        down(&priv->wx_sem);
        ret = ieee80211_wx_set_auth(priv->ieee80211, info, &(data->param), extra);
        up(&priv->wx_sem);
 
        int ret = 0;
        struct r8192_priv *priv = ieee80211_priv(dev);
+
        down(&priv->wx_sem);
        ret = ieee80211_wx_set_mlme(priv->ieee80211, info, wrqu, extra);
 
 {
        int ret = 0;
        struct r8192_priv *priv = ieee80211_priv(dev);
+
        down(&priv->wx_sem);
        ret = ieee80211_wx_set_gen_ie(priv->ieee80211, extra, data->data.length);
        up(&priv->wx_sem);
        int tmp_level = 0;
        int tmp_qual = 0;
        int tmp_noise = 0;
+
        if (ieee->state < IEEE80211_LINKED) {
                wstats->qual.qual = 0;
                wstats->qual.level = 0;