[PATCH 45/55] staging: wfx: device already handle sleep mode during scan

Jérôme Pouiller
2019-12-16T17:08:26Z

The device is not allowed to enter in sleep mode during scan. However,
this is already handled by the device. So driver does not have to care
about it.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
---
drivers/staging/wfx/bh.c | 3 +--
drivers/staging/wfx/scan.c | 3 ---
drivers/staging/wfx/wfx.h | 1 -
3 files changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/staging/wfx/bh.c b/drivers/staging/wfx/bh.c
index 2432ba95c2f5..983c41d1fe7c 100644
--- a/drivers/staging/wfx/bh.c
+++ b/drivers/staging/wfx/bh.c
@@ -271,8 +271,7 @@ static void bh_work(struct work_struct *work)

if (last_op_is_rx)
ack_sdio_data(wdev);
- if (!wdev->hif.tx_buffers_used && !work_pending(work) &&
- !atomic_read(&wdev->scan_in_progress)) {
+ if (!wdev->hif.tx_buffers_used && !work_pending(work)) {
device_release(wdev);
release_chip = true;
}
diff --git a/drivers/staging/wfx/scan.c b/drivers/staging/wfx/scan.c
index cdccb67cb30e..397fe511d34a 100644
--- a/drivers/staging/wfx/scan.c
+++ b/drivers/staging/wfx/scan.c
@@ -44,7 +44,6 @@ static int wfx_scan_start(struct wfx_vif *wvif, struct wfx_scan_params *scan)
tmo += scan->scan_req.num_of_channels *
((20 * (scan->scan_req.max_channel_time)) + 10);
atomic_set(&wvif->scan.in_progress, 1);
- atomic_set(&wvif->wdev->scan_in_progress, 1);

schedule_delayed_work(&wvif->scan.timeout, msecs_to_jiffies(tmo));
hif_scan(wvif, scan);
@@ -232,8 +231,6 @@ void wfx_scan_work(struct work_struct *work)
static void wfx_scan_complete(struct wfx_vif *wvif)
{
up(&wvif->scan.lock);
- atomic_set(&wvif->wdev->scan_in_progress, 0);
-
wfx_scan_work(&wvif->scan.work);
}

diff --git a/drivers/staging/wfx/wfx.h b/drivers/staging/wfx/wfx.h
index f396a502283e..97373d047f58 100644
--- a/drivers/staging/wfx/wfx.h
+++ b/drivers/staging/wfx/wfx.h
@@ -60,7 +60,6 @@ struct wfx_dev {
struct mutex rx_stats_lock;

int output_power;
- atomic_t scan_in_progress;
};

struct wfx_vif {
--
2.20.1