From 5a5251b8ad8c3383c5a3443744fdc4d303d32539 Mon Sep 17 00:00:00 2001 From: Ivan Safonov Date: Sun, 10 Sep 2017 21:34:28 +0300 Subject: staging:r8192u: replace request_module with try_then_request_module Return value of request_module() does not handled, so it is possible to use shorter try_then_request_module(). Signed-off-by: Ivan Safonov Signed-off-by: Greg Kroah-Hartman --- .../staging/rtl8192u/ieee80211/ieee80211_softmac.c | 27 +++++++++++----------- drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c | 15 ++++-------- 2 files changed, 17 insertions(+), 25 deletions(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c index fe6f38b..4e79083 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_softmac.c @@ -2948,8 +2948,9 @@ static int ieee80211_wpa_set_encryption(struct ieee80211_device *ieee, struct ieee_param *param, int param_len) { int ret = 0; + const char *module = NULL; - struct ieee80211_crypto_ops *ops; + struct ieee80211_crypto_ops *ops = NULL; struct ieee80211_crypt_data **crypt; struct ieee80211_security sec = { @@ -2995,19 +2996,17 @@ static int ieee80211_wpa_set_encryption(struct ieee80211_device *ieee, strcmp(param->u.crypt.alg, "TKIP")) goto skip_host_crypt; - ops = ieee80211_get_crypto_ops(param->u.crypt.alg); - if (ops == NULL && strcmp(param->u.crypt.alg, "WEP") == 0) { - request_module("ieee80211_crypt_wep"); - ops = ieee80211_get_crypto_ops(param->u.crypt.alg); - //set WEP40 first, it will be modified according to WEP104 or WEP40 at other place - } else if (ops == NULL && strcmp(param->u.crypt.alg, "TKIP") == 0) { - request_module("ieee80211_crypt_tkip"); - ops = ieee80211_get_crypto_ops(param->u.crypt.alg); - } else if (ops == NULL && strcmp(param->u.crypt.alg, "CCMP") == 0) { - request_module("ieee80211_crypt_ccmp"); - ops = ieee80211_get_crypto_ops(param->u.crypt.alg); - } - if (ops == NULL) { + //set WEP40 first, it will be modified according to WEP104 or WEP40 at other place + if (!strcmp(param->u.crypt.alg, "WEP")) + module = "ieee80211_crypt_wep"; + else if (!strcmp(param->u.crypt.alg, "TKIP")) + module = "ieee80211_crypt_tkip"; + else if (!strcmp(param->u.crypt.alg, "CCMP")) + module = "ieee80211_crypt_ccmp"; + if (module) + ops = try_then_request_module(ieee80211_get_crypto_ops(param->u.crypt.alg), + module); + if (!ops) { printk("unknown crypto alg '%s'\n", param->u.crypt.alg); param->u.crypt.err = IEEE_CRYPT_ERR_UNKNOWN_ALG; ret = -EINVAL; diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c index c925e53..f2fcdec 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_wx.c @@ -364,11 +364,8 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee, GFP_KERNEL); if (!new_crypt) return -ENOMEM; - new_crypt->ops = ieee80211_get_crypto_ops("WEP"); - if (!new_crypt->ops) { - request_module("ieee80211_crypt_wep"); - new_crypt->ops = ieee80211_get_crypto_ops("WEP"); - } + new_crypt->ops = try_then_request_module(ieee80211_get_crypto_ops("WEP"), + "ieee80211_crypt_wep"); if (new_crypt->ops && try_module_get(new_crypt->ops->owner)) new_crypt->priv = new_crypt->ops->init(key); @@ -591,12 +588,8 @@ int ieee80211_wx_set_encode_ext(struct ieee80211_device *ieee, } printk("alg name:%s\n",alg); - ops = ieee80211_get_crypto_ops(alg); - if (ops == NULL) { - request_module(module); - ops = ieee80211_get_crypto_ops(alg); - } - if (ops == NULL) { + ops = try_then_request_module(ieee80211_get_crypto_ops(alg), module); + if (!ops) { IEEE80211_DEBUG_WX("%s: unknown crypto alg %d\n", dev->name, ext->alg); printk("========>unknown crypto alg %d\n", ext->alg); -- cgit v1.1 From 18e748814926b3f0518d9797094cfbab94237c13 Mon Sep 17 00:00:00 2001 From: Aastha Gupta Date: Sat, 16 Sep 2017 16:30:44 +0530 Subject: staging: rtl8192u: fix spaces around algebric and binary operators Fixes prefer spaces around '+', '_', '?', '&', '==', '!=', '|', '&&', '=' as reported by checkpatch.pl. Signed-off-by: Aastha Gupta Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/ieee80211/ieee80211.h | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h index b062cad..6ea104f 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h @@ -412,12 +412,12 @@ typedef struct ieee_param { #define IEEE80211_QCTL_TID 0x000F #define FC_QOS_BIT BIT(7) -#define IsDataFrame(pdu) ( ((pdu[0] & 0x0C)==0x08) ? true : false ) -#define IsLegacyDataFrame(pdu) (IsDataFrame(pdu) && (!(pdu[0]&FC_QOS_BIT)) ) +#define IsDataFrame(pdu) ( ((pdu[0] & 0x0C) == 0x08) ? true : false ) +#define IsLegacyDataFrame(pdu) (IsDataFrame(pdu) && (!(pdu[0] & FC_QOS_BIT)) ) //added by wb. Is this right? -#define IsQoSDataFrame(pframe) ((*(u16 *)pframe&(IEEE80211_STYPE_QOS_DATA|IEEE80211_FTYPE_DATA)) == (IEEE80211_STYPE_QOS_DATA|IEEE80211_FTYPE_DATA)) -#define Frame_Order(pframe) (*(u16 *)pframe&IEEE80211_FCTL_ORDER) -#define SN_LESS(a, b) (((a-b)&0x800)!=0) +#define IsQoSDataFrame(pframe) ((*(u16 *)pframe & (IEEE80211_STYPE_QOS_DATA | IEEE80211_FTYPE_DATA)) == (IEEE80211_STYPE_QOS_DATA | IEEE80211_FTYPE_DATA)) +#define Frame_Order(pframe) (*(u16 *)pframe & IEEE80211_FCTL_ORDER) +#define SN_LESS(a, b) (((a - b) & 0x800) != 0) #define SN_EQUAL(a, b) (a == b) #define MAX_DEV_ADDR_SIZE 8 typedef enum _ACT_CATEGORY{ @@ -442,7 +442,7 @@ typedef enum _BA_ACTION{ } BA_ACTION, *PBA_ACTION; typedef enum _InitialGainOpType{ - IG_Backup=0, + IG_Backup = 0, IG_Restore, IG_Max }InitialGainOpType; @@ -462,10 +462,10 @@ do { if (ieee80211_debug_level & (level)) \ int i; \ u8 *pdata = (u8 *) data; \ printk(KERN_DEBUG "ieee80211: %s()\n", __func__); \ - for(i=0; i<(int)(datalen); i++) \ + for(i = 0; i < (int)(datalen); i++) \ { \ printk("%2x ", pdata[i]); \ - if ((i+1)%16 == 0) printk("\n"); \ + if ((i + 1) % 16 == 0) printk("\n"); \ } \ printk("\n"); \ } \ @@ -876,9 +876,9 @@ enum ieee80211_mfie { MFIE_TYPE_ERP = 42, MFIE_TYPE_RSN = 48, MFIE_TYPE_RATES_EX = 50, - MFIE_TYPE_HT_CAP= 45, - MFIE_TYPE_HT_INFO= 61, - MFIE_TYPE_AIRONET=133, + MFIE_TYPE_HT_CAP = 45, + MFIE_TYPE_HT_INFO = 61, + MFIE_TYPE_AIRONET = 133, MFIE_TYPE_GENERIC = 221, MFIE_TYPE_QOS_PARAMETER = 222, }; @@ -1196,7 +1196,7 @@ static inline u8 Frame_QoSTID(u8 *buf) u16 fc; hdr = (struct rtl_80211_hdr_3addr *)buf; fc = le16_to_cpu(hdr->frame_ctl); - return (u8)((frameqos *)(buf + (((fc & IEEE80211_FCTL_TODS)&&(fc & IEEE80211_FCTL_FROMDS))? 30 : 24)))->field.tid; + return (u8)((frameqos *)(buf + (((fc & IEEE80211_FCTL_TODS) && (fc & IEEE80211_FCTL_FROMDS)) ? 30 : 24)))->field.tid; } //added by amy for reorder @@ -2023,7 +2023,7 @@ struct ieee80211_device { #define IEEE_G (1<<2) #define IEEE_N_24G (1<<4) #define IEEE_N_5G (1<<5) -#define IEEE_MODE_MASK (IEEE_A|IEEE_B|IEEE_G) +#define IEEE_MODE_MASK (IEEE_A | IEEE_B | IEEE_G) /* Generate a 802.11 header */ -- cgit v1.1 From 91c50f0b3d4a42a2393681cf7c096709b416eecb Mon Sep 17 00:00:00 2001 From: Aastha Gupta Date: Sat, 16 Sep 2017 16:30:45 +0530 Subject: staging: rtl8192u: add space after '}' This patch fixes checkpatch.pl error: ERROR: space required after that close brace '}' Signed-off-by: Aastha Gupta Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/ieee80211/ieee80211.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h index 6ea104f..654c0f6 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h @@ -323,7 +323,7 @@ typedef struct ieee_param { u8 key[0]; } crypt; } u; -}ieee_param; +} ieee_param; // linux under 2.6.9 release may not support it, so modify it for common use @@ -445,7 +445,7 @@ typedef enum _InitialGainOpType{ IG_Backup = 0, IG_Restore, IG_Max -}InitialGainOpType; +} InitialGainOpType; /* debug macros */ #define CONFIG_IEEE80211_DEBUG @@ -1051,7 +1051,7 @@ typedef union _frameqos { u16 ack_policy:2; u16 reserved:1; u16 txop:8; - }field; + } field; } frameqos, *pframeqos; /* SWEEP TABLE ENTRIES NUMBER*/ @@ -1483,7 +1483,7 @@ typedef enum _Fsync_State{ Default_Fsync, HW_Fsync, SW_Fsync -}Fsync_State; +} Fsync_State; // Power save mode configured. typedef enum _RT_PS_MODE @@ -1491,25 +1491,25 @@ typedef enum _RT_PS_MODE eActive, // Active/Continuous access. eMaxPs, // Max power save mode. eFastPs // Fast power save mode. -}RT_PS_MODE; +} RT_PS_MODE; typedef enum _IPS_CALLBACK_FUNCION { IPS_CALLBACK_NONE = 0, IPS_CALLBACK_MGNT_LINK_REQUEST = 1, IPS_CALLBACK_JOIN_REQUEST = 2, -}IPS_CALLBACK_FUNCION; +} IPS_CALLBACK_FUNCION; typedef enum _RT_JOIN_ACTION{ RT_JOIN_INFRA = 1, RT_JOIN_IBSS = 2, RT_START_IBSS = 3, RT_NO_ACTION = 4, -}RT_JOIN_ACTION; +} RT_JOIN_ACTION; typedef struct _IbssParms{ u16 atimWin; -}IbssParms, *PIbssParms; +} IbssParms, *PIbssParms; #define MAX_NUM_RATES 264 // Max num of support rates element: 8, Max num of ext. support rate: 255. 061122, by rcnjko. // RF state. @@ -1517,7 +1517,7 @@ typedef enum _RT_RF_POWER_STATE { eRfOn, eRfSleep, eRfOff -}RT_RF_POWER_STATE; +} RT_RF_POWER_STATE; typedef struct _RT_POWER_SAVE_CONTROL { @@ -1585,7 +1585,7 @@ typedef enum COUNTRY_CODE_TELEC, COUNTRY_CODE_MIC, COUNTRY_CODE_GLOBAL_DOMAIN -}country_code_type_t; +} country_code_type_t; #define RT_MAX_LD_SLOT_NUM 10 typedef struct _RT_LINK_DETECT_T{ @@ -1601,7 +1601,7 @@ typedef struct _RT_LINK_DETECT_T{ u32 NumTxOkInPeriod; u32 NumRxOkInPeriod; bool bBusyTraffic; -}RT_LINK_DETECT_T, *PRT_LINK_DETECT_T; +} RT_LINK_DETECT_T, *PRT_LINK_DETECT_T; struct ieee80211_device { -- cgit v1.1 From 2de9311b9669b0e078e8979e19370eef21d3c579 Mon Sep 17 00:00:00 2001 From: Aastha Gupta Date: Sat, 16 Sep 2017 16:30:46 +0530 Subject: staging: rtl8192u: remove space after '(' ERROR: space prohibited after the open parenthesis '(' Signed-off-by: Aastha Gupta Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/ieee80211/ieee80211.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h index 654c0f6..3f040cc 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h @@ -412,7 +412,7 @@ typedef struct ieee_param { #define IEEE80211_QCTL_TID 0x000F #define FC_QOS_BIT BIT(7) -#define IsDataFrame(pdu) ( ((pdu[0] & 0x0C) == 0x08) ? true : false ) +#define IsDataFrame(pdu) (((pdu[0] & 0x0C) == 0x08) ? true : false ) #define IsLegacyDataFrame(pdu) (IsDataFrame(pdu) && (!(pdu[0] & FC_QOS_BIT)) ) //added by wb. Is this right? #define IsQoSDataFrame(pframe) ((*(u16 *)pframe & (IEEE80211_STYPE_QOS_DATA | IEEE80211_FTYPE_DATA)) == (IEEE80211_STYPE_QOS_DATA | IEEE80211_FTYPE_DATA)) -- cgit v1.1 From 88717504ad69ad90992fbbf7d075b5b9be8d95f7 Mon Sep 17 00:00:00 2001 From: Aastha Gupta Date: Sat, 16 Sep 2017 16:30:47 +0530 Subject: staging: rtl8192u: remove space before ')' Fixes checkpatch.pl error: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Aastha Gupta Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/ieee80211/ieee80211.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h index 3f040cc..61b384d 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h @@ -412,8 +412,8 @@ typedef struct ieee_param { #define IEEE80211_QCTL_TID 0x000F #define FC_QOS_BIT BIT(7) -#define IsDataFrame(pdu) (((pdu[0] & 0x0C) == 0x08) ? true : false ) -#define IsLegacyDataFrame(pdu) (IsDataFrame(pdu) && (!(pdu[0] & FC_QOS_BIT)) ) +#define IsDataFrame(pdu) (((pdu[0] & 0x0C) == 0x08) ? true : false) +#define IsLegacyDataFrame(pdu) (IsDataFrame(pdu) && (!(pdu[0] & FC_QOS_BIT))) //added by wb. Is this right? #define IsQoSDataFrame(pframe) ((*(u16 *)pframe & (IEEE80211_STYPE_QOS_DATA | IEEE80211_FTYPE_DATA)) == (IEEE80211_STYPE_QOS_DATA | IEEE80211_FTYPE_DATA)) #define Frame_Order(pframe) (*(u16 *)pframe & IEEE80211_FCTL_ORDER) -- cgit v1.1 From 8d14d9b771fcee2ee05152ef68f4b9c325ba25ba Mon Sep 17 00:00:00 2001 From: Aastha Gupta Date: Sat, 16 Sep 2017 16:30:48 +0530 Subject: staging: rtl8192u: add spaces after struct/enum definitions Fixes checkpatch.pl warnings: WARNING: missing space after enum definition WARNING: missing space after struct definition Signed-off-by: Aastha Gupta Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/ieee80211/ieee80211.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h index 61b384d..6d052cc 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h @@ -420,7 +420,7 @@ typedef struct ieee_param { #define SN_LESS(a, b) (((a - b) & 0x800) != 0) #define SN_EQUAL(a, b) (a == b) #define MAX_DEV_ADDR_SIZE 8 -typedef enum _ACT_CATEGORY{ +typedef enum _ACT_CATEGORY { ACT_CAT_QOS = 1, ACT_CAT_DLS = 2, ACT_CAT_BA = 3, @@ -428,20 +428,20 @@ typedef enum _ACT_CATEGORY{ ACT_CAT_WMM = 17, } ACT_CATEGORY, *PACT_CATEGORY; -typedef enum _TS_ACTION{ +typedef enum _TS_ACTION { ACT_ADDTSREQ = 0, ACT_ADDTSRSP = 1, ACT_DELTS = 2, ACT_SCHEDULE = 3, } TS_ACTION, *PTS_ACTION; -typedef enum _BA_ACTION{ +typedef enum _BA_ACTION { ACT_ADDBAREQ = 0, ACT_ADDBARSP = 1, ACT_DELBA = 2, } BA_ACTION, *PBA_ACTION; -typedef enum _InitialGainOpType{ +typedef enum _InitialGainOpType { IG_Backup = 0, IG_Restore, IG_Max @@ -1209,7 +1209,7 @@ struct eapol { u16 length; } __packed; -struct ieee80211_softmac_stats{ +struct ieee80211_softmac_stats { unsigned int rx_ass_ok; unsigned int rx_ass_err; unsigned int rx_probe_rq; @@ -1320,7 +1320,7 @@ struct ether_header { #define ETHERTYPE_IP 0x0800 /* IP protocol */ #endif -typedef enum _erp_t{ +typedef enum _erp_t { ERP_NonERPpresent = 0x01, ERP_UseProtection = 0x02, ERP_BarkerPreambleMode = 0x04, @@ -1479,7 +1479,7 @@ typedef struct _RX_REORDER_ENTRY { struct ieee80211_rxb *prxb; } RX_REORDER_ENTRY, *PRX_REORDER_ENTRY; //added by amy for order -typedef enum _Fsync_State{ +typedef enum _Fsync_State { Default_Fsync, HW_Fsync, SW_Fsync @@ -1500,14 +1500,14 @@ typedef enum _IPS_CALLBACK_FUNCION IPS_CALLBACK_JOIN_REQUEST = 2, } IPS_CALLBACK_FUNCION; -typedef enum _RT_JOIN_ACTION{ +typedef enum _RT_JOIN_ACTION { RT_JOIN_INFRA = 1, RT_JOIN_IBSS = 2, RT_START_IBSS = 3, RT_NO_ACTION = 4, } RT_JOIN_ACTION; -typedef struct _IbssParms{ +typedef struct _IbssParms { u16 atimWin; } IbssParms, *PIbssParms; #define MAX_NUM_RATES 264 // Max num of support rates element: 8, Max num of ext. support rate: 255. 061122, by rcnjko. @@ -1588,7 +1588,7 @@ typedef enum } country_code_type_t; #define RT_MAX_LD_SLOT_NUM 10 -typedef struct _RT_LINK_DETECT_T{ +typedef struct _RT_LINK_DETECT_T { u32 NumRecvBcnInPeriod; u32 NumRecvDataInPeriod; -- cgit v1.1 From 65d96ef922e7287400489ab9c3ffdeecd6b2c5c9 Mon Sep 17 00:00:00 2001 From: Aastha Gupta Date: Sat, 16 Sep 2017 16:30:49 +0530 Subject: staging: rtl8192u:add space before '(' and '{' Fixes checkpatch.pl errors: ERROR: space required before the open parenthesis '(' ERROR: space required before the open brace '{' Signed-off-by: Aastha Gupta Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/ieee80211/ieee80211.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h index 6d052cc..c88374b 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h @@ -457,12 +457,12 @@ do { if (ieee80211_debug_level & (level)) \ //wb added to debug out data buf //if you want print DATA buffer related BA, please set ieee80211_debug_level to DATA|BA #define IEEE80211_DEBUG_DATA(level, data, datalen) \ - do{ if ((ieee80211_debug_level & (level)) == (level)) \ + do { if ((ieee80211_debug_level & (level)) == (level)) \ { \ int i; \ u8 *pdata = (u8 *) data; \ printk(KERN_DEBUG "ieee80211: %s()\n", __func__); \ - for(i = 0; i < (int)(datalen); i++) \ + for (i = 0; i < (int)(datalen); i++) \ { \ printk("%2x ", pdata[i]); \ if ((i + 1) % 16 == 0) printk("\n"); \ @@ -471,8 +471,8 @@ do { if (ieee80211_debug_level & (level)) \ } \ } while (0) #else -#define IEEE80211_DEBUG(level, fmt, args...) do {} while (0) -#define IEEE80211_DEBUG_DATA(level, data, datalen) do {} while(0) +#define IEEE80211_DEBUG (level, fmt, args...) do {} while (0) +#define IEEE80211_DEBUG_DATA (level, data, datalen) do {} while(0) #endif /* CONFIG_IEEE80211_DEBUG */ /* debug macros not dependent on CONFIG_IEEE80211_DEBUG */ @@ -2112,7 +2112,7 @@ static inline int ieee80211_get_hdrlen(u16 fc) case IEEE80211_FTYPE_DATA: if ((fc & IEEE80211_FCTL_FROMDS) && (fc & IEEE80211_FCTL_TODS)) hdrlen = IEEE80211_4ADDR_LEN; /* Addr4 */ - if(IEEE80211_QOS_HAS_SEQ(fc)) + if (IEEE80211_QOS_HAS_SEQ(fc)) hdrlen += 2; /* QOS ctrl*/ break; case IEEE80211_FTYPE_CTL: -- cgit v1.1 From 448c16cb146138596dcd16911a5749b4e5c84854 Mon Sep 17 00:00:00 2001 From: Aastha Gupta Date: Sat, 16 Sep 2017 16:30:50 +0530 Subject: staging: rtl8192u: fix '{' following enum go on the same line Fixes checkpatch.pl error: ERROR: open brace '{' following enum go on the same line Signed-off-by: Aastha Gupta Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/ieee80211/ieee80211.h | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h index c88374b..6bea643 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h @@ -1486,15 +1486,13 @@ typedef enum _Fsync_State { } Fsync_State; // Power save mode configured. -typedef enum _RT_PS_MODE -{ +typedef enum _RT_PS_MODE { eActive, // Active/Continuous access. eMaxPs, // Max power save mode. eFastPs // Fast power save mode. } RT_PS_MODE; -typedef enum _IPS_CALLBACK_FUNCION -{ +typedef enum _IPS_CALLBACK_FUNCION { IPS_CALLBACK_NONE = 0, IPS_CALLBACK_MGNT_LINK_REQUEST = 1, IPS_CALLBACK_JOIN_REQUEST = 2, @@ -1572,8 +1570,7 @@ typedef u32 RT_RF_CHANGE_SOURCE; #define RF_CHANGE_BY_IPS BIT(28) #define RF_CHANGE_BY_INIT 0 // Do not change the RFOff reason. Defined by Bruce, 2008-01-17. -typedef enum -{ +typedef enum { COUNTRY_CODE_FCC = 0, COUNTRY_CODE_IC = 1, COUNTRY_CODE_ETSI = 2, -- cgit v1.1 From 2019eed679cc29b9819438957dc6315871ae0441 Mon Sep 17 00:00:00 2001 From: Aastha Gupta Date: Sat, 16 Sep 2017 16:30:51 +0530 Subject: staging: rtl8192u: remove space function pointer arguments Fixes checkpatch.pl warning: WARNING: Unnecessary space before function pointer arguments Signed-off-by: Aastha Gupta Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/ieee80211/ieee80211.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h index 6bea643..7cdcb75 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h @@ -1914,11 +1914,11 @@ struct ieee80211_device { struct net_device *dev); int (*reset_port)(struct net_device *dev); - int (*is_queue_full) (struct net_device *dev, int pri); + int (*is_queue_full)(struct net_device *dev, int pri); - int (*handle_management) (struct net_device *dev, + int (*handle_management)(struct net_device *dev, struct ieee80211_network *network, u16 type); - int (*is_qos_active) (struct net_device *dev, struct sk_buff *skb); + int (*is_qos_active)(struct net_device *dev, struct sk_buff *skb); /* Softmac-generated frames (management) are TXed via this * callback if the flag IEEE_SOFTMAC_SINGLE_QUEUE is @@ -1986,16 +1986,16 @@ struct ieee80211_device { * stop_send_bacons is NOT guaranteed to be called only * after start_send_beacons. */ - void (*start_send_beacons) (struct net_device *dev,u16 tx_rate); - void (*stop_send_beacons) (struct net_device *dev); + void (*start_send_beacons)(struct net_device *dev,u16 tx_rate); + void (*stop_send_beacons)(struct net_device *dev); /* power save mode related */ - void (*sta_wake_up) (struct net_device *dev); - void (*ps_request_tx_ack) (struct net_device *dev); - void (*enter_sleep_state) (struct net_device *dev, u32 th, u32 tl); - short (*ps_is_queue_empty) (struct net_device *dev); - int (*handle_beacon) (struct net_device *dev, struct ieee80211_beacon *beacon, struct ieee80211_network *network); - int (*handle_assoc_response) (struct net_device *dev, struct ieee80211_assoc_response_frame *resp, struct ieee80211_network *network); + void (*sta_wake_up)(struct net_device *dev); + void (*ps_request_tx_ack)(struct net_device *dev); + void (*enter_sleep_state)(struct net_device *dev, u32 th, u32 tl); + short (*ps_is_queue_empty)(struct net_device *dev); + int (*handle_beacon)(struct net_device *dev, struct ieee80211_beacon *beacon, struct ieee80211_network *network); + int (*handle_assoc_response)(struct net_device *dev, struct ieee80211_assoc_response_frame *resp, struct ieee80211_network *network); /* check whether Tx hw resource available */ -- cgit v1.1 From b742793a80ffbec745f31060a0d7b5f9bef5f474 Mon Sep 17 00:00:00 2001 From: Aastha Gupta Date: Sat, 16 Sep 2017 16:30:52 +0530 Subject: staging: rtl8192u: add space after ',' Fixes 'space required after ','', reported by checkpatch.pl Signed-off-by: Aastha Gupta Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/ieee80211/ieee80211.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h index 7cdcb75..f19aaeb 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h @@ -1986,7 +1986,7 @@ struct ieee80211_device { * stop_send_bacons is NOT guaranteed to be called only * after start_send_beacons. */ - void (*start_send_beacons)(struct net_device *dev,u16 tx_rate); + void (*start_send_beacons)(struct net_device *dev, u16 tx_rate); void (*stop_send_beacons)(struct net_device *dev); /* power save mode related */ -- cgit v1.1 From 213caebc19fffa7ccbc904512f254777e5f860f3 Mon Sep 17 00:00:00 2001 From: Aastha Gupta Date: Sat, 16 Sep 2017 16:30:53 +0530 Subject: staging: rtl8192u: remove space before semicolon Fixex checkpatch.pl warning: WARNING: space prohibited before semicolon Signed-off-by: Aastha Gupta Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/ieee80211/ieee80211.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h index f19aaeb..816c496 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h @@ -2376,7 +2376,7 @@ void HTUpdateSelfAndPeerSetting(struct ieee80211_device *ieee, u8 HTGetHighestMCSRate(struct ieee80211_device *ieee, u8 *pMCSRateSet, u8 *pMCSFilter); extern u8 MCS_FILTER_ALL[]; -extern u16 MCS_DATA_RATE[2][2][77] ; +extern u16 MCS_DATA_RATE[2][2][77]; u8 HTCCheck(struct ieee80211_device *ieee, u8 *pFrame); //extern void HTSetConnectBwModeCallback(unsigned long data); void HTResetIOTSetting(PRT_HIGH_THROUGHPUT pHTInfo); -- cgit v1.1 From 234cc12904e3dd5192c7a7ec533e4d64159cb22a Mon Sep 17 00:00:00 2001 From: Aastha Gupta Date: Sat, 16 Sep 2017 16:30:54 +0530 Subject: staging: rtl819u: move '{' to next line Fixes checkpatch.pl error: ERROR: open brace '{' following function declarations go on the next line Signed-off-by: Aastha Gupta Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/ieee80211/ieee80211.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h index 816c496..3f43441 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h @@ -2423,7 +2423,8 @@ static inline int ieee80211_get_scans(struct ieee80211_device *ieee) return ieee->scans; } -static inline const char *escape_essid(const char *essid, u8 essid_len) { +static inline const char *escape_essid(const char *essid, u8 essid_len) +{ static char escaped[IW_ESSID_MAX_SIZE * 2 + 1]; if (ieee80211_is_empty_essid(essid, essid_len)) { -- cgit v1.1 From 008987e5fa8d8a10a1120867fcecd0f574d5c471 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 18 Sep 2017 12:15:09 +0200 Subject: staging: rtl8192u: remove unneeded SN_LESS macro It's already in a .h file, don't redefine it as the compiler doesn't like it if it does not match identically. Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/ieee80211/ieee80211_tx.c | 1 - 1 file changed, 1 deletion(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_tx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_tx.c index f58971a..9a1a845 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_tx.c +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_tx.c @@ -302,7 +302,6 @@ ieee80211_classify(struct sk_buff *skb, struct ieee80211_network *network) } } -#define SN_LESS(a, b) (((a-b)&0x800)!=0) static void ieee80211_tx_query_agg_cap(struct ieee80211_device *ieee, struct sk_buff *skb, struct cb_desc *tcb_desc) { -- cgit v1.1 From eb05448d08f408fcb1fec4c9f85cda17ddbc2e43 Mon Sep 17 00:00:00 2001 From: Georgiana Chelu Date: Tue, 19 Sep 2017 22:54:06 +0300 Subject: Staging: rtl8192u: ieee80211: Use netdev_info instead of printk Replace printk with netdev_info because struct ieee80211_device contains a net_device structure. Issue found by checkpatch.pl script. WARNING: Prefer [subsystem eg: netdev]_info([subsystem]dev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO ... Signed-off-by: Georgiana Chelu Acked-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/ieee80211/rtl819x_BAProc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/ieee80211/rtl819x_BAProc.c b/drivers/staging/rtl8192u/ieee80211/rtl819x_BAProc.c index 8aa38dc..0f86195 100644 --- a/drivers/staging/rtl8192u/ieee80211/rtl819x_BAProc.c +++ b/drivers/staging/rtl8192u/ieee80211/rtl819x_BAProc.c @@ -143,7 +143,7 @@ static struct sk_buff *ieee80211_ADDBA(struct ieee80211_device *ieee, u8 *Dst, P if (ACT_ADDBARSP == type) { // Status Code - printk(KERN_INFO "=====>to send ADDBARSP\n"); + netdev_info(ieee->dev, "=====>to send ADDBARSP\n"); put_unaligned_le16(StatusCode, tag); tag += 2; @@ -345,7 +345,7 @@ int ieee80211_rx_ADDBAReq(struct ieee80211_device *ieee, struct sk_buff *skb) pBaTimeoutVal = (u16 *)(tag + 5); pBaStartSeqCtrl = (PSEQUENCE_CONTROL)(req + 7); - printk(KERN_INFO "====================>rx ADDBAREQ from :%pM\n", dst); + netdev_info(ieee->dev, "====================>rx ADDBAREQ from :%pM\n", dst); //some other capability is not ready now. if ((ieee->current_network.qos_data.active == 0) || (!ieee->pHTInfo->bCurrentHTSupport)) //|| -- cgit v1.1 From 4af8dd1e31ec4df5d738d2a51c9df338f1a64bda Mon Sep 17 00:00:00 2001 From: Bhumika Goyal Date: Sat, 30 Sep 2017 21:56:35 +0530 Subject: staging: rtl8192u: make r8192_wx_handlers_def structure const Make this const as it is only stored in a const field of a pci_dev structure. Make the declaration in the header const too. Structure found using Coccinelle and changes done by hand. Signed-off-by: Bhumika Goyal Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/r8192U_wx.c | 2 +- drivers/staging/rtl8192u/r8192U_wx.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/r8192U_wx.c b/drivers/staging/rtl8192u/r8192U_wx.c index a954538..e4e6c97 100644 --- a/drivers/staging/rtl8192u/r8192U_wx.c +++ b/drivers/staging/rtl8192u/r8192U_wx.c @@ -964,7 +964,7 @@ struct iw_statistics *r8192_get_wireless_stats(struct net_device *dev) return wstats; } -struct iw_handler_def r8192_wx_handlers_def = { +const struct iw_handler_def r8192_wx_handlers_def = { .standard = r8192_wx_handlers, .num_standard = ARRAY_SIZE(r8192_wx_handlers), .private = r8192_private_handler, diff --git a/drivers/staging/rtl8192u/r8192U_wx.h b/drivers/staging/rtl8192u/r8192U_wx.h index fb5f808..a6c2b95 100644 --- a/drivers/staging/rtl8192u/r8192U_wx.h +++ b/drivers/staging/rtl8192u/r8192U_wx.h @@ -17,7 +17,7 @@ #ifndef R8180_WX_H #define R8180_WX_H -extern struct iw_handler_def r8192_wx_handlers_def; +extern const struct iw_handler_def r8192_wx_handlers_def; /* Enable the rtl819x_core.c to share this function, david 2008.9.22 */ struct iw_statistics *r8192_get_wireless_stats(struct net_device *dev); -- cgit v1.1 From 5fef87cbbf422e0f6792ac9c8536fd6aa795f1f4 Mon Sep 17 00:00:00 2001 From: Christophe JAILLET Date: Fri, 22 Sep 2017 21:35:53 +0200 Subject: staging: rtl8192u: Check some memory allocation failure If one of these memory allocations fail, a NULL pointer dereference will occur later on. Return -ENOMEM instead. There is no need to free the resources already allocated, this is done by the caller (i.e. 'rtl8192_usb_probe()') which calls 'rtl8192_usb_deleteendpoints()'. The calling graph is: rtl8192_usb_probe --> rtl8192_init --> rtl8192_usb_initendpoints Signed-off-by: Christophe JAILLET Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/r8192U_core.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/r8192U_core.c b/drivers/staging/rtl8192u/r8192U_core.c index 46b3f19..48b7fd0 100644 --- a/drivers/staging/rtl8192u/r8192U_core.c +++ b/drivers/staging/rtl8192u/r8192U_core.c @@ -1687,9 +1687,13 @@ static short rtl8192_usb_initendpoints(struct net_device *dev) #ifndef JACKSON_NEW_RX for (i = 0; i < (MAX_RX_URB + 1); i++) { priv->rx_urb[i] = usb_alloc_urb(0, GFP_KERNEL); + if (!priv->rx_urb[i]) + return -ENOMEM; priv->rx_urb[i]->transfer_buffer = kmalloc(RX_URB_SIZE, GFP_KERNEL); + if (!priv->rx_urb[i]->transfer_buffer) + return -ENOMEM; priv->rx_urb[i]->transfer_buffer_length = RX_URB_SIZE; } -- cgit v1.1 From 6e6c6dee6a49cedf5e758465fea33a104f1bb279 Mon Sep 17 00:00:00 2001 From: Christophe JAILLET Date: Fri, 22 Sep 2017 22:06:50 +0200 Subject: staging: rtl8192u: Fix some error handling path If 'rtl8192_usb_initendpoints()' fails, it may have allocated some resources that need to be freed. The corresponding is propagated up to 'rtl8192_usb_prob()'. So, in this function if an error code is returned by 'rtl8192_init()' we should call 'rtl8192_usb_deleteendpoints()'. Some error handling code is also duplicated in 'rtl8192_init()' and in 'rtl8192_usb_prob()'. This looks harmless because the freed pointers are set to NULL but it looks confusing. Fix all that by just moving the 'fail' label and removing duplicated error handling code from 'rtl8192_ini()'. All this resources freeing will be handled by 'rtl8192_usb_prob()' directly. The calling graph is: rtl8192_usb_probe --> rtl8192_init --> rtl8192_usb_initendpoints Signed-off-by: Christophe JAILLET Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/r8192U_core.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/r8192U_core.c b/drivers/staging/rtl8192u/r8192U_core.c index 48b7fd0..8701ce2 100644 --- a/drivers/staging/rtl8192u/r8192U_core.c +++ b/drivers/staging/rtl8192u/r8192U_core.c @@ -2694,9 +2694,6 @@ static short rtl8192_init(struct net_device *dev) err = rtl8192_read_eeprom_info(dev); if (err) { DMESG("Reading EEPROM info failed"); - kfree(priv->pFirmware); - priv->pFirmware = NULL; - free_ieee80211(dev); return err; } rtl8192_get_channel_map(dev); @@ -4998,11 +4995,11 @@ static int rtl8192_usb_probe(struct usb_interface *intf, fail2: rtl8192_down(dev); +fail: kfree(priv->pFirmware); priv->pFirmware = NULL; rtl8192_usb_deleteendpoints(dev); mdelay(10); -fail: free_ieee80211(dev); RT_TRACE(COMP_ERR, "wlan driver load failed\n"); -- cgit v1.1 From d2e5af14fc8e70e76a0dfbb91d910ef74bb0eead Mon Sep 17 00:00:00 2001 From: Kees Cook Date: Mon, 16 Oct 2017 16:24:46 -0700 Subject: staging: rtl8192u: Convert timers to use timer_setup() In preparation for unconditionally passing the struct timer_list pointer to all timer callbacks, switch to using the new timer_setup() and from_timer() to pass the timer pointer explicitly. Cc: Greg Kroah-Hartman Cc: Derek Robson Cc: simran singhal Cc: Riccardo Marotti Cc: Fabrizio Perria Cc: Arnd Bergmann Cc: Baoyou Xie Cc: Tuomo Rinne Cc: Colin Ian King Cc: devel@driverdev.osuosl.org Signed-off-by: Kees Cook Signed-off-by: Greg Kroah-Hartman --- drivers/staging/rtl8192u/ieee80211/ieee80211.h | 6 +-- .../staging/rtl8192u/ieee80211/ieee80211_crypt.c | 4 +- .../staging/rtl8192u/ieee80211/ieee80211_crypt.h | 2 +- .../staging/rtl8192u/ieee80211/ieee80211_module.c | 4 +- .../staging/rtl8192u/ieee80211/rtl819x_BAProc.c | 12 +++--- .../staging/rtl8192u/ieee80211/rtl819x_TSProc.c | 46 +++++++++++----------- drivers/staging/rtl8192u/r8192U_core.c | 11 +++--- drivers/staging/rtl8192u/r8192U_dm.c | 9 ++--- drivers/staging/rtl8192u/r8192U_dm.h | 2 +- 9 files changed, 46 insertions(+), 50 deletions(-) (limited to 'drivers/staging/rtl8192u') diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h b/drivers/staging/rtl8192u/ieee80211/ieee80211.h index 3f43441..3addaa6 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h @@ -2392,9 +2392,9 @@ void TsInitAddBA(struct ieee80211_device *ieee, PTX_TS_RECORD pTS, u8 Policy, u8 bOverwritePending); void TsInitDelBA(struct ieee80211_device *ieee, PTS_COMMON_INFO pTsCommonInfo, TR_SELECT TxRxSelect); -void BaSetupTimeOut(unsigned long data); -void TxBaInactTimeout(unsigned long data); -void RxBaInactTimeout(unsigned long data); +void BaSetupTimeOut(struct timer_list *t); +void TxBaInactTimeout(struct timer_list *t); +void RxBaInactTimeout(struct timer_list *t); void ResetBaEntry(PBA_RECORD pBA); //function in TS.c bool GetTs( diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c index 48e80be..6f45781 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c @@ -57,9 +57,9 @@ void ieee80211_crypt_deinit_entries(struct ieee80211_device *ieee, } } -void ieee80211_crypt_deinit_handler(unsigned long data) +void ieee80211_crypt_deinit_handler(struct timer_list *t) { - struct ieee80211_device *ieee = (struct ieee80211_device *)data; + struct ieee80211_device *ieee = from_timer(ieee, t, crypt_deinit_timer); unsigned long flags; spin_lock_irqsave(&ieee->lock, flags); diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.h b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.h index a0aa0f5..1f2aea7 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.h +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.h @@ -83,7 +83,7 @@ int ieee80211_register_crypto_ops(struct ieee80211_crypto_ops *ops); int ieee80211_unregister_crypto_ops(struct ieee80211_crypto_ops *ops); struct ieee80211_crypto_ops *ieee80211_get_crypto_ops(const char *name); void ieee80211_crypt_deinit_entries(struct ieee80211_device *ieee, int force); -void ieee80211_crypt_deinit_handler(unsigned long data); +void ieee80211_crypt_deinit_handler(struct timer_list *t); void ieee80211_crypt_delayed_deinit(struct ieee80211_device *ieee, struct ieee80211_crypt_data **crypt); diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c index 8f236b3..90a097f 100644 --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_module.c @@ -133,8 +133,8 @@ struct net_device *alloc_ieee80211(int sizeof_priv) ieee->ieee802_1x = 1; /* Default to supporting 802.1x */ INIT_LIST_HEAD(&ieee->crypt_deinit_list); - setup_timer(&ieee->crypt_deinit_timer, - ieee80211_crypt_deinit_handler, (unsigned long)ieee); + timer_setup(&ieee->crypt_deinit_timer, ieee80211_crypt_deinit_handler, + 0); spin_lock_init(&ieee->lock); spin_lock_init(&ieee->wpax_suitlist_lock); diff --git a/drivers/staging/rtl8192u/ieee80211/rtl819x_BAProc.c b/drivers/staging/rtl8192u/ieee80211/rtl819x_BAProc.c index 0f86195..4ef7d4e 100644 --- a/drivers/staging/rtl8192u/ieee80211/rtl819x_BAProc.c +++ b/drivers/staging/rtl8192u/ieee80211/rtl819x_BAProc.c @@ -672,18 +672,18 @@ TsInitDelBA( struct ieee80211_device *ieee, PTS_COMMON_INFO pTsCommonInfo, TR_SE * return: NULL * notice: ********************************************************************************************************************/ -void BaSetupTimeOut(unsigned long data) +void BaSetupTimeOut(struct timer_list *t) { - PTX_TS_RECORD pTxTs = (PTX_TS_RECORD)data; + PTX_TS_RECORD pTxTs = from_timer(pTxTs, t, TxPendingBARecord.Timer); pTxTs->bAddBaReqInProgress = false; pTxTs->bAddBaReqDelayed = true; pTxTs->TxPendingBARecord.bValid = false; } -void TxBaInactTimeout(unsigned long data) +void TxBaInactTimeout(struct timer_list *t) { - PTX_TS_RECORD pTxTs = (PTX_TS_RECORD)data; + PTX_TS_RECORD pTxTs = from_timer(pTxTs, t, TxAdmittedBARecord.Timer); struct ieee80211_device *ieee = container_of(pTxTs, struct ieee80211_device, TxTsRecord[pTxTs->num]); TxTsDeleteBA(ieee, pTxTs); ieee80211_send_DELBA( @@ -694,9 +694,9 @@ void TxBaInactTimeout(unsigned long data) DELBA_REASON_TIMEOUT); } -void RxBaInactTimeout(unsigned long data) +void RxBaInactTimeout(struct timer_list *t) { - PRX_TS_RECORD pRxTs = (PRX_TS_RECORD)data; + PRX_TS_RECORD pRxTs = from_timer(pRxTs, t, RxAdmittedBARecord.Timer); struct ieee80211_device *ieee = container_of(pRxTs, struct ieee80211_device, RxTsRecord[pRxTs->num]); RxTsDeleteBA(ieee, pRxTs); diff --git a/drivers/staging/rtl8192u/ieee80211/rtl819x_TSProc.c b/drivers/staging/rtl8192u/ieee80211/rtl819x_TSProc.c index f98bb03..602be09 100644 --- a/drivers/staging/rtl8192u/ieee80211/rtl819x_TSProc.c +++ b/drivers/staging/rtl8192u/ieee80211/rtl819x_TSProc.c @@ -3,13 +3,13 @@ #include #include "rtl819x_TS.h" -static void TsSetupTimeOut(unsigned long data) +static void TsSetupTimeOut(struct timer_list *unused) { // Not implement yet // This is used for WMMSA and ACM , that would send ADDTSReq frame. } -static void TsInactTimeout(unsigned long data) +static void TsInactTimeout(struct timer_list *unused) { // Not implement yet // This is used for WMMSA and ACM. @@ -22,9 +22,9 @@ static void TsInactTimeout(unsigned long data) * return: NULL * notice: ********************************************************************************************************************/ -static void RxPktPendingTimeout(unsigned long data) +static void RxPktPendingTimeout(struct timer_list *t) { - PRX_TS_RECORD pRxTs = (PRX_TS_RECORD)data; + PRX_TS_RECORD pRxTs = from_timer(pRxTs, t, RxPktPendingTimer); struct ieee80211_device *ieee = container_of(pRxTs, struct ieee80211_device, RxTsRecord[pRxTs->num]); PRX_REORDER_ENTRY pReorderEntry = NULL; @@ -89,9 +89,9 @@ static void RxPktPendingTimeout(unsigned long data) * return: NULL * notice: ********************************************************************************************************************/ -static void TsAddBaProcess(unsigned long data) +static void TsAddBaProcess(struct timer_list *t) { - PTX_TS_RECORD pTxTs = (PTX_TS_RECORD)data; + PTX_TS_RECORD pTxTs = from_timer(pTxTs, t, TsAddBaTimer); u8 num = pTxTs->num; struct ieee80211_device *ieee = container_of(pTxTs, struct ieee80211_device, TxTsRecord[num]); @@ -145,16 +145,15 @@ void TSInitialize(struct ieee80211_device *ieee) pTxTS->num = count; // The timers for the operation of Traffic Stream and Block Ack. // DLS related timer will be add here in the future!! - setup_timer(&pTxTS->TsCommonInfo.SetupTimer, TsSetupTimeOut, - (unsigned long)pTxTS); - setup_timer(&pTxTS->TsCommonInfo.InactTimer, TsInactTimeout, - (unsigned long)pTxTS); - setup_timer(&pTxTS->TsAddBaTimer, TsAddBaProcess, - (unsigned long)pTxTS); - setup_timer(&pTxTS->TxPendingBARecord.Timer, BaSetupTimeOut, - (unsigned long)pTxTS); - setup_timer(&pTxTS->TxAdmittedBARecord.Timer, - TxBaInactTimeout, (unsigned long)pTxTS); + timer_setup(&pTxTS->TsCommonInfo.SetupTimer, TsSetupTimeOut, + 0); + timer_setup(&pTxTS->TsCommonInfo.InactTimer, TsInactTimeout, + 0); + timer_setup(&pTxTS->TsAddBaTimer, TsAddBaProcess, 0); + timer_setup(&pTxTS->TxPendingBARecord.Timer, BaSetupTimeOut, + 0); + timer_setup(&pTxTS->TxAdmittedBARecord.Timer, + TxBaInactTimeout, 0); ResetTxTsEntry(pTxTS); list_add_tail(&pTxTS->TsCommonInfo.List, &ieee->Tx_TS_Unused_List); pTxTS++; @@ -167,14 +166,13 @@ void TSInitialize(struct ieee80211_device *ieee) for(count = 0; count < TOTAL_TS_NUM; count++) { pRxTS->num = count; INIT_LIST_HEAD(&pRxTS->RxPendingPktList); - setup_timer(&pRxTS->TsCommonInfo.SetupTimer, TsSetupTimeOut, - (unsigned long)pRxTS); - setup_timer(&pRxTS->TsCommonInfo.InactTimer, TsInactTimeout, - (unsigned long)pRxTS); - setup_timer(&pRxTS->RxAdmittedBARecord.Timer, - RxBaInactTimeout, (unsigned long)pRxTS); - setup_timer(&pRxTS->RxPktPendingTimer, RxPktPendingTimeout, - (unsigned long)pRxTS); + timer_setup(&pRxTS->TsCommonInfo.SetupTimer, TsSetupTimeOut, + 0); + timer_setup(&pRxTS->TsCommonInfo.InactTimer, TsInactTimeout, + 0); + timer_setup(&pRxTS->RxAdmittedBARecord.Timer, + RxBaInactTimeout, 0); + timer_setup(&pRxTS->RxPktPendingTimer, RxPktPendingTimeout, 0); ResetRxTsEntry(pRxTS); list_add_tail(&pRxTS->TsCommonInfo.List, &ieee->Rx_TS_Unused_List); pRxTS++; diff --git a/drivers/staging/rtl8192u/r8192U_core.c b/drivers/staging/rtl8192u/r8192U_core.c index 8701ce2..09f66b3 100644 --- a/drivers/staging/rtl8192u/r8192U_core.c +++ b/drivers/staging/rtl8192u/r8192U_core.c @@ -497,7 +497,7 @@ inline void force_pci_posting(struct net_device *dev) static struct net_device_stats *rtl8192_stats(struct net_device *dev); static void rtl8192_restart(struct work_struct *work); -static void watch_dog_timer_callback(unsigned long data); +static void watch_dog_timer_callback(struct timer_list *t); /**************************************************************************** * -----------------------------PROCFS STUFF------------------------- @@ -2698,8 +2698,7 @@ static short rtl8192_init(struct net_device *dev) } rtl8192_get_channel_map(dev); init_hal_dm(dev); - setup_timer(&priv->watch_dog_timer, watch_dog_timer_callback, - (unsigned long)dev); + timer_setup(&priv->watch_dog_timer, watch_dog_timer_callback, 0); if (rtl8192_usb_initendpoints(dev) != 0) { DMESG("Endopoints initialization failed"); return -ENOMEM; @@ -3500,9 +3499,9 @@ static void rtl819x_watchdog_wqcallback(struct work_struct *work) RT_TRACE(COMP_TRACE, " <==RtUsbCheckForHangWorkItemCallback()\n"); } -static void watch_dog_timer_callback(unsigned long data) +static void watch_dog_timer_callback(struct timer_list *t) { - struct r8192_priv *priv = ieee80211_priv((struct net_device *)data); + struct r8192_priv *priv = from_timer(priv, t, watch_dog_timer); schedule_delayed_work(&priv->watch_dog_wq, 0); mod_timer(&priv->watch_dog_timer, @@ -3529,7 +3528,7 @@ static int _rtl8192_up(struct net_device *dev) if (priv->ieee80211->state != IEEE80211_LINKED) ieee80211_softmac_start_protocol(priv->ieee80211); ieee80211_reset_queue(priv->ieee80211); - watch_dog_timer_callback((unsigned long)dev); + watch_dog_timer_callback(&priv->watch_dog_timer); if (!netif_queue_stopped(dev)) netif_start_queue(dev); else diff --git a/drivers/staging/rtl8192u/r8192U_dm.c b/drivers/staging/rtl8192u/r8192U_dm.c index e6f8d1d..17e6501 100644 --- a/drivers/staging/rtl8192u/r8192U_dm.c +++ b/drivers/staging/rtl8192u/r8192U_dm.c @@ -2729,8 +2729,7 @@ static void dm_init_fsync(struct net_device *dev) priv->ieee80211->fsync_seconddiff_ratethreshold = 200; priv->ieee80211->fsync_state = Default_Fsync; priv->framesyncMonitor = 1; /* current default 0xc38 monitor on */ - setup_timer(&priv->fsync_timer, dm_fsync_timer_callback, - (unsigned long)dev); + timer_setup(&priv->fsync_timer, dm_fsync_timer_callback, 0); } static void dm_deInit_fsync(struct net_device *dev) @@ -2740,10 +2739,10 @@ static void dm_deInit_fsync(struct net_device *dev) del_timer_sync(&priv->fsync_timer); } -void dm_fsync_timer_callback(unsigned long data) +void dm_fsync_timer_callback(struct timer_list *t) { - struct net_device *dev = (struct net_device *)data; - struct r8192_priv *priv = ieee80211_priv((struct net_device *)data); + struct r8192_priv *priv = from_timer(priv, t, fsync_timer); + struct net_device *dev = priv->ieee80211->dev; u32 rate_index, rate_count = 0, rate_count_diff = 0; bool bSwitchFromCountDiff = false; bool bDoubleTimeInterval = false; diff --git a/drivers/staging/rtl8192u/r8192U_dm.h b/drivers/staging/rtl8192u/r8192U_dm.h index 2d0232f..b19b4e5 100644 --- a/drivers/staging/rtl8192u/r8192U_dm.h +++ b/drivers/staging/rtl8192u/r8192U_dm.h @@ -226,7 +226,7 @@ void dm_force_tx_fw_info(struct net_device *dev, void dm_init_edca_turbo(struct net_device *dev); void dm_rf_operation_test_callback(unsigned long data); void dm_rf_pathcheck_workitemcallback(struct work_struct *work); -void dm_fsync_timer_callback(unsigned long data); +void dm_fsync_timer_callback(struct timer_list *t); void dm_cck_txpower_adjust(struct net_device *dev, bool binch14); void dm_shadow_init(struct net_device *dev); void dm_initialize_txpower_tracking(struct net_device *dev); -- cgit v1.1