}
 static int r8180_wx_set_auth(struct net_device *dev,
-                                        struct iw_request_info *info,
-                                        struct iw_param *data, char *extra)
+                            struct iw_request_info *info,
+                            union iwreq_data *wrqu, char *extra)
 {
        //printk("====>%s()\n", __func__);
        struct r8180_priv *priv = ieee80211_priv(dev);
                return 0;
 
        down(&priv->wx_sem);
-       ret = ieee80211_wx_set_auth(priv->ieee80211, info, data, extra);
+       ret = ieee80211_wx_set_auth(priv->ieee80211, info, &wrqu->param, extra);
        up(&priv->wx_sem);
        return ret;
 }
        return ret;
 }
 static int r8180_wx_set_gen_ie(struct net_device *dev,
-                                        struct iw_request_info *info,
-                                        struct iw_point *data, char *extra)
+                              struct iw_request_info *info,
+                              union iwreq_data *wrqu, char *extra)
 {
 //     printk("====>%s(), len:%d\n", __func__, data->length);
        int ret=0;
 
         down(&priv->wx_sem);
 #if 1
-        ret = ieee80211_wx_set_gen_ie(priv->ieee80211, extra, data->length);
+        ret = ieee80211_wx_set_gen_ie(priv->ieee80211, extra, wrqu->data.length);
 #endif
         up(&priv->wx_sem);
        //printk("<======%s(), ret:%d\n", __func__, ret);