aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging
AgeCommit message (Collapse)AuthorFilesLines
2022-03-03Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netJakub Kicinski1-0/+2
net/batman-adv/hard-interface.c commit 690bb6fb64f5 ("batman-adv: Request iflink once in batadv-on-batadv check") commit 6ee3c393eeb7 ("batman-adv: Demote batadv-on-batadv skip error message") https://lore.kernel.org/all/20220302163049.101957-1-sw@simonwunderlich.de/ net/smc/af_smc.c commit 4d08b7b57ece ("net/smc: Fix cleanup when register ULP fails") commit 462791bbfa35 ("net/smc: add sysctl interface for SMC") https://lore.kernel.org/all/20220302112209.355def40@canb.auug.org.au/ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2022-03-02staging: greybus: gpio: Use generic_handle_irq_safe().Sebastian Andrzej Siewior1-4/+1
Instead of manually disabling interrupts before invoking use generic_handle_irq_safe() which can be invoked with enabled and disabled interrupts. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Johan Hovold <johan@kernel.org> Cc: Alex Elder <elder@kernel.org> Cc: Rui Miguel Silva <rmfrfs@gmail.com> Link: https://lore.kernel.org/r/20220211181500.1856198-8-bigeasy@linutronix.de
2022-03-02staging: rtl8723bs: Improve the comment explaining the locking rulesHans de Goede1-2/+6
rtw_mlme.h has a comment which briefly describes the locking rules for the rtl8723bs driver, improve this to also mention the locking order of xmit_priv.lock vs the lock(s) embedded in the various queues. Cc: Fabio Aiuto <fabioaiuto83@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20220302101637.26542-2-hdegoede@redhat.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-02staging: rtl8723bs: Fix access-point mode deadlockHans de Goede5-24/+33
Commit 54659ca026e5 ("staging: rtl8723bs: remove possible deadlock when disconnect (v2)") split the locking of pxmitpriv->lock vs sleep_q/lock into 2 locks in attempt to fix a lockdep reported issue with the locking order of the sta_hash_lock vs pxmitpriv->lock. But in the end this turned out to not fully solve the sta_hash_lock issue so commit a7ac783c338b ("staging: rtl8723bs: remove a second possible deadlock") was added to fix this in another way. The original fix was kept as it was still seen as a good thing to have, but now it turns out that it creates a deadlock in access-point mode: [Feb20 23:47] ====================================================== [ +0.074085] WARNING: possible circular locking dependency detected [ +0.074077] 5.16.0-1-amd64 #1 Tainted: G C E [ +0.064710] ------------------------------------------------------ [ +0.074075] ksoftirqd/3/29 is trying to acquire lock: [ +0.060542] ffffb8b30062ab00 (&pxmitpriv->lock){+.-.}-{2:2}, at: rtw_xmit_classifier+0x8a/0x140 [r8723bs] [ +0.114921] but task is already holding lock: [ +0.069908] ffffb8b3007ab704 (&psta->sleep_q.lock){+.-.}-{2:2}, at: wakeup_sta_to_xmit+0x3b/0x300 [r8723bs] [ +0.116976] which lock already depends on the new lock. [ +0.098037] the existing dependency chain (in reverse order) is: [ +0.089704] -> #1 (&psta->sleep_q.lock){+.-.}-{2:2}: [ +0.077232] _raw_spin_lock_bh+0x34/0x40 [ +0.053261] xmitframe_enqueue_for_sleeping_sta+0xc1/0x2f0 [r8723bs] [ +0.082572] rtw_xmit+0x58b/0x940 [r8723bs] [ +0.056528] _rtw_xmit_entry+0xba/0x350 [r8723bs] [ +0.062755] dev_hard_start_xmit+0xf1/0x320 [ +0.056381] sch_direct_xmit+0x9e/0x360 [ +0.052212] __dev_queue_xmit+0xce4/0x1080 [ +0.055334] ip6_finish_output2+0x18f/0x6e0 [ +0.056378] ndisc_send_skb+0x2c8/0x870 [ +0.052209] ndisc_send_ns+0xd3/0x210 [ +0.050130] addrconf_dad_work+0x3df/0x5a0 [ +0.055338] process_one_work+0x274/0x5a0 [ +0.054296] worker_thread+0x52/0x3b0 [ +0.050124] kthread+0x16c/0x1a0 [ +0.044925] ret_from_fork+0x1f/0x30 [ +0.049092] -> #0 (&pxmitpriv->lock){+.-.}-{2:2}: [ +0.074101] __lock_acquire+0x10f5/0x1d80 [ +0.054298] lock_acquire+0xd7/0x300 [ +0.049088] _raw_spin_lock_bh+0x34/0x40 [ +0.053248] rtw_xmit_classifier+0x8a/0x140 [r8723bs] [ +0.066949] rtw_xmitframe_enqueue+0xa/0x20 [r8723bs] [ +0.066946] rtl8723bs_hal_xmitframe_enqueue+0x14/0x50 [r8723bs] [ +0.078386] wakeup_sta_to_xmit+0xa6/0x300 [r8723bs] [ +0.065903] rtw_recv_entry+0xe36/0x1160 [r8723bs] [ +0.063809] rtl8723bs_recv_tasklet+0x349/0x6c0 [r8723bs] [ +0.071093] tasklet_action_common.constprop.0+0xe5/0x110 [ +0.070966] __do_softirq+0x16f/0x50a [ +0.050134] __irq_exit_rcu+0xeb/0x140 [ +0.051172] irq_exit_rcu+0xa/0x20 [ +0.047006] common_interrupt+0xb8/0xd0 [ +0.052214] asm_common_interrupt+0x1e/0x40 [ +0.056381] finish_task_switch.isra.0+0x100/0x3a0 [ +0.063670] __schedule+0x3ad/0xd20 [ +0.048047] schedule+0x4e/0xc0 [ +0.043880] smpboot_thread_fn+0xc4/0x220 [ +0.054298] kthread+0x16c/0x1a0 [ +0.044922] ret_from_fork+0x1f/0x30 [ +0.049088] other info that might help us debug this: [ +0.095950] Possible unsafe locking scenario: [ +0.070952] CPU0 CPU1 [ +0.054282] ---- ---- [ +0.054285] lock(&psta->sleep_q.lock); [ +0.047004] lock(&pxmitpriv->lock); [ +0.074082] lock(&psta->sleep_q.lock); [ +0.077209] lock(&pxmitpriv->lock); [ +0.043873] *** DEADLOCK *** [ +0.070950] 1 lock held by ksoftirqd/3/29: [ +0.049082] #0: ffffb8b3007ab704 (&psta->sleep_q.lock){+.-.}-{2:2}, at: wakeup_sta_to_xmit+0x3b/0x300 [r8723bs] Analysis shows that in hindsight the splitting of the lock was not a good idea, so revert this to fix the access-point mode deadlock. Note this is a straight-forward revert done with git revert, the commented out "/* spin_lock_bh(&psta_bmc->sleep_q.lock); */" lines were part of the code before the reverted changes. Fixes: 54659ca026e5 ("staging: rtl8723bs: remove possible deadlock when disconnect (v2)") Cc: stable <stable@vger.kernel.org> Cc: Fabio Aiuto <fabioaiuto83@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=215542 Link: https://lore.kernel.org/r/20220302101637.26542-1-hdegoede@redhat.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-02staging: rts5208: fix Lines should not end with a '('.Samuel Sjöberg1-5/+4
Fix the following check reported by checkpatch.pl: CHECK: Lines should not end with a '(' retval = ms_transfer_tpc( Signed-off-by: Samuel Sjöberg <info@samuelsjoberg.se> Link: https://lore.kernel.org/r/20220302150328.2722-1-info@samuelsjoberg.se Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: gdm724x: fix use after free in gdm_lte_rx()Dan Carpenter1-2/+3
The netif_rx_ni() function frees the skb so we can't dereference it to save the skb->len. Fixes: 61e121047645 ("staging: gdm7240: adding LTE USB driver") Cc: stable <stable@vger.kernel.org> Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Link: https://lore.kernel.org/r/20220228074331.GA13685@kili Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: pi433: prevent uninitialized data from being printed outPaulo Miguel Almeida1-1/+1
local_buffer is not initialised before data is passed to spi_sync_transfer. In case spi* function fails then the dev_dbg statement after that can potentially print out uninitialised data this patch initialises local_buffer array. Signed-off-by: Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@gmail.com> Link: https://lore.kernel.org/r/Yhmruyr2BUn0+3O3@mail.google.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: r8188eu: use ieee80211 helper to read the "order" bitMartin Kaiser2-4/+1
Use the ieee80211 helper to read the "order" bit. The driver-specific macro GetOrder can be removed. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220227164147.1168847-9-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: r8188eu: use ieee80211 helper to read the protected bitMartin Kaiser1-1/+1
Use the ieee80211 helper to read the "protected" bit. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220227164147.1168847-8-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: r8188eu: use ieee80211 helper to read "more data"Martin Kaiser2-3/+1
Use the ieee80211 helper to read the "more data" bit. The driver-specific macro GetMData can be removed. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220227164147.1168847-7-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: r8188eu: use ieee80211 helper to check for more fragmentsMartin Kaiser2-3/+1
Use the ieee80211 helper to check the "more fragments" bit. Remove the internal GetMFrag macro. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220227164147.1168847-6-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: r8188eu: use ieee80211 helper for qos bitMartin Kaiser3-8/+5
Use the ieee80211_is_data_qos helper function to read the qos bit. This helper function returns a bool. Change the qos field in struct rx_pkt_attrib from u8 to bool and fix up the other places where it is used. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220227164147.1168847-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: r8188eu: refactor validate_recv_frame's error handlingMartin Kaiser1-14/+8
Refactor the error handling of validate_recv_frame. It's simpler to default to _FAIL. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220227164147.1168847-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: r8188eu: use ieee80211 helpers to check the frame typeMartin Kaiser1-12/+7
Use the ieee80211_is_... helper functions to check the frame type in the validate_recv_frame function. Add a temporary variable for the 16-bit frame control field. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220227164147.1168847-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: r8188eu: use ieee80211 define for management frame typeMartin Kaiser3-15/+15
Replace the driver-internal define for management frame type with IEEE80211_FTYPE_MGMT. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220227164147.1168847-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: r8188eu: remove unused defineMartin Kaiser1-1/+0
Remove the rtw_dequeue_recvframe define, which is not used. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220226181457.1138035-8-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: r8188eu: get_rx_status is not usedMartin Kaiser1-5/+0
Remove the unused function get_rx_status. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220226181457.1138035-7-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: r8188eu: recvframe_push is not usedMartin Kaiser1-20/+0
The recvframe_push function is not used. It can be removed. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220226181457.1138035-6-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: r8188eu: cnt is set but not usedMartin Kaiser1-4/+1
In function recv_func, the cnt variable is set but not used. It can be removed. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220226181457.1138035-5-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: r8188eu: fix endless loop in recv_funcMartin Kaiser1-2/+1
Fix an endless loop in recv_func. If pending_frame is not NULL, we're stuck in the while loop forever. We have to call rtw_alloc_recvframe each time we loop. Fixes: 15865124feed ("staging: r8188eu: introduce new core dir for RTL8188eu driver") Reported-by: Pavel Skripkin <paskripkin@gmail.com> Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220226181457.1138035-4-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: r8188eu: irq_prepare_beacon_tasklet is unusedMartin Kaiser1-1/+0
irq_prepare_beacon_tasklet in struct recv_priv is not used for r8188eu. Remove it. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220226181457.1138035-3-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: r8188eu: smooth_rssi_data is not usedMartin Kaiser1-7/+0
struct smooth_rssi_data is not used in this driver. It can be removed. Signed-off-by: Martin Kaiser <martin@kaiser.cx> Link: https://lore.kernel.org/r/20220226181457.1138035-2-martin@kaiser.cx Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: pi433: remove rf69_get_flag function resolving enum conflictPaulo Miguel Almeida4-69/+4
The reason why rf69_get_flag() existed was to provide a high-level way to obtain values out of 1 (of 2) flags registers using bit masking. The idea was to map the possible flag values found in the data sheet like shown in page 70 of the RFM69HCW datasheet. However, due to the fact that enums values in C must be unique, there was a naming conflict on 'fifo_not_empty' which is used by the tx_start_condition enum. So the author decided to create a 'fifo_empty' one which would negate the value that comes from the flag register as the solution to that conflict (which is very confusing). this patch removes rf69_get_flag function which subsequently solves the enum redeclaration problem so kernel developers can follow the data sheet more easily. Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@gmail.com> Link: https://lore.kernel.org/r/Yhla4a1Clpguoo2h@mail.google.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: r8188eu: remove _linked_rx_signal_strength_display()Michael Straube3-35/+0
The function _linked_rx_signal_strength_display() only sets two local variables that are not used after setting. Remove the function and remove resulting dead code. The HW_DEF_RA_INFO_DUMP case in GetHalDefVar8188EUsb() does not set the passed variable. It just calls check_fwstate() which does nothing than return true or false. So it is safe to remove this call to GetHalDefVar8188EUsb(). The HAL_DEF_UNDERCORATEDSMOOTHEDPWDB case in GetHalDefVar8188EUsb() does nothing than set the passed variable and it is safe to remove this call to GetHalDefVar8188EUsb() as well. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220225174827.15927-1-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-01staging: pi433: remove TODOs-related item from the TODO filePaulo Miguel Almeida2-3/+0
All occurences of code annotated with TODO in this driver have been addressed in the last couple of years by the community. The last occurrence of the word "TODO" was in the form of a multi-line comment in the header file intended to be exposed to userspace once this driver moves away from the staging folder. This patch removes that TODO as well as the TODO-related item from the driver's TODO file Signed-off-by: Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@gmail.com> Link: https://lore.kernel.org/r/YhmyK1Utaoj924im@mail.google.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-28Merge tag 'spi-remove-void' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spiJakub Kicinski3-62/+37
Mark Brown says: ==================== spi: Make remove() return void This series from Uwe Kleine-König converts the spi remove function to return void since there is nothing useful that we can do with a failure and it as more buses are converted it'll enable further work on the driver core. ==================== Link: https://lore.kernel.org/r/20220228173957.1262628-2-broonie@kernel.org/ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2022-02-28Merge 5.17-rc6 into staging-nextGreg Kroah-Hartman1-0/+2
We need the staging fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-28Backmerge tag 'v5.17-rc6' into drm-nextDave Airlie1-0/+2
This backmerges v5.17-rc6 so I can merge some amdgpu and some tegra changes on top. Signed-off-by: Dave Airlie <airlied@redhat.com>
2022-02-25staging: r8188eu: remove ETH_ALEN from ieee80211.hMichael Straube1-1/+0
The definition of ETH_ALEN in ieee80211.h is redundant as it is an in-kernel constant. Remove it. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220225120843.10674-5-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: r8188eu: remove update_bcn_p2p_ie()Michael Straube1-6/+0
The function update_bcn_p2p_ie() is empty. Remove it. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220225120843.10674-4-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: r8188eu: remove unused function prototypeMichael Straube1-1/+0
The function prototype rtl8188e_query_rx_phy_status() is not used. Remove it. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220225120843.10674-3-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: r8188eu: EepromAddressSize is set but not usedMichael Straube4-20/+0
EepromAddressSize in struct adapter is set but not used. Remove it and remove the now unused function GetEEPROMSize8188E(). Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220225120843.10674-2-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: wfx: flags for SPI IRQ were ignoredJérôme Pouiller1-1/+1
The flags declared in the DT were not forwarded to request_irq(). Fixes: a7efb62509d8 ("staging: wfx: use threaded IRQ with SPI") Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Link: https://lore.kernel.org/r/20220225112405.355599-11-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: wfx: ensure HIF request has been sent before pollingJérôme Pouiller1-0/+1
wfx_bh_request_tx() send HIF request asynchronously through bh_work(). Then the caller will run wfx_bh_poll_irq() to poll the answer. However it useless to burn CPU cycles for the polling while the request has yet been sent. Worse, wfx_bh_poll_irq() may get the CPU and prevent wfx_bh_request_tx() to run. This problem has been observed on mono core architecture. This first exchange is correct: kworker/u2:1-24 [000] .... : io_read32: CONTROL: 00003000 kworker/u2:1-24 [000] .... : io_read32: CONTROL: 00003000 kworker/u2:1-24 [000] .... : io_read32: CONTROL: 00003004 kworker/u2:1-24 [000] .... : io_read32: CONTROL: 00003004 kworker/0:1H-40 [000] .... : io_read: QUEUE: 08 00 09 0c 00 00 00 00 3a 7b 00 30 (12 bytes) kworker/0:1H-40 [000] .... : piggyback: CONTROL: 00003000 kworker/0:1H-40 [000] .... : hif_recv: 0:2:CNF_CONFIGURATION: 00 00 00 00 (8 bytes) kworker/0:1H-40 [000] .... : io_read32: CONFIG: 03010200 kworker/0:1H-40 [000] .... : bh_stats: IND/REQ/CNF: 0/ 0/ 1, REQ in progress: 0, WUP: release ... while the following is not: kworker/u2:1-24 [000] .... : io_read32: CONTROL: 00003000 kworker/u2:1-24 [000] .... : io_read32: CONTROL: 00003000 kworker/u2:1-24 [000] .... : io_read32: CONTROL: 00003000 [...loop until timeout...] wfx-sdio mmc0:0001:1: time out while polling control register Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Link: https://lore.kernel.org/r/20220225112405.355599-10-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: wfx: prefer to wait for an event instead to sleepJérôme Pouiller1-2/+2
When possible it is better to wait for an explicit event instead of wait an arbitrary amount of time. Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Link: https://lore.kernel.org/r/20220225112405.355599-9-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: wfx: remove duplicated code in wfx_cmd_send()Jérôme Pouiller1-3/+3
The code to execute on end of the function is the same whatever the command replies or not. Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Link: https://lore.kernel.org/r/20220225112405.355599-8-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: wfx: drop useless includeJérôme Pouiller1-2/+0
ieee80211.h is useless since commit 5e911c3d9dbc9 ("staging: wfx: avoid defining array of flexible struct") Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Link: https://lore.kernel.org/r/20220225112405.355599-7-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: wfx: remove useless variableJérôme Pouiller1-2/+2
Obviously, the variable "ret" was useless. Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Link: https://lore.kernel.org/r/20220225112405.355599-6-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: wfx: format code on 100 columnsJérôme Pouiller7-20/+11
A few lines were not yet formatted on 100 columns. Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Link: https://lore.kernel.org/r/20220225112405.355599-5-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: wfx: format comments on 100 columnsJérôme Pouiller2-11/+6
A few comments were not yet formatted on 100 columns. Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Link: https://lore.kernel.org/r/20220225112405.355599-4-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: wfx: fix struct alignmentJérôme Pouiller1-14/+14
There is no reason to add multiple spaces between a variable name and its type. Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Link: https://lore.kernel.org/r/20220225112405.355599-3-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: wfx: sta.o was linked twiceJérôme Pouiller1-1/+0
sta.o was listed twice in the Makefile. Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> Link: https://lore.kernel.org/r/20220225112405.355599-2-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: pi433: add index value to write dev_dbg statementPaulo Miguel Almeida1-1/+1
Add index value to the string that will be printed by dev_dbg for better easier visualisation when debugging. For instance, if I have a big message payload that will inevitably get split into chunks, it would be a hassle trying to debug if the offset of the original payload that got sent at that time. This patch adds index value to write dev_dbg statement. Signed-off-by: Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@gmail.com> Link: https://lore.kernel.org/r/YhiNRSi7jijxJWCL@mail.google.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: rtl8192u: rework init and exit functionTong Zhang6-17/+38
The init and exit functions are not releasing resource properly. An error can be observed when we load/unload/load r8192u_usb module due to this issue. This patch rework init and exit functions to do proper resource release on init error and module unload. The __exit attribute is stripped from some functions since they are now being used by module init functions. [ 493.068012] proc_dir_entry 'net/ieee80211' already registered [ 493.271973] proc_mkdir+0x18/0x20 [ 493.272136] ieee80211_debug_init+0x28/0xde8 [r8192u_usb] [ 493.272404] rtl8192_usb_module_init+0x10/0x161 [r8192u_usb] [ 13.910616] proc_dir_entry 'net/rtl819xU' already registered [ 13.918931] proc_mkdir+0x18/0x20 [ 13.919098] rtl8192_usb_module_init+0x142/0x16d [r8192u_usb] Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Tong Zhang <ztong0001@gmail.com> Link: https://lore.kernel.org/r/20220224064033.1530924-3-ztong0001@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: rtl8192u: add empty debug functionsTong Zhang1-0/+5
Add two empty functions to handle the case when CONFIG_IEEE80211_DEBUG is turned off. These two functions will be used by module init() and and exit(). Signed-off-by: Tong Zhang <ztong0001@gmail.com> Link: https://lore.kernel.org/r/20220224064033.1530924-2-ztong0001@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: rtl8192u: fix broken debug macroTong Zhang1-2/+2
There is an extra space in the debug macro, when CONFIG_IEEE80211_DEBUG is switched off, compiler will complain. drivers/staging/rtl8192u/ieee80211/ieee80211.h:470:42: error: expected ‘)’ before ‘...’ token 470 | #define IEEE80211_DEBUG (level, fmt, args...) do {} while (0) drivers/staging/rtl8192u/ieee80211/ieee80211.h:470:47: error: expected ‘;’ before ‘do’ 470 | #define IEEE80211_DEBUG (level, fmt, args...) do {} while (0) Signed-off-by: Tong Zhang <ztong0001@gmail.com> Link: https://lore.kernel.org/r/20220224064033.1530924-1-ztong0001@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: r8188eu: remove redundant variable reg_0x143Colin Ian King1-2/+1
Variable reg_0x143 is being assigned a value, however is not being read. The variable is redundant and can be removed. Reviewed-by: Phillip Potter <phil@philpotter.co.uk> Signed-off-by: Colin Ian King <colin.i.king@gmail.com> Link: https://lore.kernel.org/r/20220224230658.151338-1-colin.i.king@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: r8188eu: clean up rtw_rf.cMichael Straube1-5/+0
Remove unnecessary includes and the unused define _RTW_RF_C_ from rtw_rf.c. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220222082847.6687-4-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: r8188eu: refactor rtw_ch2freq()Michael Straube1-23/+18
Convert the array ch_freq_map to a simple integer array and use the indices as channel numbers. This simplifies the code and avoids looping through the array to get the frequency. To avoid out of bounds array access return a default value for invalid channel values, like the original code did. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220222082847.6687-3-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-25staging: r8188eu: remove 5 GHz channels from ch_freq_mapMichael Straube1-16/+0
According to the Realtek documentation the chips this driver supports are 2.4 GHz only chips. Frequencies for 5 GHz channels can be removed from the ch_freq_map array. Signed-off-by: Michael Straube <straube.linux@gmail.com> Link: https://lore.kernel.org/r/20220222082847.6687-2-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>