summaryrefslogtreecommitdiff
path: root/drivers/staging/rtl8192e/rtllib.h
AgeCommit message (Collapse)Author
2021-03-23staging: rtl8192e: Change state information from u16 to u8Atul Gopinathan
The "u16 CcxRmState[2];" array field in struct "rtllib_network" has 4 bytes in total while the operations performed on this array through-out the code base are only 2 bytes. The "CcxRmState" field is fed only 2 bytes of data using memcpy(): (In rtllib_rx.c:1972) memcpy(network->CcxRmState, &info_element->data[4], 2) With "info_element->data[]" being a u8 array, if 2 bytes are written into "CcxRmState" (whose one element is u16 size), then the 2 u8 elements from "data[]" gets squashed and written into the first element ("CcxRmState[0]") while the second element ("CcxRmState[1]") is never fed with any data. Same in file rtllib_rx.c:2522: memcpy(dst->CcxRmState, src->CcxRmState, 2); The above line duplicates "src" data to "dst" but only writes 2 bytes (and not 4, which is the actual size). Again, only 1st element gets the value while the 2nd element remains uninitialized. This later makes operations done with CcxRmState unpredictable in the following lines as the 1st element is having a squashed number while the 2nd element is having an uninitialized random number. rtllib_rx.c:1973: if (network->CcxRmState[0] != 0) rtllib_rx.c:1977: network->MBssidMask = network->CcxRmState[1] & 0x07; network->MBssidMask is also of type u8 and not u16. Fix this by changing the type of "CcxRmState" from u16 to u8 so that the data written into this array and read from it make sense and are not random values. NOTE: The wrong initialization of "CcxRmState" can be seen in the following commit: commit ecdfa44610fa ("Staging: add Realtek 8192 PCI wireless driver") The above commit created a file `rtl8192e/ieee80211.h` which used to have the faulty line. The file has been deleted (or possibly renamed) with the contents copied in to a new file `rtl8192e/rtllib.h` along with additional code in the commit 94a799425eee (tagged in Fixes). Fixes: 94a799425eee ("From: wlanfae <wlanfae@realtek.com> [PATCH 1/8] rtl8192e: Import new version of driver from realtek") Cc: stable@vger.kernel.org Signed-off-by: Atul Gopinathan <atulgopinathan@gmail.com> Link: https://lore.kernel.org/r/20210323113413.29179-2-atulgopinathan@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-02-23staging: Replace zero-length array with flexible-array memberGustavo A. R. Silva
The current codebase makes use of the zero-length array language extension to the C90 standard, but the preferred mechanism to declare variable-length types such as these ones is a flexible array member[1][2], introduced in C99: struct foo { int stuff; struct boo array[]; }; By making use of the mechanism above, we will get a compiler warning in case the flexible array does not occur last in the structure, which will help us prevent some kind of undefined behavior bugs from being inadvertently introduced[3] to the codebase from now on. Also, notice that, dynamic memory allocations won't be affected by this change: "Flexible array members have incomplete type, and so the sizeof operator may not be applied. As a quirk of the original implementation of zero-length arrays, sizeof evaluates to zero."[1] This issue was found with the help of Coccinelle. [1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html [2] https://github.com/KSPP/linux/issues/21 [3] commit 76497732932f ("cxgb3/l2t: Fix undefined behaviour") Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Link: https://lore.kernel.org/r/20200220132908.GA30501@embeddedor Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-09-05staging: rtl8192e: remove unnecessary blank lineBeatriz Martins de Carvalho
Fix checkpath error "CHECK: Blank lines aren't necessary after an open brace '{'" in rtllib.h:482. Signed-off-by: Beatriz Martins de Carvalho <martinsdecarvalhobeatriz@gmail.com> Link: https://lore.kernel.org/r/20190904210326.17983-1-martinsdecarvalhobeatriz@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-07-30Staging: rtl8192e: fixed a function prototype definition issueAbhinav Jain
Added the identifier name in the function prototype definition. Signed-off-by: Abhinav Jain <crazypsychild@gmail.com> Link: https://lore.kernel.org/r/20190726190146.10875-1-ubuntu@ip-172-31-129-142.ec2.internal Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-07-25staging: rtl8192*: display ESSIDs using %pEJ. Bruce Fields
Everywhere else in the kernel ESSIDs are printed using %pE, and I can't see why there should be an exception here. Signed-off-by: J. Bruce Fields <bfields@redhat.com> Link: https://lore.kernel.org/r/1562799574-13315-1-git-send-email-bfields@redhat.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-04-03staging: rtl8192e: add proper SPDX identifiers on files that did not have them.Greg Kroah-Hartman
There were a few files for the rtl8192e driver that did not have SPDX identifiers on them, so fix that up. At the same time, remove the "free form" text that specified the license of the file, as that is impossible for any tool to properly parse. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-02-07staging: rtl8192e: rename members of struct rtllib_device - styleHimadri Pandya
Rename following members of struct rtllib_device to fix checkpatch warning: Avoid CamelCase pDot11dInfo -> dot11d_info bGlobalDomain -> global_domain IbssStartChnl -> bss_start_channel Signed-off-by: Himadri Pandya <himadri18.07@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-10-18staging: rtl8192e: Convert timers to use timer_setup()Kees Cook
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 <gregkh@linuxfoundation.org> Cc: Derek Robson <robsonde@gmail.com> Cc: Suniel Mahesh <suniel.spartan@gmail.com> Cc: Malcolm Priestley <tvboxspy@gmail.com> Cc: Gargi Sharma <gs051095@gmail.com> Cc: Julia Lawall <Julia.Lawall@lip6.fr> Cc: "David S. Miller" <davem@davemloft.net> Cc: Johannes Berg <johannes.berg@intel.com> Cc: Yamanappagouda Patil <goudapatilk@gmail.com> Cc: Georgiana Rodica Chelu <georgiana.chelu93@gmail.com> Cc: Colin Ian King <colin.king@canonical.com> Cc: Baoyou Xie <baoyou.xie@linaro.org> Cc: devel@driverdev.osuosl.org Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Derek Robson <robsonde@gmail.com> Cc: Suniel Mahesh <suniel.spartan@gmail.com> Cc: Malcolm Priestley <tvboxspy@gmail.com> Cc: Gargi Sharma <gs051095@gmail.com> Cc: Julia Lawall <Julia.Lawall@lip6.fr> Cc: Yamanappagouda Patil <goudapatilk@gmail.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Johannes Berg <johannes.berg@intel.com> Cc: Georgiana Rodica Chelu <georgiana.chelu93@gmail.com> Cc: Colin Ian King <colin.king@canonical.com> Cc: Baoyou Xie <baoyou.xie@linaro.org> Cc: devel@driverdev.osuosl.org Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-24staging: rtl8192e: remove dead code rtllib_wpa_supplicant_ioctlMalcolm Priestley
Following removal of _rtl92e_ioctl this function along with associated macros, structure ieee_param and functions become dead code. Remove functions rtllib_wpa_enable, rtllib_wpa_assoc_frame, rtllib_wpa_mlme, rtllib_wpa_set_wpa_ie, rtllib_wpa_set_auth_algs, rtllib_wpa_set_param, rtllib_wpa_set_encryption and rtllib_wpa_supplicant_ioctl. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-23Staging: rtl8192e - fixed style of block commentsDerek Robson
Fixed style of block comment across whole driver Found using checkpatch Signed-off-by: Derek Robson <robsonde@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-10-02staging: rtl8188eu: core: rtw_xmit: Use macros instead of constantsGeorgiana Rodica Chelu
Replace the 0x888e with ETH_P_PAE and 0x0806 with ETH_P_ARP. These macros can be found in drivers/staging/rtl8192e/rtllib.h Hexadecimal numbers are not case sensitive, therefore 0x888e is equal with 0x888E. The modifications improve the readability of the code. Signed-off-by: Georgiana Rodica Chelu <georgiana.chelu93@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-08-21rtl8192e: Replace semaphore ips_sem with mutexBinoy Jayan
The semaphore 'ips_sem' in the rtl8192e is a simple mutex, so it should be written as one. Semaphores are going away in the future. Signed-off-by: Binoy Jayan <binoy.jayan@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-08-21rtl8192e: Replace semaphore scan_sem with mutexBinoy Jayan
The semaphore 'scan_sem' in the rtl8192e is a simple mutex, so it should be written as one. Semaphores are going away in the future. Signed-off-by: Binoy Jayan <binoy.jayan@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-08-21rtl8192e: rtllib_device: Replace semaphore wx_sem with mutexBinoy Jayan
The semaphore 'wx_sem' in the rtllib_device is a simple mutex, so it should be written as one. Semaphores are going away in the future. Signed-off-by: Binoy Jayan <binoy.jayan@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-03-11staging: rtl8192e: Remove create_workqueue()Amitoj Kaur Chawla
With conccurency managed workqueues, use of dedicated workqueues can be replaced by system_wq. Drop wq by using system_wq. Since there are multiple work items per rtllib but they do not need to be ordered, increase of concurrency by switching to system_wq should not break anything. All work items are sync canceled on rtllib_stop_protocol() so it is guaranteed that no work is running when rtl92e_disable/reset/restart functions are called. Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com> Acked-by: Tejun Heo <tj@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-02-07staging: rtl8192e: use to_delayed_workGeliang Tang
Use to_delayed_work() instead of open-coding it. Signed-off-by: Geliang Tang <geliangtang@163.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-08-14staging: rtl8192e: Remove unnecessary externsJoe Perches
Using 'extern' is not necessary for function prototypes. Miscellanea: o Reflow alignments Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-07-14staging: rtl8192e: rtllib_softmac: Make functions staticMateusz Kulikowski
Make as many functions as possible static in rtllib_softmac.c. The following functions were affected: - rtllib_sta_wakeup - rtllib_TURBO_Info - rtllib_get_beacon_ - rtllib_send_probe_requests - rtllib_update_active_chan_map - rtllib_softmac_scan_syncro Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-07-14staging: rtl8192e: Make rtllib_rx_mgt() staticMateusz Kulikowski
Function is not referenced outside of rtllib_rx.c Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-07-14staging: rtl8192e: rtllib_tx: Make functions staticMateusz Kulikowski
Make as many functions as possible static in rtllib_tx.c. The following functions were affected: - rtllib_xmit_inter - rtllib_query_seqnum - rtllib_put_snap Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-07-14staging: rtl8192e: rtllib_HTProc: Make functions staticMateusz Kulikowski
Make as many functions as possible static in rtllib_HTProc.c. The following functions were affected: - HTMcsToDataRate - HTFilterMCSRate Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-07-14staging: rtl8192e: Remove unused rtllib_device::freq_bandMateusz Kulikowski
Member is never referenced. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-07-14staging: rtl8192e: Remove unused ether_header structureMateusz Kulikowski
Structure is not used in the driver. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-07-14staging: rtl8192e: Remove rtllib_stats structureMateusz Kulikowski
Two remaining fields of rtllib_stats are only incremented, but never read. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-07-14staging: rtl8192e: Remove unused fields from rtllib_statsMateusz Kulikowski
None of them are used in the driver. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-07-14staging: rtl8192e: Remove unused definesMateusz Kulikowski
Remove most of unused defines (excluding phyreg/hw registers). Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-17staging: rtl8192e: Remove rtllib_device::agregationMateusz Kulikowski
Variable is always true; Resolve condition where it is used (and change indentation of conditional expression). Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-17staging: rtl8192e: Remove softmac_hint11d_wq queueMateusz Kulikowski
This queue is never used, and function handler is empty Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-17staging: rtl8192e: Remove unused rtllib_device membersMateusz Kulikowski
Delete several members of rtllib_device including their initializers if needed. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-17staging: rtl8192e: Remove rt_pwr_save_ctrl membersMateusz Kulikowski
Following members were removed: - tmpJoinAction - tmpSuppRateBuf - bTmpIbpm As a consequence several unused defines/enums/structs were also removed from rtllib.h Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-17staging: rtl8192e: Remove rtllib_network::last_associateMateusz Kulikowski
Variable was initialized and never used. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-17staging: rtl8192e: Remove WIRELESS_EXT checksMateusz Kulikowski
Current WIRELESS_EXT version is at least 22. Resolve ifdefs and delete dead code. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-17staging: rtl8192e: Remove rtllib_device::get_nic_desc_num()Mateusz Kulikowski
This function/callback was initialized and never called. rtl8192_get_nic_desc_num() function that was default implementation was also removed. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-17staging: rtl8192e: Remove rtllib_wx_get_encode_ext()Mateusz Kulikowski
This function was declared but never unused. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-17staging: rtl8192e: Remove rtllib_is_shortslot()Mateusz Kulikowski
This function was declared but never unused. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-17staging: rtl8192e: Remove rtllib_wake_queue()Mateusz Kulikowski
This function was declared but never unused. Also remove dequeue_mgmt() and rtllib_resume_tx() that are no longer used. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-17staging: rtl8192e: Remove rtllib_stop_queue()Mateusz Kulikowski
This function was declared but never unused. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-17staging: rtl8192e: Remove ENABLE_LOCK_DEBUG referenceMateusz Kulikowski
ENABLE_LOCK_DEBUG macro was never set, so condition that used it can be resolved manually. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-17staging: rtl8192e: Remove unused code in rtllib.hMateusz Kulikowski
Delete macros, structure members and declarations etc. that are not referenced anywhere in code. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-01staging: rtl8192e: Remove unimplemented iwpriv handlersMateusz Kulikowski
Remove the following private variables: - force_mic_error - changes force_mic_error that is not used - radio - changes sw_radio_on that is not used - adhoc_peer_list - unimplemented - firm_ver - unimplemented Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-01staging: rtl8192e: Remove remains of RTLLIB_*_DEBUG() (including proc entry)Mateusz Kulikowski
Remove rest of rtllib "debug" system - it is no longer used - proper netdev_* functions are used in most cases. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-01staging: rtl8192e: Remove RTLLIB_DEBUG_DATA()Mateusz Kulikowski
Use print_hex_dump_bytes() if VERBOSE_DEBUG is enabled. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-01staging: rtl8192e: Remove RTLLIB_DEBUG()Mateusz Kulikowski
- Use netdev_dbg or netdev_vdbg instead of RTLLIB_DEBUG() - Reformat some messages for better readability - Remove RTLLIB_DEBUG messages that make no sense Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-01staging: rtl8192e: Remove RTLLIB_DEBUG_INFO()Mateusz Kulikowski
Use pr_debug() instead. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-01staging: rtl8192e: Remove RTLLIB_DEBUG_MGMT()Mateusz Kulikowski
- Use netdev_dbg() instead of RTLLIB_DEBUG_MGMT() - Remove RTLLIB_DEBUG_MGMT() - Pass net_device to auth_parse(), auth_rq_parse() and assoc_rq_parse() - Remove duplicated messages Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-01staging: rtl8192e: Remove RTLLIB_DEBUG_QOS()Mateusz Kulikowski
- Pass extra argument (rtllib_device) to rtllib_parse_qos_info_param_IE() and update_network() - Replace RTLLIB_DEBUG_QOS() with netdev_dbg() - Remove RTLLIB_DEBUG_QOS() Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-01staging: rtl8192e: Remove RTLLIB_DEBUG_(FRAG|EAP|DROP|STATE|TX|RX)()Mateusz Kulikowski
Use netdev_dbg() instead. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-01staging: rtl8192e: Remove RTLLIB_DEBUG_SCAN()Mateusz Kulikowski
Use netdev_dbg() instead, remove duplicated logs. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-01staging: rtl8192e: Remove RTLLIB_DEBUG_WX()Mateusz Kulikowski
Use netdev_dbg() instead of RTLLIB_DEBUG_WX(). Rewrite some messages to be more readable. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-01staging: rtl8192e: Remove RTLLIB_ERROR() and RTLLIB_WARNING()Mateusz Kulikowski
Use pr_* where needed (rtllib init code). Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>