Compare commits

..
Author SHA1 Message Date
Sophie Brun fb75a987dd Prepare release 2020-09-16 15:17:16 +02:00
Sophie Brun 5a7f22dc1f Add lintian-overrides for dh-exec-subst-unknown-variable 2020-09-16 15:17:16 +02:00
Sophie Brun 6cdb6d8145 Bump Standards-Version to 4.5.0 2020-09-16 15:17:16 +02:00
Sophie Brun 3ed934f66a Add comment in debian/copyright 2020-09-16 15:17:16 +02:00
Sophie Brun 2e8ec02f30 Refresh patches 2020-09-16 15:17:16 +02:00
Sophie Brun bb80d9b37d Update upstream source from tag 'upstream/5.3.9_git20200829'
Update to upstream version '5.3.9~git20200829'
with Debian dir e0e5993025
2020-09-16 15:00:55 +02:00
Sophie Brun 627a0f8e2c New upstream version 5.3.9~20200710 2020-07-10 09:08:57 +02:00
Sophie Brun 4bd5e85b7b Update upstream source from tag 'upstream/5.3.9_git20200710'
Update to upstream version '5.3.9~git20200710'
with Debian dir 9d52024ab0
2020-07-10 08:55:17 +02:00
Sophie Brun ce21fa5d6b New upstream version 5.3.9~git20200316 2020-05-14 11:45:59 +02:00
Sophie Brun a313c3997a Update upstream source from tag 'upstream/5.3.9_git20200316'
Update to upstream version '5.3.9~git20200316'
with Debian dir c5dba9c629
2020-05-14 11:44:23 +02:00
Sophie Brun 3b2b01c647 Add GitLab's CI configuration file 2019-12-17 17:39:03 +01:00
Sophie Brun 9c36ca92c2 Configure git-buildpackage for Kali 2019-12-17 17:39:03 +01:00
Sophie Brun ea83a483fa Initial release 2019-12-17 17:34:14 +01:00
34 changed files with 286 additions and 198 deletions
+7 -9
View File
@@ -7,13 +7,9 @@ EXTRA_CFLAGS += -Wno-unused-label
EXTRA_CFLAGS += -Wno-unused-parameter EXTRA_CFLAGS += -Wno-unused-parameter
EXTRA_CFLAGS += -Wno-unused-function EXTRA_CFLAGS += -Wno-unused-function
EXTRA_CFLAGS += -Wno-unused EXTRA_CFLAGS += -Wno-unused
EXTRA_CFLAGS += -Wno-address
EXTRA_CFLAGS += -Wno-cast-function-type
EXTRA_CFLAGS += -Wno-discarded-qualifiers
EXTRA_CFLAGS += -Wno-vla EXTRA_CFLAGS += -Wno-vla
EXTRA_CFLAGS += -Wno-date-time EXTRA_CFLAGS += -Wno-date-time
GCC_VER_49 := $(shell echo `$(CC) -dumpversion | cut -f1-2 -d.` \>= 4.9 | bc ) GCC_VER_49 := $(shell echo `$(CC) -dumpversion | cut -f1-2 -d.` \>= 4.9 | bc )
ifeq ($(GCC_VER_49),1) ifeq ($(GCC_VER_49),1)
EXTRA_CFLAGS += -Wno-date-time # Fix compile error && warning on gcc 4.9 and later EXTRA_CFLAGS += -Wno-date-time # Fix compile error && warning on gcc 4.9 and later
@@ -163,6 +159,8 @@ CONFIG_PLATFORM_PPC64LE = n
CONFIG_DRVEXT_MODULE = n CONFIG_DRVEXT_MODULE = n
export TopDIR ?= $(shell pwd)
########### COMMON ################################# ########### COMMON #################################
ifeq ($(CONFIG_GSPI_HCI), y) ifeq ($(CONFIG_GSPI_HCI), y)
HCI_NAME = gspi HCI_NAME = gspi
@@ -777,16 +775,16 @@ endif
ifeq ($(CONFIG_AUTOCFG_CP), y) ifeq ($(CONFIG_AUTOCFG_CP), y)
ifeq ($(CONFIG_MULTIDRV), y) ifeq ($(CONFIG_MULTIDRV), y)
$(shell cp autoconf_multidrv_$(HCI_NAME)_linux.h include/autoconf.h) $(shell cp $(TopDIR)/autoconf_multidrv_$(HCI_NAME)_linux.h $(TopDIR)/include/autoconf.h)
else else
ifeq ($(CONFIG_RTL8188E)$(CONFIG_SDIO_HCI),yy) ifeq ($(CONFIG_RTL8188E)$(CONFIG_SDIO_HCI),yy)
$(shell cp autoconf_rtl8189e_$(HCI_NAME)_linux.h include/autoconf.h) $(shell cp $(TopDIR)/autoconf_rtl8189e_$(HCI_NAME)_linux.h $(TopDIR)/include/autoconf.h)
else ifeq ($(CONFIG_RTL8188F)$(CONFIG_SDIO_HCI),yy) else ifeq ($(CONFIG_RTL8188F)$(CONFIG_SDIO_HCI),yy)
$(shell cp autoconf_rtl8189f_$(HCI_NAME)_linux.h include/autoconf.h) $(shell cp $(TopDIR)/autoconf_rtl8189f_$(HCI_NAME)_linux.h $(TopDIR)/include/autoconf.h)
else ifeq ($(CONFIG_RTL8723C),y) else ifeq ($(CONFIG_RTL8723C),y)
$(shell cp autoconf_rtl8723c_$(HCI_NAME)_linux.h include/autoconf.h) $(shell cp $(TopDIR)/autoconf_rtl8723c_$(HCI_NAME)_linux.h $(TopDIR)/include/autoconf.h)
else else
$(shell cp autoconf_$(RTL871X)_$(HCI_NAME)_linux.h include/autoconf.h) $(shell cp $(TopDIR)/autoconf_$(RTL871X)_$(HCI_NAME)_linux.h $(TopDIR)/include/autoconf.h)
endif endif
endif endif
+7 -9
View File
@@ -14,25 +14,23 @@
# Supports # Supports
* Android 12/13 * Android 7
* MESH Support * MESH Support
* Monitor mode * Monitor mode
* Frame injection * Frame injection
* Up to kernel v6.0+ * Up to kernel v5.8+
... And a bunch of various wifi chipsets ... And a bunch of various wifi chipsets
# Howto build/install # Howto build/install
1. You will need to blacklist another driver in order to use this one. 1. You will need to blacklist another driver in order to use this one.
2. `echo 'blacklist r8188eu'|sudo tee -a '/etc/modprobe.d/realtek.conf'` 2. "echo "blacklist r8188eu" > "/etc/modprobe.d/realtek.conf"
3. Reboot 3. "make && make install"<br>
4. cd rtl8188eus 4. Reboot in order to blacklist and load the new driver/module.
5. `make && sudo make install`
6. Reboot in order to blacklist and load the new driver/module.
# MONITOR MODE howto # MONITOR MODE howto
Use these steps to enter monitor mode. Use these steps to enter monitor mode.
``` ```
$ sudo airmon-ng check kill $ sudo airmon-ng check-kill
$ sudo ip link set <interface> down $ sudo ip link set <interface> down
$ sudo iw dev <interface> set type monitor $ sudo iw dev <interface> set type monitor
``` ```
@@ -44,7 +42,7 @@ $ aireplay -9 <interface>
# NetworkManager configuration # NetworkManager configuration
Add these lines below to "NetworkManager.conf" and ADD YOUR ADAPTER MAC below [keyfile] Add these lines below to "NetworkManager.conf" and ADD YOUR ADAPTER MAC below [keyfile]
This will make the Network-Manager ignore the device, and therefore don't cause problems. This will make the Network-Manager ignore the device, and therefor don't cause problems.
``` ```
[device] [device]
wifi.scan-rand-mac-address=no wifi.scan-rand-mac-address=no
+1 -2
View File
@@ -711,14 +711,13 @@ void rtw_efuse_analyze(PADAPTER padapter, u8 Type, u8 Fake)
j = 0; j = 0;
for (i = 0; i < mapLen; i++) { for (i = 0; i < mapLen; i++) {
if (i % 16 == 0) { if (i % 16 == 0)
RTW_PRINT_SEL(RTW_DBGDUMP, "0x%03x: ", i); RTW_PRINT_SEL(RTW_DBGDUMP, "0x%03x: ", i);
_RTW_PRINT_SEL(RTW_DBGDUMP, "%02X%s" _RTW_PRINT_SEL(RTW_DBGDUMP, "%02X%s"
, pEfuseHal->fakeEfuseInitMap[i] , pEfuseHal->fakeEfuseInitMap[i]
, ((i + 1) % 16 == 0) ? "\n" : (((i + 1) % 8 == 0) ? " " : " ") , ((i + 1) % 16 == 0) ? "\n" : (((i + 1) % 8 == 0) ? " " : " ")
); );
} }
}
_RTW_PRINT_SEL(RTW_DBGDUMP, "\n"); _RTW_PRINT_SEL(RTW_DBGDUMP, "\n");
if (eFuseWord) if (eFuseWord)
rtw_mfree((u8 *)eFuseWord, EFUSE_MAX_SECTION_NUM * (EFUSE_MAX_WORD_UNIT * 2)); rtw_mfree((u8 *)eFuseWord, EFUSE_MAX_SECTION_NUM * (EFUSE_MAX_WORD_UNIT * 2));
-8
View File
@@ -15,12 +15,9 @@
#define _RTW_BR_EXT_C_ #define _RTW_BR_EXT_C_
#ifdef __KERNEL__ #ifdef __KERNEL__
#include <linux/version.h>
#include <linux/if_arp.h> #include <linux/if_arp.h>
#include <net/ip.h> #include <net/ip.h>
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)
#include <net/ipx.h> #include <net/ipx.h>
#endif
#include <linux/atalk.h> #include <linux/atalk.h>
#include <linux/udp.h> #include <linux/udp.h>
#include <linux/if_pppox.h> #include <linux/if_pppox.h>
@@ -951,7 +948,6 @@ int nat25_db_handle(_adapter *priv, struct sk_buff *skb, int method)
} }
} }
#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)
/* IPX */ /* IPX */
if (ipx != NULL) { if (ipx != NULL) {
switch (method) { switch (method) {
@@ -1020,12 +1016,8 @@ int nat25_db_handle(_adapter *priv, struct sk_buff *skb, int method)
} }
} }
/* AARP */ /* AARP */
else if (ea != NULL) { else if (ea != NULL) {
#else
if (ea != NULL) {
#endif
/* Sanity check fields. */ /* Sanity check fields. */
if (ea->hw_len != ETH_ALEN || ea->pa_len != AARP_PA_ALEN) { if (ea->hw_len != ETH_ALEN || ea->pa_len != AARP_PA_ALEN) {
DEBUG_WARN("NAT25: Appletalk AARP Sanity check fail!\n"); DEBUG_WARN("NAT25: Appletalk AARP Sanity check fail!\n");
+5 -7
View File
@@ -1831,13 +1831,11 @@ void mgt_dispatcher(_adapter *padapter, union recv_frame *precv_frame)
ptable->func = &OnAuth; ptable->func = &OnAuth;
else else
ptable->func = &OnAuthClient; ptable->func = &OnAuthClient;
_mgt_dispatcher(padapter, ptable, precv_frame); #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
//#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0) __attribute__ ((fallthrough));
// __attribute__ ((fallthrough)); #else
//#else __attribute__ ((__fallthrough__));
// __attribute__ ((fallthrough)); #endif
//#endif
break;
case WIFI_ASSOCREQ: case WIFI_ASSOCREQ:
case WIFI_REASSOCREQ: case WIFI_REASSOCREQ:
_mgt_dispatcher(padapter, ptable, precv_frame); _mgt_dispatcher(padapter, ptable, precv_frame);
+39 -24
View File
@@ -1575,7 +1575,7 @@ u32 rtw_aes_encrypt(_adapter *padapter, u8 *pxmitframe)
pframe = ((struct xmit_frame *)pxmitframe)->buf_addr + hw_hdr_offset; pframe = ((struct xmit_frame *)pxmitframe)->buf_addr + hw_hdr_offset;
/* 4 start to encrypt each fragment */ /* 4 start to encrypt each fragment */
if (pattrib->encrypt == _AES_) { if ((pattrib->encrypt == _AES_)) {
/* /*
if(pattrib->psta) if(pattrib->psta)
{ {
@@ -1930,7 +1930,7 @@ u32 rtw_aes_decrypt(_adapter *padapter, u8 *precvframe)
u32 res = _SUCCESS; u32 res = _SUCCESS;
pframe = (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_data; pframe = (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_data;
/* 4 start to encrypt each fragment */ /* 4 start to encrypt each fragment */
if (prxattrib->encrypt == _AES_) { if ((prxattrib->encrypt == _AES_)) {
stainfo = rtw_get_stainfo(&padapter->stapriv , &prxattrib->ta[0]); stainfo = rtw_get_stainfo(&padapter->stapriv , &prxattrib->ta[0]);
if (stainfo != NULL) { if (stainfo != NULL) {
@@ -2133,7 +2133,8 @@ BIP_exit:
#ifndef PLATFORM_FREEBSD #ifndef PLATFORM_FREEBSD
#if defined(CONFIG_TDLS) #if defined(CONFIG_TDLS)
/* compress 512-bits */ /* compress 512-bits */
static int rtw_sha256_compress(struct rtw_sha256_state *md, unsigned char *buf) #if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
static int sha256_compress(struct sha256_state *md, unsigned char *buf)
{ {
u32 S[8], W[64], t0, t1; u32 S[8], W[64], t0, t1;
u32 t; u32 t;
@@ -2179,9 +2180,11 @@ static int rtw_sha256_compress(struct rtw_sha256_state *md, unsigned char *buf)
md->state[i] = md->state[i] + S[i]; md->state[i] = md->state[i] + S[i];
return 0; return 0;
} }
#endif
/* Initialize the hash state */ /* Initialize the hash state */
static void rtw_sha256_init(struct rtw_sha256_state *md) #if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
static void sha256_init(struct sha256_state *md)
{ {
md->curlen = 0; md->curlen = 0;
md->length = 0; md->length = 0;
@@ -2194,6 +2197,7 @@ static void rtw_sha256_init(struct rtw_sha256_state *md)
md->state[6] = 0x1F83D9ABUL; md->state[6] = 0x1F83D9ABUL;
md->state[7] = 0x5BE0CD19UL; md->state[7] = 0x5BE0CD19UL;
} }
#endif
/** /**
Process a block of memory though the hash Process a block of memory though the hash
@@ -2202,7 +2206,9 @@ static void rtw_sha256_init(struct rtw_sha256_state *md)
@param inlen The length of the data (octets) @param inlen The length of the data (octets)
@return CRYPT_OK if successful @return CRYPT_OK if successful
*/ */
static int rtw_sha256_process(struct rtw_sha256_state *md, unsigned char *in,
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
static int sha256_process(struct sha256_state *md, unsigned char *in,
unsigned long inlen) unsigned long inlen)
{ {
unsigned long n; unsigned long n;
@@ -2213,7 +2219,7 @@ static int rtw_sha256_process(struct rtw_sha256_state *md, unsigned char *in,
while (inlen > 0) { while (inlen > 0) {
if (md->curlen == 0 && inlen >= block_size) { if (md->curlen == 0 && inlen >= block_size) {
if (rtw_sha256_compress(md, (unsigned char *) in) < 0) if (sha256_compress(md, (unsigned char *) in) < 0)
return -1; return -1;
md->length += block_size * 8; md->length += block_size * 8;
in += block_size; in += block_size;
@@ -2225,7 +2231,7 @@ static int rtw_sha256_process(struct rtw_sha256_state *md, unsigned char *in,
in += n; in += n;
inlen -= n; inlen -= n;
if (md->curlen == block_size) { if (md->curlen == block_size) {
if (rtw_sha256_compress(md, md->buf) < 0) if (sha256_compress(md, md->buf) < 0)
return -1; return -1;
md->length += 8 * block_size; md->length += 8 * block_size;
md->curlen = 0; md->curlen = 0;
@@ -2235,7 +2241,7 @@ static int rtw_sha256_process(struct rtw_sha256_state *md, unsigned char *in,
return 0; return 0;
} }
#endif
/** /**
Terminate the hash to get the digest Terminate the hash to get the digest
@@ -2243,7 +2249,8 @@ static int rtw_sha256_process(struct rtw_sha256_state *md, unsigned char *in,
@param out [out] The destination of the hash (32 bytes) @param out [out] The destination of the hash (32 bytes)
@return CRYPT_OK if successful @return CRYPT_OK if successful
*/ */
static int rtw_sha256_done(struct rtw_sha256_state *md, unsigned char *out) #if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
static int sha256_done(struct sha256_state *md, unsigned char *out)
{ {
int i; int i;
@@ -2263,7 +2270,7 @@ static int rtw_sha256_done(struct rtw_sha256_state *md, unsigned char *out)
if (md->curlen > 56) { if (md->curlen > 56) {
while (md->curlen < 64) while (md->curlen < 64)
md->buf[md->curlen++] = (unsigned char) 0; md->buf[md->curlen++] = (unsigned char) 0;
rtw_sha256_compress(md, md->buf); sha256_compress(md, md->buf);
md->curlen = 0; md->curlen = 0;
} }
@@ -2273,7 +2280,7 @@ static int rtw_sha256_done(struct rtw_sha256_state *md, unsigned char *out)
/* store length */ /* store length */
WPA_PUT_BE64(md->buf + 56, md->length); WPA_PUT_BE64(md->buf + 56, md->length);
rtw_sha256_compress(md, md->buf); sha256_compress(md, md->buf);
/* copy output */ /* copy output */
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
@@ -2281,6 +2288,7 @@ static int rtw_sha256_done(struct rtw_sha256_state *md, unsigned char *out)
return 0; return 0;
} }
#endif
/** /**
* sha256_vector - SHA256 hash for data vector * sha256_vector - SHA256 hash for data vector
@@ -2290,20 +2298,23 @@ static int rtw_sha256_done(struct rtw_sha256_state *md, unsigned char *out)
* @mac: Buffer for the hash * @mac: Buffer for the hash
* Returns: 0 on success, -1 of failure * Returns: 0 on success, -1 of failure
*/ */
static int rtw_sha256_vector(size_t num_elem, u8 *addr[], size_t *len,
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
static int sha256_vector(size_t num_elem, u8 *addr[], size_t *len,
u8 *mac) u8 *mac)
{ {
struct rtw_sha256_state ctx; struct sha256_state ctx;
size_t i; size_t i;
rtw_sha256_init(&ctx); sha256_init(&ctx);
for (i = 0; i < num_elem; i++) for (i = 0; i < num_elem; i++)
if (rtw_sha256_process(&ctx, addr[i], len[i])) if (sha256_process(&ctx, addr[i], len[i]))
return -1; return -1;
if (rtw_sha256_done(&ctx, mac)) if (sha256_done(&ctx, mac))
return -1; return -1;
return 0; return 0;
} }
#endif
static u8 os_strlen(const char *s) static u8 os_strlen(const char *s)
{ {
@@ -2344,6 +2355,7 @@ static int os_memcmp(const void *s1, const void *s2, u8 n)
* @mac: Buffer for the hash (32 bytes) * @mac: Buffer for the hash (32 bytes)
*/ */
#if defined(CONFIG_TDLS) #if defined(CONFIG_TDLS)
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
static void hmac_sha256_vector(u8 *key, size_t key_len, size_t num_elem, static void hmac_sha256_vector(u8 *key, size_t key_len, size_t num_elem,
u8 *addr[], size_t *len, u8 *mac) u8 *addr[], size_t *len, u8 *mac)
{ {
@@ -2362,7 +2374,7 @@ static void hmac_sha256_vector(u8 *key, size_t key_len, size_t num_elem,
/* if key is longer than 64 bytes reset it to key = SHA256(key) */ /* if key is longer than 64 bytes reset it to key = SHA256(key) */
if (key_len > 64) { if (key_len > 64) {
rtw_sha256_vector(1, &key, &key_len, tk); sha256_vector(1, &key, &key_len, tk);
key = tk; key = tk;
key_len = 32; key_len = 32;
} }
@@ -2390,7 +2402,7 @@ static void hmac_sha256_vector(u8 *key, size_t key_len, size_t num_elem,
_addr[i + 1] = addr[i]; _addr[i + 1] = addr[i];
_len[i + 1] = len[i]; _len[i + 1] = len[i];
} }
rtw_sha256_vector(1 + num_elem, _addr, _len, mac); sha256_vector(1 + num_elem, _addr, _len, mac);
_rtw_memset(k_pad, 0, sizeof(k_pad)); _rtw_memset(k_pad, 0, sizeof(k_pad));
_rtw_memcpy(k_pad, key, key_len); _rtw_memcpy(k_pad, key, key_len);
@@ -2403,8 +2415,9 @@ static void hmac_sha256_vector(u8 *key, size_t key_len, size_t num_elem,
_len[0] = 64; _len[0] = 64;
_addr[1] = mac; _addr[1] = mac;
_len[1] = 32; _len[1] = 32;
rtw_sha256_vector(2, _addr, _len, mac); sha256_vector(2, _addr, _len, mac);
} }
#endif
#endif /* CONFIG_TDLS */ #endif /* CONFIG_TDLS */
#endif /* PLATFORM_FREEBSD */ #endif /* PLATFORM_FREEBSD */
/** /**
@@ -2422,7 +2435,8 @@ static void hmac_sha256_vector(u8 *key, size_t key_len, size_t num_elem,
*/ */
#ifndef PLATFORM_FREEBSD /* Baron */ #ifndef PLATFORM_FREEBSD /* Baron */
#if defined(CONFIG_TDLS) #if defined(CONFIG_TDLS)
static void rtw_sha256_prf(u8 *key, size_t key_len, char *label, #if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
static void sha256_prf(u8 *key, size_t key_len, char *label,
u8 *data, size_t data_len, u8 *buf, size_t buf_len) u8 *data, size_t data_len, u8 *buf, size_t buf_len)
{ {
u16 counter = 1; u16 counter = 1;
@@ -2446,10 +2460,10 @@ static void rtw_sha256_prf(u8 *key, size_t key_len, char *label,
while (pos < buf_len) { while (pos < buf_len) {
plen = buf_len - pos; plen = buf_len - pos;
WPA_PUT_LE16(counter_le, counter); WPA_PUT_LE16(counter_le, counter);
if (plen >= RTW_SHA256_MAC_LEN) { if (plen >= SHA256_MAC_LEN) {
hmac_sha256_vector(key, key_len, 4, addr, len, hmac_sha256_vector(key, key_len, 4, addr, len,
&buf[pos]); &buf[pos]);
pos += RTW_SHA256_MAC_LEN; pos += SHA256_MAC_LEN;
} else { } else {
hmac_sha256_vector(key, key_len, 4, addr, len, hash); hmac_sha256_vector(key, key_len, 4, addr, len, hash);
_rtw_memcpy(&buf[pos], hash, plen); _rtw_memcpy(&buf[pos], hash, plen);
@@ -2459,6 +2473,7 @@ static void rtw_sha256_prf(u8 *key, size_t key_len, char *label,
} }
} }
#endif #endif
#endif
#endif /* PLATFORM_FREEBSD Baron */ #endif /* PLATFORM_FREEBSD Baron */
/* AES tables*/ /* AES tables*/
@@ -3108,7 +3123,7 @@ void wpa_tdls_generate_tpk(_adapter *padapter, void *sta)
nonce[1] = SNonce; nonce[1] = SNonce;
} }
rtw_sha256_vector(2, nonce, len, key_input); sha256_vector(2, nonce, len, key_input);
/* /*
* TPK-Key-Data = KDF-N_KEY(TPK-Key-Input, "TDLS PMK", * TPK-Key-Data = KDF-N_KEY(TPK-Key-Input, "TDLS PMK",
@@ -3127,7 +3142,7 @@ void wpa_tdls_generate_tpk(_adapter *padapter, void *sta)
} }
_rtw_memcpy(data + 2 * ETH_ALEN, get_bssid(pmlmepriv), ETH_ALEN); _rtw_memcpy(data + 2 * ETH_ALEN, get_bssid(pmlmepriv), ETH_ALEN);
rtw_sha256_prf(key_input, RTW_SHA256_MAC_LEN, "TDLS PMK", data, sizeof(data), (u8 *) &psta->tpk, sizeof(psta->tpk)); sha256_prf(key_input, SHA256_MAC_LEN, "TDLS PMK", data, sizeof(data), (u8 *) &psta->tpk, sizeof(psta->tpk));
} }
+5
View File
@@ -0,0 +1,5 @@
realtek-rtl8188eus-dkms for Debian
---------------------------------
This package was automatically generated by the DKMS system,
for distribution on Debian based operating systems.
+29
View File
@@ -0,0 +1,29 @@
realtek-rtl8188eus-dkms (5.3.9~git20200829-0kali1) kali-dev; urgency=medium
* New upstream version 5.3.9~git20200829
* Refresh patches
* Add comment in debian/copyright
* Bump Standards-Version to 4.5.0
* Add lintian-overrides for dh-exec-subst-unknown-variable
-- Sophie Brun <sophie@offensive-security.com> Wed, 16 Sep 2020 15:07:29 +0200
realtek-rtl8188eus-dkms (5.3.9~git20200710-0kali1) kali-dev; urgency=medium
* New upstream version 5.3.9~20200710
-- Sophie Brun <sophie@offensive-security.com> Fri, 10 Jul 2020 08:49:51 +0200
realtek-rtl8188eus-dkms (5.3.9~git20200316-0kali1) kali-dev; urgency=medium
* Configure git-buildpackage for Kali
* Add GitLab's CI configuration file
* New upstream version 5.3.9~git20200316
-- Sophie Brun <sophie@offensive-security.com> Thu, 14 May 2020 11:45:14 +0200
realtek-rtl8188eus-dkms (5.3.9~20191129-0kali1) kali-dev; urgency=medium
* Initial release (see 5842)
-- Sophie Brun <sophie@offensive-security.com> Tue, 17 Dec 2019 17:14:38 +0100
+19
View File
@@ -0,0 +1,19 @@
Source: realtek-rtl8188eus-dkms
Section: contrib/kernel
Priority: optional
Maintainer: Kali Developers <devel@kali.org>
Uploaders: Sophie Brun <sophie@offensive-security.com>
Build-Depends: debhelper-compat (= 12), dkms, dh-exec
Standards-Version: 4.5.0
Homepage: https://github.com/aircrack-ng/rtl8188eus
Vcs-Browser: https://gitlab.com/kalilinux/packages/realtek-rtl8188eus-dkms
Vcs-Git: https://gitlab.com/kalilinux/packages/realtek-rtl8188eus-dkms.git
Package: realtek-rtl8188eus-dkms
Architecture: all
Depends: dkms (>= 1.95), ${misc:Depends}
Description: Realtek RTL8188EUS driver in DKMS format
This package provides the source code for RTL8188EUS Linux driver (with
monitor mode and frame injection) to be build with dkms. Kernel sources or
headers are required to compile this module.
+34
View File
@@ -0,0 +1,34 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: realtek-rtl8188eus-dkms
Source: https://github.com/aircrack-ng/rtl8188eus
Comment: dkms package built during installation
Files: *
Copyright: 2007 - 2017 Realtek Corporation.
License: GPL-2
Files: os_dep/linux/rhashtable.*
Copyright: 2015 Herbert Xu <herbert@gondor.apana.org.au>
2014-2015 Thomas Graf <tgraf@suug.ch>
2008-2014 Patrick McHardy <kaber@trash.net>
License: GPL-2
Files: debian/*
Copyright: 2019 Sophie Brun <sophie@offensive-security.com>
License: GPL-2
License: GPL-2
This package is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 as published
by the Free Software Foundation.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
+10
View File
@@ -0,0 +1,10 @@
[DEFAULT]
debian-branch = kali/master
debian-tag = kali/%(version)s
pristine-tar = True
[pq]
patch-numbers = False
[dch]
multimaint-merge = True
+2
View File
@@ -0,0 +1,2 @@
include:
- https://gitlab.com/kalilinux/tools/kali-ci-pipeline/raw/master/recipes/kali.yml
+20
View File
@@ -0,0 +1,20 @@
From: Sophie Brun <sophie@offensive-security.com>
Date: Fri, 10 Jul 2020 08:49:31 +0200
Subject: Change dkms version
Forwarded: not-needed
---
dkms.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dkms.conf b/dkms.conf
index 1c14127..8bb65d0 100644
--- a/dkms.conf
+++ b/dkms.conf
@@ -1,5 +1,5 @@
PACKAGE_NAME="realtek-rtl8188eus"
-PACKAGE_VERSION="5.3.9~20200316"
+PACKAGE_VERSION="5.3.9~git20200829"
CLEAN="'make' clean"
BUILT_MODULE_NAME[0]=8188eu
PROCS_NUM=`nproc`
+1
View File
@@ -0,0 +1 @@
Change-dkms-version.patch
+1
View File
@@ -0,0 +1 @@
README.md
+2
View File
@@ -0,0 +1,2 @@
#!/usr/bin/dh-exec
realtek-rtl8188eus-dkms source: dh-exec-subst-unknown-variable debian/realtek-rtl8188eus-dkms.install DEB_VERSION_UPSTREA
+2
View File
@@ -0,0 +1,2 @@
#we export the variable provided by /usr/share/dpkg/pkg-info.mk
realtek-rtl8188eus-dkms source: dh-exec-subst-unknown-variable debian/realtek-rtl8188eus-dkms.install DEB_VERSION_UPSTREAM
Vendored Executable
+21
View File
@@ -0,0 +1,21 @@
#!/usr/bin/make -f
#export DH_VERBOSE = 1
include /usr/share/dpkg/pkg-info.mk
export DEB_VERSION_UPSTREAM
%:
dh $@ --with dkms
override_dh_dkms:
dh_dkms -V $(DEB_VERSION_UPSTREAM) -- dkms.conf
override_dh_fixperms:
dh_fixperms
find debian/realtek-rtl8188eus-dkms/usr/src -type f -exec chmod -x {} \;
# Nothing to configure, build or auto-install (all is done after
# installation using dkms)
override_dh_auto_configure:
override_dh_auto_build:
override_dh_auto_install:
+1
View File
@@ -0,0 +1 @@
3.0 (quilt)
+4
View File
@@ -0,0 +1,4 @@
version=4
opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%realtek-rtl8188eus-dkms-$1.tar.gz%" \
https://github.com/aircrack-ng/rtl8188eus/tags \
(?:.*?/)?v?(\d[\d.]*)\.tar\.gz debian uupdate
+1 -1
View File
@@ -1,5 +1,5 @@
PACKAGE_NAME="realtek-rtl8188eus" PACKAGE_NAME="realtek-rtl8188eus"
PACKAGE_VERSION="5.3.9~20221105" PACKAGE_VERSION="5.3.9~20200316"
CLEAN="'make' clean" CLEAN="'make' clean"
BUILT_MODULE_NAME[0]=8188eu BUILT_MODULE_NAME[0]=8188eu
PROCS_NUM=`nproc` PROCS_NUM=`nproc`
+1 -1
View File
@@ -24,7 +24,7 @@
*****************************************************************************/ *****************************************************************************/
#ifndef __HALRF_FEATURES_H__ #ifndef __HALRF_FEATURES_H__
#define __HALRF_FEATURES_H__ #define __HALRF_FEATURES
#if (DM_ODM_SUPPORT_TYPE == ODM_WIN) #if (DM_ODM_SUPPORT_TYPE == ODM_WIN)
+1 -1
View File
@@ -25,7 +25,7 @@
#ifndef __PHYDMKFREE_H__ #ifndef __PHYDMKFREE_H__
#define __PHYDMKFREE_H__ #define __PHYDKFREE_H__
#define KFREE_VERSION "1.0" #define KFREE_VERSION "1.0"
+7 -4
View File
@@ -52,10 +52,12 @@ phydm_rx_statistic_cal(
phydm->phy_dbg_info.ht_pkt_not_zero = true; phydm->phy_dbg_info.ht_pkt_not_zero = true;
if (phydm->support_ic_type & PHYSTS_2ND_TYPE_IC) { if (phydm->support_ic_type & PHYSTS_2ND_TYPE_IC) {
if (bw_idx == *phydm->band_width) { if ((bw_idx == *phydm->band_width)) {
phydm->phy_dbg_info.num_qry_ht_pkt[date_rate - ODM_RATEMCS0]++; phydm->phy_dbg_info.num_qry_ht_pkt[date_rate - ODM_RATEMCS0]++;
} else if (bw_idx == CHANNEL_WIDTH_20) { } else if (bw_idx == CHANNEL_WIDTH_20) {
phydm->phy_dbg_info.num_qry_pkt_sc_20m[date_rate - ODM_RATEMCS0]++; phydm->phy_dbg_info.num_qry_pkt_sc_20m[date_rate - ODM_RATEMCS0]++;
phydm->phy_dbg_info.low_bw_20_occur = true; phydm->phy_dbg_info.low_bw_20_occur = true;
} }
@@ -66,9 +68,9 @@ phydm_rx_statistic_cal(
#if ODM_IC_11AC_SERIES_SUPPORT #if ODM_IC_11AC_SERIES_SUPPORT
else if (date_rate <= ODM_RATEVHTSS4MCS9) { else if (date_rate <= ODM_RATEVHTSS4MCS9) {
#if (ODM_PHY_STATUS_NEW_TYPE_SUPPORT == 1) #if (ODM_PHY_STATUS_NEW_TYPE_SUPPORT == 1)
if ((phy_status_type == 1) && if ((phy_status_type == 1) &&
(phy_sta_rpt->gid != 0) && (phy_sta_rpt->gid != 0) &&
(phy_sta_rpt->gid != 63) && (phy_sta_rpt->gid != 63) &&
(phydm->support_ic_type & PHYSTS_2ND_TYPE_IC)) { (phydm->support_ic_type & PHYSTS_2ND_TYPE_IC)) {
phydm->phy_dbg_info.num_qry_mu_vht_pkt[date_rate - ODM_RATEVHTSS1MCS0]++; phydm->phy_dbg_info.num_qry_mu_vht_pkt[date_rate - ODM_RATEVHTSS1MCS0]++;
if (pktinfo->ppdu_cnt < 4) { if (pktinfo->ppdu_cnt < 4) {
@@ -79,6 +81,7 @@ phydm_rx_statistic_cal(
#endif #endif
{ {
phydm->phy_dbg_info.vht_pkt_not_zero = true; phydm->phy_dbg_info.vht_pkt_not_zero = true;
if (phydm->support_ic_type & PHYSTS_2ND_TYPE_IC) { if (phydm->support_ic_type & PHYSTS_2ND_TYPE_IC) {
if ((bw_idx == *phydm->band_width)) { if ((bw_idx == *phydm->band_width)) {
phydm->phy_dbg_info.num_qry_vht_pkt[date_rate - ODM_RATEVHTSS1MCS0]++; phydm->phy_dbg_info.num_qry_vht_pkt[date_rate - ODM_RATEVHTSS1MCS0]++;
-19
View File
@@ -1529,7 +1529,6 @@ enum ieee80211_state {
(((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \ (((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \
(((Addr[5]) & 0xff) == 0xff)) (((Addr[5]) & 0xff) == 0xff))
#else #else
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 00))
extern __inline int is_multicast_mac_addr(const u8 *addr) extern __inline int is_multicast_mac_addr(const u8 *addr)
{ {
return (addr[0] != 0xff) && (0x01 & addr[0]); return (addr[0] != 0xff) && (0x01 & addr[0]);
@@ -1546,24 +1545,6 @@ extern __inline int is_zero_mac_addr(const u8 *addr)
return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \ return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \
(addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00)); (addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));
} }
#else
static __inline int is_multicast_mac_addr(const u8 *addr)
{
return (addr[0] != 0xff) && (0x01 & addr[0]);
}
static __inline int is_broadcast_mac_addr(const u8 *addr)
{
return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \
(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
}
static __inline int is_zero_mac_addr(const u8 *addr)
{
return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \
(addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));
}
#endif /* LINUX_VERSION_CODE */
#endif /* PLATFORM_FREEBSD */ #endif /* PLATFORM_FREEBSD */
#define CFG_IEEE80211_RESERVE_FCS (1<<0) #define CFG_IEEE80211_RESERVE_FCS (1<<0)
+4 -2
View File
@@ -41,7 +41,7 @@ const char *security_type_str(u8 value);
#define _WPA_IE_ID_ 0xdd #define _WPA_IE_ID_ 0xdd
#define _WPA2_IE_ID_ 0x30 #define _WPA2_IE_ID_ 0x30
#define RTW_SHA256_MAC_LEN 32 #define SHA256_MAC_LEN 32
#define AES_BLOCK_SIZE 16 #define AES_BLOCK_SIZE 16
#define AES_PRIV_SIZE (4 * 44) #define AES_PRIV_SIZE (4 * 44)
@@ -249,11 +249,13 @@ struct security_priv {
#define SEC_IS_BIP_KEY_INSTALLED(sec) _FALSE #define SEC_IS_BIP_KEY_INSTALLED(sec) _FALSE
#endif #endif
struct rtw_sha256_state { #if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
struct sha256_state {
u64 length; u64 length;
u32 state[8], curlen; u32 state[8], curlen;
u8 buf[64]; u8 buf[64];
}; };
#endif
#define GET_ENCRY_ALGO(psecuritypriv, psta, encry_algo, bmcst)\ #define GET_ENCRY_ALGO(psecuritypriv, psta, encry_algo, bmcst)\
do {\ do {\
+55 -47
View File
@@ -27,7 +27,7 @@
#define DBG_RTW_CFG80211_MESH_CONF 0 #define DBG_RTW_CFG80211_MESH_CONF 0
#endif #endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0) || defined(RHEL79)) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 0, 0))
#define STATION_INFO_INACTIVE_TIME BIT(NL80211_STA_INFO_INACTIVE_TIME) #define STATION_INFO_INACTIVE_TIME BIT(NL80211_STA_INFO_INACTIVE_TIME)
#define STATION_INFO_LLID BIT(NL80211_STA_INFO_LLID) #define STATION_INFO_LLID BIT(NL80211_STA_INFO_LLID)
#define STATION_INFO_PLID BIT(NL80211_STA_INFO_PLID) #define STATION_INFO_PLID BIT(NL80211_STA_INFO_PLID)
@@ -289,7 +289,7 @@ static const char *nl80211_chan_width_str(enum nl80211_chan_width cwidth)
return "80+80"; return "80+80";
case NL80211_CHAN_WIDTH_160: case NL80211_CHAN_WIDTH_160:
return "160"; return "160";
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0) || defined(RHEL79)) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0))
case NL80211_CHAN_WIDTH_5: case NL80211_CHAN_WIDTH_5:
return "5"; return "5";
case NL80211_CHAN_WIDTH_10: case NL80211_CHAN_WIDTH_10:
@@ -390,7 +390,7 @@ static void rtw_get_chbw_from_cfg80211_chan_def(struct cfg80211_chan_def *chdef,
*ch = chan->hw_value; *ch = chan->hw_value;
break; break;
case NL80211_CHAN_WIDTH_80P80: case NL80211_CHAN_WIDTH_80P80:
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0) || defined(RHEL79)) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0))
case NL80211_CHAN_WIDTH_5: case NL80211_CHAN_WIDTH_5:
case NL80211_CHAN_WIDTH_10: case NL80211_CHAN_WIDTH_10:
#endif #endif
@@ -417,11 +417,7 @@ u8 rtw_cfg80211_ch_switch_notify(_adapter *adapter, u8 ch, u8 bw, u8 offset, u8
if (ret != _SUCCESS) if (ret != _SUCCESS)
goto exit; goto exit;
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 0))
cfg80211_ch_switch_notify(adapter->pnetdev, &chdef, 0);
#else
cfg80211_ch_switch_notify(adapter->pnetdev, &chdef); cfg80211_ch_switch_notify(adapter->pnetdev, &chdef);
#endif
#else #else
int freq = rtw_ch2freq(ch); int freq = rtw_ch2freq(ch);
@@ -948,7 +944,7 @@ void rtw_cfg80211_ibss_indicate_connect(_adapter *padapter)
struct wlan_network *cur_network = &(pmlmepriv->cur_network); struct wlan_network *cur_network = &(pmlmepriv->cur_network);
struct wireless_dev *pwdev = padapter->rtw_wdev; struct wireless_dev *pwdev = padapter->rtw_wdev;
struct cfg80211_bss *bss = NULL; struct cfg80211_bss *bss = NULL;
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) || defined(RHEL79)) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0))
struct wiphy *wiphy = pwdev->wiphy; struct wiphy *wiphy = pwdev->wiphy;
int freq = 2412; int freq = 2412;
struct ieee80211_channel *notify_channel; struct ieee80211_channel *notify_channel;
@@ -1006,7 +1002,7 @@ void rtw_cfg80211_ibss_indicate_connect(_adapter *padapter)
RTW_PRINT(FUNC_ADPT_FMT" BSS not found !!\n", FUNC_ADPT_ARG(padapter)); RTW_PRINT(FUNC_ADPT_FMT" BSS not found !!\n", FUNC_ADPT_ARG(padapter));
} }
/* notify cfg80211 that device joined an IBSS */ /* notify cfg80211 that device joined an IBSS */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) || defined(RHEL79)) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0))
notify_channel = ieee80211_get_channel(wiphy, freq); notify_channel = ieee80211_get_channel(wiphy, freq);
cfg80211_ibss_joined(padapter->pnetdev, cur_network->network.MacAddress, notify_channel, GFP_ATOMIC); cfg80211_ibss_joined(padapter->pnetdev, cur_network->network.MacAddress, notify_channel, GFP_ATOMIC);
#else #else
@@ -1094,7 +1090,7 @@ check_bss:
struct ieee80211_channel *notify_channel; struct ieee80211_channel *notify_channel;
u32 freq; u32 freq;
u16 channel = cur_network->network.Configuration.DSConfig; u16 channel = cur_network->network.Configuration.DSConfig;
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) || defined(RHEL79)) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0))
struct cfg80211_roam_info roam_info; struct cfg80211_roam_info roam_info;
#endif #endif
@@ -1102,12 +1098,8 @@ check_bss:
notify_channel = ieee80211_get_channel(wiphy, freq); notify_channel = ieee80211_get_channel(wiphy, freq);
#endif #endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) || defined(RHEL79)) #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0))
roam_info.links[0].bssid = cur_network->network.MacAddress;
#else
roam_info.bssid = cur_network->network.MacAddress; roam_info.bssid = cur_network->network.MacAddress;
#endif
roam_info.req_ie = pmlmepriv->assoc_req + sizeof(struct rtw_ieee80211_hdr_3addr) + 2; roam_info.req_ie = pmlmepriv->assoc_req + sizeof(struct rtw_ieee80211_hdr_3addr) + 2;
roam_info.req_ie_len = pmlmepriv->assoc_req_len - sizeof(struct rtw_ieee80211_hdr_3addr) - 2; roam_info.req_ie_len = pmlmepriv->assoc_req_len - sizeof(struct rtw_ieee80211_hdr_3addr) - 2;
roam_info.resp_ie = pmlmepriv->assoc_rsp + sizeof(struct rtw_ieee80211_hdr_3addr) + 6; roam_info.resp_ie = pmlmepriv->assoc_rsp + sizeof(struct rtw_ieee80211_hdr_3addr) + 6;
@@ -1134,7 +1126,7 @@ check_bss:
rtw_ft_set_status(padapter, RTW_FT_ASSOCIATED_STA); rtw_ft_set_status(padapter, RTW_FT_ASSOCIATED_STA);
#endif #endif
} else { } else {
#if !defined(RHEL79) && (LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0) || defined(COMPAT_KERNEL_RELEASE)) #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0) || defined(COMPAT_KERNEL_RELEASE)
RTW_INFO("pwdev->sme_state(b)=%d\n", pwdev->sme_state); RTW_INFO("pwdev->sme_state(b)=%d\n", pwdev->sme_state);
#endif #endif
@@ -1145,7 +1137,7 @@ check_bss:
, pmlmepriv->assoc_rsp + sizeof(struct rtw_ieee80211_hdr_3addr) + 6 , pmlmepriv->assoc_rsp + sizeof(struct rtw_ieee80211_hdr_3addr) + 6
, pmlmepriv->assoc_rsp_len - sizeof(struct rtw_ieee80211_hdr_3addr) - 6 , pmlmepriv->assoc_rsp_len - sizeof(struct rtw_ieee80211_hdr_3addr) - 6
, WLAN_STATUS_SUCCESS, GFP_ATOMIC); , WLAN_STATUS_SUCCESS, GFP_ATOMIC);
#if defined(RHEL79) && (LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0) || defined(COMPAT_KERNEL_RELEASE)) #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0) || defined(COMPAT_KERNEL_RELEASE)
RTW_INFO("pwdev->sme_state(a)=%d\n", pwdev->sme_state); RTW_INFO("pwdev->sme_state(a)=%d\n", pwdev->sme_state);
#endif #endif
} }
@@ -1201,7 +1193,7 @@ void rtw_cfg80211_indicate_disconnect(_adapter *padapter, u16 reason, u8 locally
_enter_critical_bh(&pwdev_priv->connect_req_lock, &irqL); _enter_critical_bh(&pwdev_priv->connect_req_lock, &irqL);
if (padapter->ndev_unregistering || !rtw_wdev_not_indic_disco(pwdev_priv)) { if (padapter->ndev_unregistering || !rtw_wdev_not_indic_disco(pwdev_priv)) {
#if (!defined(RHEL79) && (LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0) || defined(COMPAT_KERNEL_RELEASE))) #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0) || defined(COMPAT_KERNEL_RELEASE)
RTW_INFO("pwdev->sme_state(b)=%d\n", pwdev->sme_state); RTW_INFO("pwdev->sme_state(b)=%d\n", pwdev->sme_state);
if (pwdev->sme_state == CFG80211_SME_CONNECTING) { if (pwdev->sme_state == CFG80211_SME_CONNECTING) {
@@ -2456,7 +2448,7 @@ void rtw_cfg80211_indicate_scan_done(_adapter *adapter, bool aborted)
struct rtw_wdev_priv *pwdev_priv = adapter_wdev_data(adapter); struct rtw_wdev_priv *pwdev_priv = adapter_wdev_data(adapter);
_irqL irqL; _irqL irqL;
#if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE || defined(RHEL79)) #if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE)
struct cfg80211_scan_info info; struct cfg80211_scan_info info;
memset(&info, 0, sizeof(info)); memset(&info, 0, sizeof(info));
@@ -2473,7 +2465,7 @@ void rtw_cfg80211_indicate_scan_done(_adapter *adapter, bool aborted)
if (pwdev_priv->scan_request->wiphy != pwdev_priv->rtw_wdev->wiphy) if (pwdev_priv->scan_request->wiphy != pwdev_priv->rtw_wdev->wiphy)
RTW_INFO("error wiphy compare\n"); RTW_INFO("error wiphy compare\n");
else else
#if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE || defined(RHEL79)) #if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE)
cfg80211_scan_done(pwdev_priv->scan_request, &info); cfg80211_scan_done(pwdev_priv->scan_request, &info);
#else #else
cfg80211_scan_done(pwdev_priv->scan_request, aborted); cfg80211_scan_done(pwdev_priv->scan_request, aborted);
@@ -3063,7 +3055,7 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
check_need_indicate_scan_done: check_need_indicate_scan_done:
if (_TRUE == need_indicate_scan_done) { if (_TRUE == need_indicate_scan_done) {
#if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE || defined(RHEL79)) #if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE)
struct cfg80211_scan_info info; struct cfg80211_scan_info info;
memset(&info, 0, sizeof(info)); memset(&info, 0, sizeof(info));
@@ -3071,7 +3063,7 @@ check_need_indicate_scan_done:
#endif #endif
_rtw_cfg80211_surveydone_event_callback(padapter, request); _rtw_cfg80211_surveydone_event_callback(padapter, request);
#if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE || defined(RHEL79)) #if (KERNEL_VERSION(4, 7, 0) <= LINUX_VERSION_CODE)
cfg80211_scan_done(request, &info); cfg80211_scan_done(request, &info);
#else #else
cfg80211_scan_done(request, 0); cfg80211_scan_done(request, 0);
@@ -4468,12 +4460,6 @@ static int rtw_cfg80211_add_monitor_if(_adapter *padapter, char *name,
goto out; goto out;
} }
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0))
mon_ndev->min_mtu = WLAN_MIN_ETHFRM_LEN;
mon_ndev->mtu = WLAN_DATA_MAXLEN;
mon_ndev->max_mtu = WLAN_DATA_MAXLEN;
#endif
mon_ndev->type = ARPHRD_IEEE80211_RADIOTAP; mon_ndev->type = ARPHRD_IEEE80211_RADIOTAP;
strncpy(mon_ndev->name, name, IFNAMSIZ); strncpy(mon_ndev->name, name, IFNAMSIZ);
mon_ndev->name[IFNAMSIZ - 1] = 0; mon_ndev->name[IFNAMSIZ - 1] = 0;
@@ -4884,11 +4870,7 @@ static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *nd
return ret; return ret;
} }
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 0))
static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev, unsigned int link_id)
#else
static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev) static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev)
#endif
{ {
_adapter *adapter = (_adapter *)rtw_netdev_priv(ndev); _adapter *adapter = (_adapter *)rtw_netdev_priv(ndev);
@@ -7106,11 +7088,7 @@ exit:
return ret; return ret;
} }
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)) #if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
static void cfg80211_rtw_update_mgmt_frame_register(struct wiphy *wiphy,
struct wireless_dev *wdev,
struct mgmt_frame_regs *upd)
#else
static void cfg80211_rtw_mgmt_frame_register(struct wiphy *wiphy, static void cfg80211_rtw_mgmt_frame_register(struct wiphy *wiphy,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0))
struct wireless_dev *wdev, struct wireless_dev *wdev,
@@ -7118,12 +7096,22 @@ static void cfg80211_rtw_mgmt_frame_register(struct wiphy *wiphy,
struct net_device *ndev, struct net_device *ndev,
#endif #endif
u16 frame_type, bool reg) u16 frame_type, bool reg)
#else
static void cfg80211_rtw_update_mgmt_frame_register(struct wiphy *wiphy,
struct wireless_dev *wdev,
struct mgmt_frame_regs *upd)
#endif #endif
{ {
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0))
u32 rtw_mask = BIT(IEEE80211_STYPE_PROBE_REQ >> 4);
#endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0))
struct net_device *ndev = wdev_to_ndev(wdev); struct net_device *ndev = wdev_to_ndev(wdev);
#endif #endif
_adapter *adapter; _adapter *adapter;
struct rtw_wdev_priv *pwdev_priv; struct rtw_wdev_priv *pwdev_priv;
if (ndev == NULL) if (ndev == NULL)
@@ -7133,10 +7121,35 @@ static void cfg80211_rtw_mgmt_frame_register(struct wiphy *wiphy,
pwdev_priv = adapter_wdev_data(adapter); pwdev_priv = adapter_wdev_data(adapter);
#ifdef CONFIG_DEBUG_CFG80211 #ifdef CONFIG_DEBUG_CFG80211
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
RTW_INFO(FUNC_ADPT_FMT" frame_type:%x, reg:%d\n", FUNC_ADPT_ARG(adapter), RTW_INFO(FUNC_ADPT_FMT" frame_type:%x, reg:%d\n", FUNC_ADPT_ARG(adapter),
frame_type, reg); frame_type, reg);
#else
RTW_INFO(FUNC_ADPT_FMT " old_regs:%x new_regs:%x\n",
FUNC_ADPT_ARG(adapter), pwdev_priv->mgmt_mask, upd->interface_stypes);
#endif
#endif #endif
/* Wait QC Verify */
return;
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
switch (frame_type) {
case IEEE80211_STYPE_PROBE_REQ: /* 0x0040 */
SET_CFG80211_REPORT_MGMT(pwdev_priv, IEEE80211_STYPE_PROBE_REQ, reg);
break;
case IEEE80211_STYPE_ACTION: /* 0x00D0 */
SET_CFG80211_REPORT_MGMT(pwdev_priv, IEEE80211_STYPE_ACTION, reg);
break;
default:
break;
}
#else
if ((upd->interface_stypes & rtw_mask) == (pwdev_priv->mgmt_mask & rtw_mask))
return;
pwdev_priv->mgmt_mask = upd->interface_stypes;
#endif
exit: exit:
return; return;
} }
@@ -9124,8 +9137,7 @@ static void rtw_cfg80211_preinit_wiphy(_adapter *adapter, struct wiphy *wiphy)
#endif #endif
#if defined(CONFIG_PM) && (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 0, 0) && \ #if defined(CONFIG_PM) && (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 0, 0) && \
LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0) && \ LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0))
!defined(RHEL79))
wiphy->flags |= WIPHY_FLAG_SUPPORTS_SCHED_SCAN; wiphy->flags |= WIPHY_FLAG_SUPPORTS_SCHED_SCAN;
#ifdef CONFIG_PNO_SUPPORT #ifdef CONFIG_PNO_SUPPORT
wiphy->max_sched_scan_ssids = MAX_PNO_LIST_COUNT; wiphy->max_sched_scan_ssids = MAX_PNO_LIST_COUNT;
@@ -9136,7 +9148,7 @@ static void rtw_cfg80211_preinit_wiphy(_adapter *adapter, struct wiphy *wiphy)
#endif #endif
#if defined(CONFIG_PM) && (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 0, 0)) #if defined(CONFIG_PM) && (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 0, 0))
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0) && !defined(RHEL79)) #if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 11, 0))
wiphy->wowlan = wowlan_stub; wiphy->wowlan = wowlan_stub;
#else #else
wiphy->wowlan = &wowlan_stub; wiphy->wowlan = &wowlan_stub;
@@ -9442,10 +9454,10 @@ static struct cfg80211_ops rtw_cfg80211_ops = {
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) || defined(COMPAT_KERNEL_RELEASE) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)) || defined(COMPAT_KERNEL_RELEASE)
.mgmt_tx = cfg80211_rtw_mgmt_tx, .mgmt_tx = cfg80211_rtw_mgmt_tx,
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)) #if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
.update_mgmt_frame_registrations = cfg80211_rtw_update_mgmt_frame_register,
#else
.mgmt_frame_register = cfg80211_rtw_mgmt_frame_register, .mgmt_frame_register = cfg80211_rtw_mgmt_frame_register,
#else
.update_mgmt_frame_registrations = cfg80211_rtw_update_mgmt_frame_register,
#endif #endif
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34) && LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 35)) #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34) && LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 35))
.action = cfg80211_rtw_mgmt_tx, .action = cfg80211_rtw_mgmt_tx,
@@ -9646,11 +9658,7 @@ void rtw_wdev_unregister(struct wireless_dev *wdev)
rtw_cfg80211_indicate_scan_done(adapter, _TRUE); rtw_cfg80211_indicate_scan_done(adapter, _TRUE);
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)) || defined(COMPAT_KERNEL_RELEASE) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)) || defined(COMPAT_KERNEL_RELEASE)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 0))
if (wdev->connected) {
#else
if (wdev->current_bss) { if (wdev->current_bss) {
#endif
RTW_INFO(FUNC_ADPT_FMT" clear current_bss by cfg80211_disconnected\n", FUNC_ADPT_ARG(adapter)); RTW_INFO(FUNC_ADPT_FMT" clear current_bss by cfg80211_disconnected\n", FUNC_ADPT_ARG(adapter));
rtw_cfg80211_indicate_disconnect(adapter, 0, 1); rtw_cfg80211_indicate_disconnect(adapter, 0, 1);
} }
+2 -2
View File
@@ -362,7 +362,7 @@ void rtw_cfg80211_deinit_rfkill(struct wiphy *wiphy);
#define rtw_cfg80211_connect_result(wdev, bssid, req_ie, req_ie_len, resp_ie, resp_ie_len, status, gfp) cfg80211_connect_result(wdev_to_ndev(wdev), bssid, req_ie, req_ie_len, resp_ie, resp_ie_len, status, gfp) #define rtw_cfg80211_connect_result(wdev, bssid, req_ie, req_ie_len, resp_ie, resp_ie_len, status, gfp) cfg80211_connect_result(wdev_to_ndev(wdev), bssid, req_ie, req_ie_len, resp_ie, resp_ie_len, status, gfp)
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0) && !defined(RHEL79)) #if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0))
#define rtw_cfg80211_disconnected(wdev, reason, ie, ie_len, locally_generated, gfp) cfg80211_disconnected(wdev_to_ndev(wdev), reason, ie, ie_len, gfp) #define rtw_cfg80211_disconnected(wdev, reason, ie, ie_len, locally_generated, gfp) cfg80211_disconnected(wdev_to_ndev(wdev), reason, ie, ie_len, gfp)
#else #else
#define rtw_cfg80211_disconnected(wdev, reason, ie, ie_len, locally_generated, gfp) cfg80211_disconnected(wdev_to_ndev(wdev), reason, ie, ie_len, locally_generated, gfp) #define rtw_cfg80211_disconnected(wdev, reason, ie, ie_len, locally_generated, gfp) cfg80211_disconnected(wdev_to_ndev(wdev), reason, ie, ie_len, locally_generated, gfp)
@@ -384,7 +384,7 @@ void rtw_cfg80211_deinit_rfkill(struct wiphy *wiphy);
u8 rtw_cfg80211_ch_switch_notify(_adapter *adapter, u8 ch, u8 bw, u8 offset, u8 ht); u8 rtw_cfg80211_ch_switch_notify(_adapter *adapter, u8 ch, u8 bw, u8 offset, u8 ht);
#endif #endif
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 26)) && (LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) && !defined(RHEL79) ) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 26)) && (LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0))
#define NL80211_BAND_2GHZ IEEE80211_BAND_2GHZ #define NL80211_BAND_2GHZ IEEE80211_BAND_2GHZ
#define NL80211_BAND_5GHZ IEEE80211_BAND_5GHZ #define NL80211_BAND_5GHZ IEEE80211_BAND_5GHZ
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0))
-14
View File
@@ -1199,11 +1199,7 @@ static int rtw_net_set_mac_address(struct net_device *pnetdev, void *addr)
} }
_rtw_memcpy(adapter_mac_addr(padapter), sa->sa_data, ETH_ALEN); /* set mac addr to adapter */ _rtw_memcpy(adapter_mac_addr(padapter), sa->sa_data, ETH_ALEN); /* set mac addr to adapter */
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0))
eth_hw_addr_set(pnetdev, sa->sa_data);
#else
_rtw_memcpy(pnetdev->dev_addr, sa->sa_data, ETH_ALEN); /* set mac addr to net_device */ _rtw_memcpy(pnetdev->dev_addr, sa->sa_data, ETH_ALEN); /* set mac addr to net_device */
#endif
#if 0 #if 0
if (rtw_is_hw_init_completed(padapter)) { if (rtw_is_hw_init_completed(padapter)) {
@@ -1517,12 +1513,6 @@ struct net_device *rtw_init_netdev(_adapter *old_padapter)
if (!pnetdev) if (!pnetdev)
return NULL; return NULL;
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0))
pnetdev->min_mtu = WLAN_MIN_ETHFRM_LEN;
pnetdev->mtu = WLAN_DATA_MAXLEN;
pnetdev->max_mtu = WLAN_DATA_MAXLEN;
#endif
padapter = rtw_netdev_priv(pnetdev); padapter = rtw_netdev_priv(pnetdev);
padapter->pnetdev = pnetdev; padapter->pnetdev = pnetdev;
@@ -1632,11 +1622,7 @@ int rtw_os_ndev_register(_adapter *adapter, const char *name)
/* alloc netdev name */ /* alloc netdev name */
rtw_init_netdev_name(ndev, name); rtw_init_netdev_name(ndev, name);
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0))
eth_hw_addr_set(ndev, adapter_mac_addr(adapter));
#else
_rtw_memcpy(ndev->dev_addr, adapter_mac_addr(adapter), ETH_ALEN); _rtw_memcpy(ndev->dev_addr, adapter_mac_addr(adapter), ETH_ALEN);
#endif
#if defined(CONFIG_NET_NS) #if defined(CONFIG_NET_NS)
dev_net_set(ndev, wiphy_net(adapter_to_wiphy(adapter))); dev_net_set(ndev, wiphy_net(adapter_to_wiphy(adapter)));
#endif //defined(CONFIG_NET_NS) #endif //defined(CONFIG_NET_NS)
-4
View File
@@ -354,11 +354,7 @@ static int napi_recv(_adapter *padapter, int budget)
#ifdef CONFIG_RTW_GRO #ifdef CONFIG_RTW_GRO
if (pregistrypriv->en_gro) { if (pregistrypriv->en_gro) {
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 12, 0))
if (rtw_napi_gro_receive(&padapter->napi, pskb) != GRO_DROP) if (rtw_napi_gro_receive(&padapter->napi, pskb) != GRO_DROP)
#else
if (rtw_napi_gro_receive(&padapter->napi, pskb) != GRO_MERGED_FREE)
#endif
rx_ok = _TRUE; rx_ok = _TRUE;
goto next; goto next;
} }
-4
View File
@@ -45,10 +45,6 @@ inline struct proc_dir_entry *get_rtw_drv_proc(void)
#define get_proc_net init_net.proc_net #define get_proc_net init_net.proc_net
#endif #endif
#if(LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0))
#define PDE_DATA(inode) pde_data(inode)
#endif
inline struct proc_dir_entry *rtw_proc_create_dir(const char *name, struct proc_dir_entry *parent, void *data) inline struct proc_dir_entry *rtw_proc_create_dir(const char *name, struct proc_dir_entry *parent, void *data)
{ {
struct proc_dir_entry *entry; struct proc_dir_entry *entry;
+1 -3
View File
@@ -158,9 +158,7 @@ static struct usb_device_id rtw_usb_id_tbl[] = {
{USB_DEVICE(0x2001, 0x330F), .driver_info = RTL8188E}, /* DLink DWA-125 REV D1 */ {USB_DEVICE(0x2001, 0x330F), .driver_info = RTL8188E}, /* DLink DWA-125 REV D1 */
{USB_DEVICE(0x2001, 0x3310), .driver_info = RTL8188E}, /* Dlink DWA-123 REV D1 */ {USB_DEVICE(0x2001, 0x3310), .driver_info = RTL8188E}, /* Dlink DWA-123 REV D1 */
{USB_DEVICE(0x2001, 0x3311), .driver_info = RTL8188E}, /* DLink GO-USB-N150 REV B1 */ {USB_DEVICE(0x2001, 0x3311), .driver_info = RTL8188E}, /* DLink GO-USB-N150 REV B1 */
{USB_DEVICE(0x2001, 0x331B), .driver_info = RTL8188E}, /* DLink DWA-121 REV B1 */ {USB_DEVICE(0x056E, 0x4008), .driver_info = RTL8188E}, /* Elecom WDC-150SU2M */
{USB_DEVICE(0x056E, 0x4008), .driver_info = RTL8188E}, /* Elecom WDC-150SU2M */
{USB_DEVICE(0x7392, 0xB811), .driver_info = RTL8188E}, /* Edimax EW-7811UN v2 */
#endif #endif
#ifdef CONFIG_RTL8812A #ifdef CONFIG_RTL8812A
+3 -3
View File
@@ -294,7 +294,7 @@ void rtw_regd_apply_flags(struct wiphy *wiphy)
&& rtw_odm_dfs_domain_unknown(padapter) && rtw_odm_dfs_domain_unknown(padapter)
#endif #endif
) { ) {
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0) && !defined(RHEL79)) #if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0))
ch->flags = (IEEE80211_CHAN_NO_IBSS | IEEE80211_CHAN_PASSIVE_SCAN); ch->flags = (IEEE80211_CHAN_NO_IBSS | IEEE80211_CHAN_PASSIVE_SCAN);
#else #else
ch->flags = IEEE80211_CHAN_NO_IR; ch->flags = IEEE80211_CHAN_NO_IR;
@@ -309,7 +309,7 @@ void rtw_regd_apply_flags(struct wiphy *wiphy)
#endif #endif
) { ) {
ch->flags |= IEEE80211_CHAN_RADAR; ch->flags |= IEEE80211_CHAN_RADAR;
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0) && !defined(RHEL79)) #if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0))
ch->flags |= (IEEE80211_CHAN_NO_IBSS | IEEE80211_CHAN_PASSIVE_SCAN); ch->flags |= (IEEE80211_CHAN_NO_IBSS | IEEE80211_CHAN_PASSIVE_SCAN);
#else #else
ch->flags |= IEEE80211_CHAN_NO_IR; ch->flags |= IEEE80211_CHAN_NO_IR;
@@ -374,7 +374,7 @@ static void _rtw_regd_init_wiphy(struct rtw_regulatory *reg, struct wiphy *wiphy
wiphy->reg_notifier = rtw_reg_notifier; wiphy->reg_notifier = rtw_reg_notifier;
#endif #endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0) && !defined(RHEL79)) #if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0))
wiphy->flags |= WIPHY_FLAG_CUSTOM_REGULATORY; wiphy->flags |= WIPHY_FLAG_CUSTOM_REGULATORY;
wiphy->flags &= ~WIPHY_FLAG_STRICT_REGULATORY; wiphy->flags &= ~WIPHY_FLAG_STRICT_REGULATORY;
wiphy->flags &= ~WIPHY_FLAG_DISABLE_BEACON_HINTS; wiphy->flags &= ~WIPHY_FLAG_DISABLE_BEACON_HINTS;
+1 -34
View File
@@ -1268,12 +1268,8 @@ u32 _rtw_down_sema(_sema *sema)
inline void thread_exit(_completion *comp) inline void thread_exit(_completion *comp)
{ {
#ifdef PLATFORM_LINUX #ifdef PLATFORM_LINUX
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0))
kthread_complete_and_exit(comp, 0);
#else
complete_and_exit(comp, 0); complete_and_exit(comp, 0);
#endif #endif
#endif
#ifdef PLATFORM_FREEBSD #ifdef PLATFORM_FREEBSD
printf("%s", "RTKTHREAD_exit"); printf("%s", "RTKTHREAD_exit");
@@ -2143,19 +2139,15 @@ static int isFileReadable(const char *path, u32 *sz)
{ {
struct file *fp; struct file *fp;
int ret = 0; int ret = 0;
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
mm_segment_t oldfs; mm_segment_t oldfs;
#endif
char buf; char buf;
fp = filp_open(path, O_RDONLY, 0); fp = filp_open(path, O_RDONLY, 0);
if (IS_ERR(fp)) if (IS_ERR(fp))
ret = PTR_ERR(fp); ret = PTR_ERR(fp);
else { else {
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
oldfs = get_fs(); oldfs = get_fs();
set_fs(KERNEL_DS); set_fs(KERNEL_DS);
#endif
if (1 != readFile(fp, &buf, 1)) if (1 != readFile(fp, &buf, 1))
ret = PTR_ERR(fp); ret = PTR_ERR(fp);
@@ -2167,9 +2159,8 @@ static int isFileReadable(const char *path, u32 *sz)
*sz = i_size_read(fp->f_dentry->d_inode); *sz = i_size_read(fp->f_dentry->d_inode);
#endif #endif
} }
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
set_fs(oldfs); set_fs(oldfs);
#endif
filp_close(fp, NULL); filp_close(fp, NULL);
} }
return ret; return ret;
@@ -2185,9 +2176,7 @@ static int isFileReadable(const char *path, u32 *sz)
static int retriveFromFile(const char *path, u8 *buf, u32 sz) static int retriveFromFile(const char *path, u8 *buf, u32 sz)
{ {
int ret = -1; int ret = -1;
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
mm_segment_t oldfs; mm_segment_t oldfs;
#endif
struct file *fp; struct file *fp;
if (path && buf) { if (path && buf) {
@@ -2195,14 +2184,10 @@ static int retriveFromFile(const char *path, u8 *buf, u32 sz)
if (0 == ret) { if (0 == ret) {
RTW_INFO("%s openFile path:%s fp=%p\n", __FUNCTION__, path , fp); RTW_INFO("%s openFile path:%s fp=%p\n", __FUNCTION__, path , fp);
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
oldfs = get_fs(); oldfs = get_fs();
set_fs(KERNEL_DS); set_fs(KERNEL_DS);
#endif
ret = readFile(fp, buf, sz); ret = readFile(fp, buf, sz);
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
set_fs(oldfs); set_fs(oldfs);
#endif
closeFile(fp); closeFile(fp);
RTW_INFO("%s readFile, ret:%d\n", __FUNCTION__, ret); RTW_INFO("%s readFile, ret:%d\n", __FUNCTION__, ret);
@@ -2226,9 +2211,7 @@ static int retriveFromFile(const char *path, u8 *buf, u32 sz)
static int storeToFile(const char *path, u8 *buf, u32 sz) static int storeToFile(const char *path, u8 *buf, u32 sz)
{ {
int ret = 0; int ret = 0;
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
mm_segment_t oldfs; mm_segment_t oldfs;
#endif
struct file *fp; struct file *fp;
if (path && buf) { if (path && buf) {
@@ -2236,14 +2219,10 @@ static int storeToFile(const char *path, u8 *buf, u32 sz)
if (0 == ret) { if (0 == ret) {
RTW_INFO("%s openFile path:%s fp=%p\n", __FUNCTION__, path , fp); RTW_INFO("%s openFile path:%s fp=%p\n", __FUNCTION__, path , fp);
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
oldfs = get_fs(); oldfs = get_fs();
set_fs(KERNEL_DS); set_fs(KERNEL_DS);
#endif
ret = writeFile(fp, buf, sz); ret = writeFile(fp, buf, sz);
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 10, 0))
set_fs(oldfs); set_fs(oldfs);
#endif
closeFile(fp); closeFile(fp);
RTW_INFO("%s writeFile, ret:%d\n", __FUNCTION__, ret); RTW_INFO("%s writeFile, ret:%d\n", __FUNCTION__, ret);
@@ -2345,12 +2324,6 @@ struct net_device *rtw_alloc_etherdev_with_old_priv(int sizeof_priv, void *old_p
if (!pnetdev) if (!pnetdev)
goto RETURN; goto RETURN;
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0))
pnetdev->min_mtu = WLAN_MIN_ETHFRM_LEN;
pnetdev->mtu = WLAN_MAX_ETHFRM_LEN;
pnetdev->max_mtu = WLAN_DATA_MAXLEN;
#endif
pnpi = netdev_priv(pnetdev); pnpi = netdev_priv(pnetdev);
pnpi->priv = old_priv; pnpi->priv = old_priv;
pnpi->sizeof_priv = sizeof_priv; pnpi->sizeof_priv = sizeof_priv;
@@ -2372,12 +2345,6 @@ struct net_device *rtw_alloc_etherdev(int sizeof_priv)
if (!pnetdev) if (!pnetdev)
goto RETURN; goto RETURN;
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0))
pnetdev->min_mtu = WLAN_MIN_ETHFRM_LEN;
pnetdev->mtu = WLAN_MAX_ETHFRM_LEN;
pnetdev->max_mtu = WLAN_DATA_MAXLEN;
#endif
pnpi = netdev_priv(pnetdev); pnpi = netdev_priv(pnetdev);
pnpi->priv = rtw_zvmalloc(sizeof_priv); pnpi->priv = rtw_zvmalloc(sizeof_priv);