Skip to content

Commit

Permalink
rtl8192: Fixes for newer kernel versions
Browse files Browse the repository at this point in the history
  • Loading branch information
popcornmix committed Oct 17, 2018
1 parent 2a2fbe1 commit c79c10c
Show file tree
Hide file tree
Showing 22 changed files with 187 additions and 113 deletions.
23 changes: 5 additions & 18 deletions drivers/net/wireless/realtek/rtl8192cu/Makefile
@@ -1,37 +1,23 @@
EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS)
EXTRA_CFLAGS += -O1
#EXTRA_CFLAGS += -O3
EXTRA_CFLAGS += -Wall
EXTRA_CFLAGS += -Wextra
#EXTRA_CFLAGS += -Wall
#EXTRA_CFLAGS += -Wextra
#EXTRA_CFLAGS += -Werror
#EXTRA_CFLAGS += -pedantic
#EXTRA_CFLAGS += -Wshadow -Wpointer-arith -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes

# The "$(call cc-option,-Wxxx)" macro only includes that option when it's
# supported by the compiler used. It may only work on Debian systems.

# Wdate-time was added in gcc-4.9
EXTRA_CFLAGS += $(call cc-option,-Werror=date-time)
# Wincompatible-pointer-types was added in gcc-5.0
EXTRA_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)

EXTRA_CFLAGS += -Wno-unused-variable
EXTRA_CFLAGS += -Wno-unused-value
EXTRA_CFLAGS += -Wno-unused-label
EXTRA_CFLAGS += -Wno-unused-parameter
EXTRA_CFLAGS += -Wno-unused-function
EXTRA_CFLAGS += -Wno-unused

# Relax some warnings from '-Wextra' so we won't get flooded with warnings
EXTRA_CFLAGS += -Wno-sign-compare
EXTRA_CFLAGS += -Wno-missing-field-initializers

#EXTRA_CFLAGS += -Wno-uninitialized
EXTRA_CFLAGS += -Wno-uninitialized

EXTRA_CFLAGS += -I$(src)/include

EXTRA_LDFLAGS += --strip-debug

CONFIG_AUTOCFG_CP = n

CONFIG_RTL8192C = y
Expand Down Expand Up @@ -402,7 +388,7 @@ KSRC ?= /lib/modules/2.6.31-770-g0e46b52/source
endif

ifeq ($(CONFIG_PLATFORM_FS_MX61), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
ARCH := arm
CROSS_COMPILE := /home/share/CusEnv/FreeScale/arm-eabi-4.4.3/bin/arm-eabi-
KSRC ?= /home/share/CusEnv/FreeScale/FS_kernel_env
Expand Down Expand Up @@ -627,3 +613,4 @@ clean:
cd os_dep/linux ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
cd os_dep ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
endif

Empty file modified drivers/net/wireless/realtek/rtl8192cu/clean 100755 → 100644
Empty file.
4 changes: 2 additions & 2 deletions drivers/net/wireless/realtek/rtl8192cu/core/rtw_ioctl_set.c
Expand Up @@ -43,7 +43,7 @@ extern void indicate_wx_scan_complete_event(_adapter *padapter);
(addr[4] == 0xff) && (addr[5] == 0xff) ) ? _TRUE : _FALSE \
)

u8 rtw_validate_bssid(u8 *bssid)
u8 rtw_validate_bssid(const u8 *bssid)
{
u8 ret = _TRUE;

Expand Down Expand Up @@ -535,7 +535,7 @@ _func_exit_;

}

u8 rtw_set_802_11_connect(_adapter* padapter, u8 *bssid, NDIS_802_11_SSID *ssid)
u8 rtw_set_802_11_connect(_adapter *padapter, const u8 *bssid, NDIS_802_11_SSID *ssid)
{
_irqL irqL;
u8 status = _SUCCESS;
Expand Down
3 changes: 1 addition & 2 deletions drivers/net/wireless/realtek/rtl8192cu/core/rtw_mlme_ext.c
Expand Up @@ -733,10 +733,9 @@ void mgt_dispatcher(_adapter *padapter, union recv_frame *precv_frame)
case WIFI_AUTH:
if(check_fwstate(pmlmepriv, WIFI_AP_STATE) == _TRUE)
ptable->func = &OnAuth;
/* falls through */
else
ptable->func = &OnAuthClient;
/* falls through */
//pass through
case WIFI_ASSOCREQ:
case WIFI_REASSOCREQ:
_mgt_dispatcher(padapter, ptable, precv_frame);
Expand Down
12 changes: 12 additions & 0 deletions drivers/net/wireless/realtek/rtl8192cu/core/rtw_p2p.c
Expand Up @@ -3598,9 +3598,17 @@ _func_enter_;
_func_exit_;
}

#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
static void ro_ch_timer_process (void *FunctionContext)
#else
static void ro_ch_timer_process(struct timer_list *t)
#endif
{
#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
_adapter *adapter = (_adapter *)FunctionContext;
#else
_adapter *adapter = from_timer(adapter, t, cfg80211_wdinfo.remain_on_ch_timer);
#endif
struct rtw_wdev_priv *pwdev_priv = wdev_to_priv(adapter->rtw_wdev);

//printk("%s \n", __FUNCTION__);
Expand Down Expand Up @@ -4372,7 +4380,11 @@ void rtw_init_cfg80211_wifidirect_info( _adapter* padapter)

_rtw_memset(pcfg80211_wdinfo, 0x00, sizeof(struct cfg80211_wifidirect_info) );

#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
_init_timer( &pcfg80211_wdinfo->remain_on_ch_timer, padapter->pnetdev, ro_ch_timer_process, padapter );
#else
timer_setup(&pcfg80211_wdinfo->remain_on_ch_timer, ro_ch_timer_process, 0);
#endif
}
#endif //CONFIG_IOCTL_CFG80211

Expand Down
7 changes: 3 additions & 4 deletions drivers/net/wireless/realtek/rtl8192cu/core/rtw_recv.c
Expand Up @@ -3903,7 +3903,7 @@ int process_recv_indicatepkts(_adapter *padapter, union recv_frame *prframe)

}

int recv_func_prehandle(_adapter *padapter, union recv_frame *rframe)
static int recv_func_prehandle(_adapter *padapter, union recv_frame *rframe)
{
int ret = _SUCCESS;
struct rx_pkt_attrib *pattrib = &rframe->u.hdr.attrib;
Expand Down Expand Up @@ -3944,7 +3944,7 @@ int recv_func_prehandle(_adapter *padapter, union recv_frame *rframe)
return ret;
}

int recv_func_posthandle(_adapter *padapter, union recv_frame *prframe)
static int recv_func_posthandle(_adapter *padapter, union recv_frame *prframe)
{
int ret = _SUCCESS;
union recv_frame *orig_prframe = prframe;
Expand Down Expand Up @@ -4116,8 +4116,7 @@ int recv_func_posthandle(_adapter *padapter, union recv_frame *prframe)
}


int recv_func(_adapter *padapter, union recv_frame *rframe);
int recv_func(_adapter *padapter, union recv_frame *rframe)
static int recv_func(_adapter *padapter, union recv_frame *rframe)
{
int ret;
struct rx_pkt_attrib *prxattrib = &rframe->u.hdr.attrib;
Expand Down
10 changes: 5 additions & 5 deletions drivers/net/wireless/realtek/rtl8192cu/core/rtw_security.c
Expand Up @@ -1477,7 +1477,7 @@ _func_enter_;
bitwise_xor(aes_out, mic_header2, chain_buffer);
aes128k128d(key, chain_buffer, aes_out);

for (i = 0; i < num_blocks; i++)
for (i = 0; i < num_blocks; i++)
{
bitwise_xor(aes_out, &pframe[payload_index], chain_buffer);//bitwise_xor(aes_out, &message[payload_index], chain_buffer);

Expand All @@ -1504,8 +1504,8 @@ _func_enter_;
for (j = 0; j < 8; j++)
pframe[payload_index+j] = mic[j]; //message[payload_index+j] = mic[j];

payload_index = hdrlen + 8;
for (i=0; i< num_blocks; i++)
payload_index = hdrlen + 8;
for (i=0; i< num_blocks; i++)
{
construct_ctr_preload(
ctr_preload,
Expand Down Expand Up @@ -1878,8 +1878,8 @@ _func_enter_;
for (j = 0; j < 8; j++)
message[payload_index+j] = mic[j];

payload_index = hdrlen + 8;
for (i=0; i< num_blocks; i++)
payload_index = hdrlen + 8;
for (i=0; i< num_blocks; i++)
{
construct_ctr_preload(
ctr_preload,
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/wireless/realtek/rtl8192cu/core/rtw_sta_mgt.c
Expand Up @@ -685,7 +685,7 @@ _func_exit_;
}

/* any station allocated can be searched by hash list */
struct sta_info *rtw_get_stainfo(struct sta_priv *pstapriv, u8 *hwaddr)
struct sta_info *rtw_get_stainfo(struct sta_priv *pstapriv, const u8 *hwaddr)
{

_irqL irqL;
Expand All @@ -696,7 +696,7 @@ struct sta_info *rtw_get_stainfo(struct sta_priv *pstapriv, u8 *hwaddr)

u32 index;

u8 *addr;
const u8 *addr;

u8 bc_addr[ETH_ALEN] = {0xff,0xff,0xff,0xff,0xff,0xff};

Expand Down
Expand Up @@ -2363,7 +2363,6 @@ phy_TxPwrIdxToDbm(
case WIRELESS_MODE_G:
case WIRELESS_MODE_N_24G:
Offset = -8;
break;
default:
Offset = -8;
break;
Expand Down
Expand Up @@ -5692,7 +5692,6 @@ _func_enter_;
{
case HW_VAR_BASIC_RATE:
*((u16 *)(val)) = pHalData->BasicRateSet;
/* falls through */
case HW_VAR_TXPAUSE:
val[0] = rtw_read8(Adapter, REG_TXPAUSE);
break;
Expand Down
8 changes: 4 additions & 4 deletions drivers/net/wireless/realtek/rtl8192cu/include/autoconf.h
Expand Up @@ -31,10 +31,10 @@

#define PLATFORM_LINUX 1

//#define CONFIG_IOCTL_CFG80211 1
#define CONFIG_IOCTL_CFG80211 1
#ifdef CONFIG_IOCTL_CFG80211
//#define RTW_USE_CFG80211_STA_EVENT /* Indecate new sta asoc through cfg80211_new_sta */
#define CONFIG_CFG80211_FORCE_COMPATIBLE_2_6_37_UNDER
#define RTW_USE_CFG80211_STA_EVENT /* Indicate new sta asoc through cfg80211_new_sta */
//#define CONFIG_CFG80211_FORCE_COMPATIBLE_2_6_37_UNDER
//#define CONFIG_DEBUG_CFG80211 1
//#define CONFIG_DRV_ISSUE_PROV_REQ // IOT FOR S2
#define CONFIG_SET_SCAN_DENY_TIMER
Expand Down Expand Up @@ -324,7 +324,7 @@

//#define DBG_MEMORY_LEAK 1

#define DBG_CONFIG_ERROR_DETECT
//#define DBG_CONFIG_ERROR_DETECT
//#define DBG_CONFIG_ERROR_RESET

//TX use 1 urb
Expand Down
Expand Up @@ -149,8 +149,12 @@ bool rtw_cfg80211_pwr_mgmt(_adapter *adapter);
#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->pnetdev, freq, buf, len, gfp)
#elif (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->pnetdev, freq, sig_dbm, buf, len, gfp)
#else
#elif (LINUX_VERSION_CODE < KERNEL_VERSION(3,12,0))
#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->rtw_wdev, freq, sig_dbm, buf, len, gfp)
#elif (LINUX_VERSION_CODE < KERNEL_VERSION(3,18,0))
#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->rtw_wdev, freq, sig_dbm, buf, len, 0, gfp)
#else
#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->rtw_wdev, freq, sig_dbm, buf, len, 0)
#endif

#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)) && !defined(COMPAT_KERNEL_RELEASE)
Expand Down
Expand Up @@ -1401,8 +1401,8 @@ void _rtw_usb_buffer_free(struct usb_device *dev, size_t size, void *addr, dma_a
extern void* rtw_malloc2d(int h, int w, int size);
extern void rtw_mfree2d(void *pbuf, int h, int w, int size);

extern void _rtw_memcpy(void* dec, void* sour, u32 sz);
extern int _rtw_memcmp(void *dst, void *src, u32 sz);
extern void _rtw_memcpy(void *dec, const void *sour, u32 sz);
extern int _rtw_memcmp(const void *dst, const void *src, u32 sz);
extern void _rtw_memset(void *pbuf, int c, u32 sz);

extern void _rtw_init_listhead(_list *list);
Expand Down
Expand Up @@ -63,10 +63,10 @@ u8 rtw_set_802_11_bssid_list_scan(_adapter* padapter, NDIS_802_11_SSID *pssid, i
u8 rtw_set_802_11_infrastructure_mode(_adapter * padapter, NDIS_802_11_NETWORK_INFRASTRUCTURE networktype);
u8 rtw_set_802_11_remove_wep(_adapter * padapter, u32 keyindex);
u8 rtw_set_802_11_ssid(_adapter * padapter, NDIS_802_11_SSID * ssid);
u8 rtw_set_802_11_connect(_adapter* padapter, u8 *bssid, NDIS_802_11_SSID *ssid);
u8 rtw_set_802_11_connect(_adapter *padapter, const u8 *bssid, NDIS_802_11_SSID *ssid);
u8 rtw_set_802_11_remove_key(_adapter * padapter, NDIS_802_11_REMOVE_KEY * key);

u8 rtw_validate_bssid(u8 *bssid);
u8 rtw_validate_bssid(const u8 *bssid);
u8 rtw_validate_ssid(NDIS_802_11_SSID *ssid);

u16 rtw_get_cur_max_rate(_adapter *adapter);
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/wireless/realtek/rtl8192cu/include/sta_info.h
Expand Up @@ -395,7 +395,7 @@ struct sta_priv {
};


__inline static u32 wifi_mac_hash(u8 *mac)
__inline static u32 wifi_mac_hash(const u8 *mac)
{
u32 x;

Expand Down Expand Up @@ -423,7 +423,7 @@ struct sta_info *rtw_get_stainfo_by_offset(struct sta_priv *stapriv, int offset)
extern struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr);
extern u32 rtw_free_stainfo(_adapter *padapter , struct sta_info *psta);
extern void rtw_free_all_stainfo(_adapter *padapter);
extern struct sta_info *rtw_get_stainfo(struct sta_priv *pstapriv, u8 *hwaddr);
extern struct sta_info *rtw_get_stainfo(struct sta_priv *pstapriv, const u8 *hwaddr);
extern u32 rtw_init_bcmc_stainfo(_adapter* padapter);
extern struct sta_info* rtw_get_bcmc_stainfo(_adapter* padapter);
extern u8 rtw_access_ctrl(_adapter *padapter, u8 *mac_addr);
Expand Down
4 changes: 3 additions & 1 deletion drivers/net/wireless/realtek/rtl8192cu/include/wifi.h
Expand Up @@ -425,7 +425,7 @@ enum WIFI_REG_DOMAIN {
(addr[4] == 0xff) && (addr[5] == 0xff) ) ? _TRUE : _FALSE \
)

__inline static int IS_MCAST(unsigned char *da)
__inline static int IS_MCAST(const unsigned char *da)
{
if ((*da) & 0x01)
return _TRUE;
Expand Down Expand Up @@ -887,7 +887,9 @@ struct ADDBA_request
* According to IEEE802.11n spec size varies from 8K to 64K (in powers of 2)
*/
#define IEEE80211_MIN_AMPDU_BUF 0x8
#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,19,0))
#define IEEE80211_MAX_AMPDU_BUF 0x40
#endif


/* Spatial Multiplexing Power Save Modes */
Expand Down

0 comments on commit c79c10c

Please sign in to comment.