Greg Kroah-Hartman
ea2054baad
Revert "staging: rtl8723bs: remove possible deadlock when disconnect"
...
This reverts commit 78a1614a81 .
There's been attempts to fix this, but it's not quite right yet, so just
remove the original commit.
Link: https://lore.kernel.org/r/20210913130346.2390-1-fabioaiuto83@gmail.com
Cc: Larry Finger <Larry.Finger@lwfinger.net >
Cc: Fabio Aiuto <fabioaiuto83@gmail.com >
Cc: Hans de Goede <hdegoede@redhat.com >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-17 16:26:09 +02:00
Srivathsa Dara
cc5e3fff9a
staging: wfx: sta: Fix 'else' coding style warning
...
Fix 'else is not generally useful after a break or return' checkpatch
warning
Signed-off-by: Srivathsa Dara <srivathsa729.8@gmail.com >
Link: https://lore.kernel.org/r/20210914143107.18436-1-srivathsa729.8@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-17 16:23:42 +02:00
Jérôme Pouiller
5e57c668dc
staging: wfx: ensure IRQ is ready before enabling it
...
Since commit 5561770f80 ("staging: wfx: repair external IRQ for
SDIO"), wfx_sdio_irq_subscribe() enforce the device to use IRQs.
However, there is currently a race in this code. An IRQ may happen
before the IRQ has been registered.
The problem has observed during debug session when the device crashes
before the IRQ set up:
[ 1.546] wfx-sdio mmc0:0001:1: started firmware 3.12.2 "WF200_ASIC_WFM_(Jenkins)_FW3.12.2" (API: 3.7, keyset: C0, caps: 0x00000002)
[ 2.559] wfx-sdio mmc0:0001:1: time out while polling control register
[ 3.565] wfx-sdio mmc0:0001:1: chip is abnormally long to answer
[ 6.563] wfx-sdio mmc0:0001:1: chip did not answer
[ 6.568] wfx-sdio mmc0:0001:1: hardware request CONFIGURATION (0x09) on vif 2 returned error -110
[ 6.577] wfx-sdio mmc0:0001:1: PDS bytes 0 to 12: chip didn't reply (corrupted file?)
[ 6.585] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[ 6.592] pgd = c0004000
[ 6.595] [00000000] *pgd=00000000
[ 6.598] Internal error: Oops - BUG: 17 [#1 ] THUMB2
[ 6.603] Modules linked in:
[ 6.606] CPU: 0 PID: 23 Comm: kworker/u2:1 Not tainted 3.18.19 #78
[ 6.612] Workqueue: kmmcd mmc_rescan
[ 6.616] task: c176d100 ti: c0e50000 task.ti: c0e50000
[ 6.621] PC is at wake_up_process+0xa/0x14
[ 6.625] LR is at sdio_irq+0x61/0x250
[ 6.629] pc : [<c001e8ae>] lr : [<c00ec5bd>] psr: 600001b3
[ 6.629] sp : c0e51bd8 ip : c0e51cc8 fp : 00000001
[ 6.640] r10: 00000003 r9 : 00000000 r8 : c0003c34
[ 6.644] r7 : c0e51bd8 r6 : c0003c30 r5 : 00000001 r4 : c0e78c00
[ 6.651] r3 : 00000000 r2 : 00000000 r1 : 00000003 r0 : 00000000
[ 6.657] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA Thumb Segment kernel
[ 6.664] Control: 50c53c7d Table: 11fd8059 DAC: 00000015
[ 6.670] Process kworker/u2:1 (pid: 23, stack limit = 0xc0e501b0)
[ 6.676] Stack: (0xc0e51bd8 to 0xc0e52000)
[...]
[ 6.949] [<c001e8ae>] (wake_up_process) from [<c00ec5bd>] (sdio_irq+0x61/0x250)
[ 6.956] [<c00ec5bd>] (sdio_irq) from [<c0025099>] (handle_irq_event_percpu+0x17/0x92)
[ 6.964] [<c0025099>] (handle_irq_event_percpu) from [<c002512f>] (handle_irq_event+0x1b/0x24)
[ 6.973] [<c002512f>] (handle_irq_event) from [<c0026577>] (handle_level_irq+0x5d/0x76)
[ 6.981] [<c0026577>] (handle_level_irq) from [<c0024cc3>] (generic_handle_irq+0x13/0x1c)
[ 6.989] [<c0024cc3>] (generic_handle_irq) from [<c0024dd9>] (__handle_domain_irq+0x31/0x48)
[ 6.997] [<c0024dd9>] (__handle_domain_irq) from [<c0008359>] (ov_handle_irq+0x31/0xe0)
[ 7.005] [<c0008359>] (ov_handle_irq) from [<c000af5b>] (__irq_svc+0x3b/0x5c)
[ 7.013] Exception stack(0xc0e51c68 to 0xc0e51cb0)
[...]
[ 7.038] [<c000af5b>] (__irq_svc) from [<c01775aa>] (wait_for_common+0x9e/0xc4)
[ 7.045] [<c01775aa>] (wait_for_common) from [<c00e1dc3>] (mmc_wait_for_req+0x4b/0xdc)
[ 7.053] [<c00e1dc3>] (mmc_wait_for_req) from [<c00e1e83>] (mmc_wait_for_cmd+0x2f/0x34)
[ 7.061] [<c00e1e83>] (mmc_wait_for_cmd) from [<c00e7b2b>] (mmc_io_rw_direct_host+0x71/0xac)
[ 7.070] [<c00e7b2b>] (mmc_io_rw_direct_host) from [<c00e8f79>] (sdio_claim_irq+0x6b/0x116)
[ 7.078] [<c00e8f79>] (sdio_claim_irq) from [<c00d8415>] (wfx_sdio_irq_subscribe+0x19/0x94)
[ 7.086] [<c00d8415>] (wfx_sdio_irq_subscribe) from [<c00d5229>] (wfx_probe+0x189/0x2ac)
[ 7.095] [<c00d5229>] (wfx_probe) from [<c00d83bf>] (wfx_sdio_probe+0x8f/0xcc)
[ 7.102] [<c00d83bf>] (wfx_sdio_probe) from [<c00e7fbb>] (sdio_bus_probe+0x5f/0xa8)
[ 7.109] [<c00e7fbb>] (sdio_bus_probe) from [<c00be229>] (driver_probe_device+0x59/0x134)
[ 7.118] [<c00be229>] (driver_probe_device) from [<c00bd4d7>] (bus_for_each_drv+0x3f/0x4a)
[ 7.126] [<c00bd4d7>] (bus_for_each_drv) from [<c00be1a5>] (device_attach+0x3b/0x52)
[ 7.134] [<c00be1a5>] (device_attach) from [<c00bdc2b>] (bus_probe_device+0x17/0x4c)
[ 7.141] [<c00bdc2b>] (bus_probe_device) from [<c00bcd69>] (device_add+0x2c5/0x334)
[ 7.149] [<c00bcd69>] (device_add) from [<c00e80bf>] (sdio_add_func+0x23/0x44)
[ 7.156] [<c00e80bf>] (sdio_add_func) from [<c00e79eb>] (mmc_attach_sdio+0x187/0x1ec)
[ 7.164] [<c00e79eb>] (mmc_attach_sdio) from [<c00e31bd>] (mmc_rescan+0x18d/0x1fc)
[ 7.172] [<c00e31bd>] (mmc_rescan) from [<c001a14f>] (process_one_work+0xd7/0x170)
[ 7.179] [<c001a14f>] (process_one_work) from [<c001a59b>] (worker_thread+0x103/0x1bc)
[ 7.187] [<c001a59b>] (worker_thread) from [<c001c731>] (kthread+0x7d/0x90)
[ 7.194] [<c001c731>] (kthread) from [<c0008ce1>] (ret_from_fork+0x11/0x30)
[ 7.201] Code: 2103 b580 2200 af00 (681b) 46bd
[ 7.206] ---[ end trace 3ab50aced42eedb4 ]---
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-33-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:34 +02:00
Jérôme Pouiller
9497551376
staging: wfx: indent functions arguments
...
Function arguments must be aligned with first argument. Apply that
rule.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-32-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:34 +02:00
Jérôme Pouiller
c382d79a71
staging: wfx: explain the purpose of wfx_send_pds()
...
On first look, the goal of wfx_send_pds() is not obvious. A small
explanation is welcomed.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-31-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:33 +02:00
Jérôme Pouiller
b262f38c33
staging: wfx: remove useless comments after #endif
...
Comments after the last #endif of header files don't bring any
information and are redundant with the name of the file. Drop them.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-30-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:33 +02:00
Jérôme Pouiller
58de699451
staging: wfx: fix comments styles
...
Unify all comments of the wfx driver to use the same comment style.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-29-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:33 +02:00
Jérôme Pouiller
63aac5db1a
staging: wfx: avoid c99 comments
...
The wfx driver is a network driver. C99 comments are prohibited in this
part of the kernel.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-28-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:33 +02:00
Jérôme Pouiller
9885474d45
staging: wfx: reformat comment
...
The new comment takes only one line instead of three.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-27-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:33 +02:00
Jérôme Pouiller
31f8da6331
staging: wfx: update files descriptions
...
Each file of the driver contains a short description of its purpose.
These description were a bit outdated.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-26-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:33 +02:00
Jérôme Pouiller
a99f20b667
staging: wfx: remove references to WFxxx in comments
...
The WF200 is the only representative of the WFxxx series and the
development of any successor is not expected. So, for clarity, replace
occurrences of "WFxxx" with "WF200".
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-25-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:33 +02:00
Jérôme Pouiller
34ac73a400
staging: wfx: fix space after cast operator
...
checkpatch.pl reports that cast operators should not been followed by a
space.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-24-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:33 +02:00
Jérôme Pouiller
ade1d528bc
staging: wfx: remove useless debug statement
...
In the early age, it was unexpected to access a VIF that did not exist.
With current code, this happens frequently. Having a trace associated on
this event brings absolutely no informations.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-23-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:33 +02:00
Jérôme Pouiller
6742a9685c
staging: wfx: remove unused definition
...
The enum hif_fw_type is never used in the driver. Drop it.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-22-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:33 +02:00
Jérôme Pouiller
46d7eb5eda
staging: wfx: apply naming rules in hif_tx_mib.c
...
All the functions of hif_tx_mib.c format data to be sent to the
hardware. In this file, the struct to be sent is always named 'arg'.
Also applies this rule to hif_set_macaddr().
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-21-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:33 +02:00
Jérôme Pouiller
cbba71c22c
staging: wfx: fix error names
...
ENOTSUP is an alias of EOPNOTSUPP. However, EOPNOTSUPP is preferred.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-20-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:33 +02:00
Jérôme Pouiller
f22f9fdfd5
staging: wfx: reorder function for slightly better eye candy
...
For a code more eye candy, group all the unconditional assignments
together.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-19-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:33 +02:00
Jérôme Pouiller
2af2790cb2
staging: wfx: simplify hif_join()
...
The new code is smaller.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-18-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:32 +02:00
Jérôme Pouiller
07509c2a25
staging: wfx: declare variables at beginning of functions
...
For better code, we prefer to declare all the local variables at
beginning of the functions.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-17-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:32 +02:00
Jérôme Pouiller
ec61163806
staging: wfx: fix misleading 'rate_id' usage
...
The driver sometime use the term 'rate_id' to identify a retry policy
(which is in fact a series of rate IDs). This is misleading.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-16-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:32 +02:00
Jérôme Pouiller
e95c7ae9e3
staging: wfx: uniformize counter names
...
The device provide some internal statistic counters. However, the names
of counter were not very meaningful.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-15-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:32 +02:00
Jérôme Pouiller
46c5ab7c7c
staging: wfx: update with the firmware API 3.8
...
The firmware API 3.8 introduces new statistic counters. These changes
are backward compatible.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-14-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:32 +02:00
Jérôme Pouiller
2ac7521bf9
staging: wfx: simplify API coherency check
...
The 'channel' argument of hif_join() should never be NULL. hif_join()
does not have the responsibility to recover bug of caller.
In current code, if the argument channel is NULL, memory leaks. The new
code just emit a warning and does not give the illusion that it is
supported (and indeed a Oops will probably raise a few lines below).
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-13-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:32 +02:00
Jérôme Pouiller
08127ad2a7
staging: wfx: relax the PDS existence constraint
...
The PDS file contains antenna parameters. The file is specific to each
hardware design. Normally, the board designer should add a line in the
of_device_id table with his own antenna parameters.
Until, now the absence of PDS file is a hard fatal error. However,
during the development, in most of the cases, an empty PDS file is
sufficient to start WiFi communication.
This patch keep an error, but allow the user to play with the device.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-12-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:32 +02:00
Jérôme Pouiller
583f188e0c
staging: wfx: fix support for CSA
...
The WF200 is able to filter beacons. However, it uses a positive filter:
any change to an IE not listed won't be reported.
In current code, the changes in Channel Switch Announcement (CSA) are
not reported to the host. Thus, it fixes the support for CSA in station
mode.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-11-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:32 +02:00
Jérôme Pouiller
07903f0147
staging: wfx: declare support for TDLS
...
Since the firmware API 3.8, the device is able to support TDLS.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-10-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:32 +02:00
Jérôme Pouiller
d417232352
staging: wfx: take advantage of wfx_tx_queue_empty()
...
wfx_tx_queues_check_empty() can be slightly simplified by calling
wfx_tx_queue_empty().
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-9-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:32 +02:00
Jérôme Pouiller
14a26aa497
staging: wfx: fix atomic accesses in wfx_tx_queue_empty()
...
Checking if a skb_queue is empty is not an atomic operation. We should
take some precautions to do it.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-8-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:32 +02:00
Jérôme Pouiller
9f91e736c1
staging: wfx: drop unused argument from hif_scan()
...
It is no more necessary to compute the expected duration of the scan
request.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-7-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:32 +02:00
Jérôme Pouiller
8bce06b06b
staging: wfx: avoid possible lock-up during scan
...
If the environment is noisy, the device may take time to send scan
requests. Thus, scan requests durations > 5s have already been observed.
During the scan, traffic is neither received, neither sent. From the
user point-of-view, the traffic is frozen for a long time.
This patch reworks the scan processing. It gives to the device a smaller
time budget than previously. However, it does not expect the scan to be
complete and it is able to send another scan request to finish the work.
A big part of the patch aims to avoid an infinite loop if the device
goes crazy.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-6-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:31 +02:00
Jérôme Pouiller
10b72a7c59
staging: wfx: wait for SCAN_CMPL after a SCAN_STOP
...
When the device has finished a scan request, it send a scan complete
("SCAN_COMPL") indication. It is also possible to abort a scan request
with a "SCAN_STOP" message. A SCAN_COMPL is also send in this case.
The driver limits the delay to make a scan request. A timeout happens
almost never but is theoretically possible. Currently, if it happens
the driver does not wait for the SCAN_COMPL. Then, when the driver
starts the next scan request, the device may return -EBUSY (scan
requests often occur back-to-back).
This patch give a chance to the device to send a SCAN_COMPL after a scan
timeout.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-5-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:31 +02:00
Jérôme Pouiller
a5a8eb1fe7
staging: wfx: ignore PS when STA/AP share same channel
...
When multiple interface are in use. One is always AP while the other is
always station. When the two interface use the same channel, it makes no
sense to enabled Power Saving (PS) on the station. Indeed, because of
the AP, the device will be kept awake on this channel anyway.
In add, when multiple interface are in use, mac80211 does not update the
PS information and delegate to the driver responsibility to do the
right thing.
Thus, in the current code, when the user enable PS in this
configuration, the driver finally enable PS-Poll which is probably not
what the user expected.
This patch detect this case and applies a sane configuration in all
cases.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-4-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:31 +02:00
Jérôme Pouiller
0ccb2c9d05
staging: wfx: do not send CAB while scanning
...
During the scan requests, the Tx traffic is suspended. This lock is
shared by all the network interfaces. So, a scan request on one
interface will block the traffic on a second interface. This causes
trouble when the queued traffic contains CAB (Content After DTIM Beacon)
since this traffic cannot be delayed.
It could be possible to make the lock local to each interface. But It
would only push the problem further. The device won't be able to send
the CAB before the end of the scan.
So, this patch just ignore the DTIM indication when a scan is in
progress. The firmware will send another indication on the next DTIM and
this time the system will be able to send the traffic just behind the
beacon.
The only drawback of this solution is that the stations connected to
the AP will wait for traffic after the DTIM for nothing. But since the
case is really rare it is not a big deal.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-3-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:31 +02:00
Jérôme Pouiller
22af4990ff
staging: wfx: use abbreviated message for "incorrect sequence"
...
The wfx driver checks carefully the coherency of of the DTIM
notifications. We have noticed several times some small inconsistencies
from the firmware on these notification. They have never been critical.
However on the driver side they lead to big fat warnings. Worse, if
these warning are displayed on UART console, they can be long to display
(several hundreds of millisecs). Since, this warning is generated from a
work queue, it can delay all the workqueue users. Especially, it can
drastically slow down the frame management of the driver and then
generate errors that are serious this time (eg. an overflow of the
indication queue of the device).
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com >
Link: https://lore.kernel.org/r/20210913130203.1903622-2-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:16:31 +02:00
Michael Straube
e5a922a64b
staging: r8188eu: remove unnecessary include from odm_types.h
...
Including basic_types.h is not needed in odm_types.h.
Remove the include.
Signed-off-by: Michael Straube <straube.linux@gmail.com >
Link: https://lore.kernel.org/r/20210913192043.26527-4-straube.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:15:42 +02:00
Michael Straube
d039379b8e
staging: r8188eu: remove unused defines from odm_types.h
...
Remove unused defines from odm_types.h. This compiles without
introducing any new warnings.
Signed-off-by: Michael Straube <straube.linux@gmail.com >
Link: https://lore.kernel.org/r/20210913192043.26527-3-straube.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:15:42 +02:00
Michael Straube
eccc581432
staging: r8188eu: remove unused enum RT_SPINLOCK_TYPE
...
The enum RT_SPINLOCK_TYPE is not used in the driver, remove it.
Signed-off-by: Michael Straube <straube.linux@gmail.com >
Link: https://lore.kernel.org/r/20210913192043.26527-2-straube.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:15:42 +02:00
Martin Kaiser
a2bd64135b
staging: r8188eu: remove unused variable b_hw_radio_off
...
b_hw_radio_off in struct pwrctrl_priv is not used. Remove it.
Signed-off-by: Martin Kaiser <martin@kaiser.cx >
Link: https://lore.kernel.org/r/20210913185110.3065-9-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:15:14 +02:00
Martin Kaiser
1bc4e56bed
staging: r8188eu: remove unused variable cpwm_tog
...
cpwm_tog in struct pwrctrl_priv is not used. Remove it.
Signed-off-by: Martin Kaiser <martin@kaiser.cx >
Link: https://lore.kernel.org/r/20210913185110.3065-8-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:15:13 +02:00
Martin Kaiser
128aeafb14
staging: r8188eu: rtw_set_ips_deny is not used
...
Remove the rtw_set_ips_deny function since it's not used.
Signed-off-by: Martin Kaiser <martin@kaiser.cx >
Link: https://lore.kernel.org/r/20210913185110.3065-7-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:15:13 +02:00
Martin Kaiser
1738994c22
staging: r8188eu: remove unused enum and array
...
PS_BBRegBackup in struct pwrctrl_priv is not used. Remove this component
and the related enum _PS_BBRegBackup_.
Signed-off-by: Martin Kaiser <martin@kaiser.cx >
Link: https://lore.kernel.org/r/20210913185110.3065-6-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:15:13 +02:00
Martin Kaiser
a077ab1936
staging: r8188eu: remove unused pwrctrl definitions
...
Remove a bunch of unused defines and macros and an unused struct
from rtw_pwrctrl.h.
Signed-off-by: Martin Kaiser <martin@kaiser.cx >
Link: https://lore.kernel.org/r/20210913185110.3065-5-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:15:13 +02:00
Martin Kaiser
6729e75419
staging: r8188eu: _free_pwrlock is empty
...
Remove the empty _free_pwrlock function and rtw_free_pwrctrl_priv,
which is just a wrapper around _free_pwrlock.
Signed-off-by: Martin Kaiser <martin@kaiser.cx >
Link: https://lore.kernel.org/r/20210913185110.3065-4-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:15:13 +02:00
Martin Kaiser
a399a88206
staging: r8188eu: remove unused power state defines
...
Remove some unused defines and macros related to power states.
Signed-off-by: Martin Kaiser <martin@kaiser.cx >
Link: https://lore.kernel.org/r/20210913185110.3065-3-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:15:13 +02:00
Martin Kaiser
0f982e7e12
staging: r8188eu: remove rtw_set_rpwm
...
After we dropped the call to set HW_VAR_SET_RPWM, the rtw_set_rpwm
function doesn't do anything useful.
Remove the function and the rpwm component of struct pwrctrl_priv,
which is not used outside of rtw_set_rpwm.
Signed-off-by: Martin Kaiser <martin@kaiser.cx >
Link: https://lore.kernel.org/r/20210913185110.3065-2-martin@kaiser.cx
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-14 09:15:13 +02:00
Gaston Gonzalez
8757f705d9
staging: vchiq_dev: cleanup code alignment issues
...
Fix code alignment issues.
Reported by checkpatch.pl
Signed-off-by: Gaston Gonzalez <gascoar@gmail.com >
Link: https://lore.kernel.org/r/20210912133751.269885-2-gascoar@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-13 18:26:34 +02:00
Gaston Gonzalez
cfb24b67bf
staging: vchiq_dev: remove braces from if block
...
Remove unnecessary braces from if block.
Reported by checkpatch.pl
Signed-off-by: Gaston Gonzalez <gascoar@gmail.com >
Link: https://lore.kernel.org/r/20210912133751.269885-1-gascoar@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-13 18:26:34 +02:00
Michael Straube
d4466db8ab
staging: r8188eu: remove header file odm_reg.h
...
After removing unused register definitions from odm_reg.h there are
only two definitions left. Move them into odm.h and remove odm_reg.h.
Signed-off-by: Michael Straube <straube.linux@gmail.com >
Link: https://lore.kernel.org/r/20210913090831.13803-2-straube.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-13 18:24:23 +02:00
Michael Straube
73374fe162
staging: r8188eu: remove unused register definitions from odm_reg.h
...
Remove unused register definitions from odm_reg.h.
Signed-off-by: Michael Straube <straube.linux@gmail.com >
Link: https://lore.kernel.org/r/20210913090831.13803-1-straube.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-13 18:24:22 +02:00
Saurav Girepunje
b6f16ee1d7
staging: r8188eu: core: remove unused function rtw_set_tx_chksum_offload
...
Remove unused function rtw_set_tx_chksum_offload.
Signed-off-by: Saurav Girepunje <saurav.girepunje@gmail.com >
Link: https://lore.kernel.org/r/YT4xcJvvlPSIS+T6@user
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2021-09-13 18:23:52 +02:00