summaryrefslogtreecommitdiffstats
path: root/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_net80211.c
diff options
context:
space:
mode:
authorArtur Artamonov <freeartman@wechall.net>2013-08-21 16:52:55 +0300
committerArtur Artamonov <freeartman@wechall.net>2013-08-21 16:52:55 +0300
commitd4bc867ac3afd260e4256e1463b273083769a363 (patch)
tree81c868f33d397d9b61de9ef00c8303fecc9195ca /target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_net80211.c
parent2789830761da86a4537ab198203138c082b3058e (diff)
parent6e8428d78c98c653f625aa0839437359306f99db (diff)
Merge branch 'realtek-unstable' of git://213.175.90.206/openwrt-realtek into realtek-unstable
Diffstat (limited to 'target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_net80211.c')
-rw-r--r--target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_net80211.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_net80211.c b/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_net80211.c
index 552e481b3..4288c67a0 100644
--- a/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_net80211.c
+++ b/target/linux/realtek/files/drivers/net/wireless/rtl8192cd/8192cd_net80211.c
@@ -22,7 +22,7 @@
#include "./8192cd_cfg.h"
-#ifdef WIFI_HAPD
+#if defined(WIFI_HAPD) || defined(RTK_NL80211)
#ifdef __LINUX_2_6__
#include <linux/initrd.h>
@@ -30,7 +30,6 @@
#endif
#include "./8192cd_debug.h"
-#include "./8192cd_net80211.h"
#include "./8192cd_headers.h"
#include <linux/if_arp.h>
@@ -39,8 +38,9 @@
#include <net80211/ieee80211.h>
#include <net80211/ieee80211_crypto.h>
#include <net80211/ieee80211_ioctl.h>
+#include "./8192cd_net80211.h"
-//#define HAPD_DEBUG
+#define HAPD_DEBUG
void void_printk(const char *fmt, ...)
{
@@ -141,9 +141,9 @@ static int HAPD_Process_Set_Port(struct net_device *dev, unsigned char *MACAddr,
return 0;
}
-#ifdef WIFI_WPAS
+#if defined(WIFI_WPAS) || defined(RTK_NL80211)
-static int rtl_wpas_join(struct rtl8192cd_priv *priv, int bss_num)
+int rtl_wpas_join(struct rtl8192cd_priv *priv, int bss_num)
{
char tmpbuf[33];
@@ -877,6 +877,10 @@ int rtl_net80211_setkey(struct net_device *dev, struct iw_request_info *info, un
return 0;
}
#endif
+#ifdef RTK_NL80211
+ HAPD_MSG("set WEP Key for NL80211\n");
+ memcpy(&priv->pmib->dot11DefaultKeysTable.keytype[wk->ik_keyix].skey[0], wk->ik_keydata, wk->ik_keylen);
+#endif
if(priv->pmib->dot1180211AuthEntry.dot11PrivacyAlgrthm == _WEP_40_PRIVACY_)
cipher = (DOT11_ENC_WEP40);
else if(priv->pmib->dot1180211AuthEntry.dot11PrivacyAlgrthm == _WEP_104_PRIVACY_)
@@ -1197,7 +1201,12 @@ int rtl_net80211_delkey(struct net_device *dev, struct iw_request_info *info, un
#else
struct rtl8192cd_priv *priv = (struct rtl8192cd_priv *)dev->priv;
#endif
+
+#ifdef RTK_NL80211
+ struct ieee80211req_del_key *wk = (struct ieee80211req_del_key *)wrqu->data.pointer;
+#else
struct ieee80211req_del_key *wk = (struct ieee80211req_del_key *)wrqu->name;
+#endif
struct stat_info *pstat = NULL;
struct wifi_mib *pmib = priv->pmib;