From: Malcolm Priestley Date: Tue, 14 Apr 2020 10:39:23 +0000 (+0100) Subject: staging: vt6656: Power save stop wake_up_count wrap around. X-Git-Tag: v4.14.178~42 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=31ee8dfac96aa68a04b05fd7c573dd509a27ed0d;p=thirdparty%2Fkernel%2Fstable.git staging: vt6656: Power save stop wake_up_count wrap around. 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 Signed-off-by: Malcolm Priestley Link: https://lore.kernel.org/r/fce47bb5-7ca6-7671-5094-5c6107302f2b@gmail.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/vt6656/int.c b/drivers/staging/vt6656/int.c index c521729c4192c..d5d89e8363093 100644 --- a/drivers/staging/vt6656/int.c +++ b/drivers/staging/vt6656/int.c @@ -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)