[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191217161318.31402-46-Jerome.Pouiller@silabs.com>
Date: Tue, 17 Dec 2019 16:15:29 +0000
From: Jérôme Pouiller <Jerome.Pouiller@...abs.com>
To: "devel@...verdev.osuosl.org" <devel@...verdev.osuosl.org>,
"linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Kalle Valo <kvalo@...eaurora.org>,
"David S . Miller" <davem@...emloft.net>,
Jérôme Pouiller <Jerome.Pouiller@...abs.com>
Subject: [PATCH v2 45/55] staging: wfx: device already handle sleep mode
during scan
From: Jérôme Pouiller <jerome.pouiller@...abs.com>
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@...abs.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.24.0
Powered by blists - more mailing lists