]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
staging: vt6656: Power save stop wake_up_count wrap around.
authorMalcolm Priestley <tvboxspy@gmail.com>
Tue, 14 Apr 2020 10:39:23 +0000 (11:39 +0100)
committerStefan Bader <stefan.bader@canonical.com>
Thu, 14 May 2020 08:54:15 +0000 (10:54 +0200)
BugLink: https://bugs.launchpad.net/bugs/1877461
commit ea81c3486442f4643fc9825a2bb1b430b829bccd upstream.

conf.listen_interval can sometimes be zero causing wake_up_count
to wrap around up to many beacons too late causing
CTRL-EVENT-BEACON-LOSS as in.

wpa_supplicant[795]: message repeated 45 times: [..CTRL-EVENT-BEACON-LOSS ]

Fixes: 43c93d9bf5e2 ("staging: vt6656: implement power saving code.")
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Link: https://lore.kernel.org/r/fce47bb5-7ca6-7671-5094-5c6107302f2b@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/staging/vt6656/int.c

index c521729c4192cb500198a3252001d363211f026b..d5d89e83630936d519065921c015e6fdc780bea2 100644 (file)
@@ -153,7 +153,8 @@ void vnt_int_process_data(struct vnt_private *priv)
                                priv->wake_up_count =
                                        priv->hw->conf.listen_interval;
 
-                       --priv->wake_up_count;
+                       if (priv->wake_up_count)
+                               --priv->wake_up_count;
 
                        /* Turn on wake up to listen next beacon */
                        if (priv->wake_up_count == 1)