OSDN Git Service

staging: wfx: device already handle sleep mode during scan
authorJérôme Pouiller <jerome.pouiller@silabs.com>
Tue, 17 Dec 2019 16:15:29 +0000 (16:15 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Dec 2019 14:56:26 +0000 (15:56 +0100)
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>
Link: https://lore.kernel.org/r/20191217161318.31402-46-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wfx/bh.c
drivers/staging/wfx/scan.c
drivers/staging/wfx/wfx.h

index 2432ba9..983c41d 100644 (file)
@@ -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;
        }
index cdccb67..397fe51 100644 (file)
@@ -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 @@ fail:
 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);
 }
 
index f396a50..97373d0 100644 (file)
@@ -60,7 +60,6 @@ struct wfx_dev {
        struct mutex            rx_stats_lock;
 
        int                     output_power;
-       atomic_t                scan_in_progress;
 };
 
 struct wfx_vif {