rtw_pm_set() uses memcmp() with 5-chars strings and a length of 4 when parsing extra, and then parses extra+4 as an int: if (!memcmp(extra, "lps =", 4)) { sscanf(extra+4, "%u", &mode); /* ... */ } else if (!memcmp(extra, "ips =", 4)) { sscanf(extra+4, "%u", &mode); The space between the key ("lps" and "ips") and the equal sign seems suspicious. Remove it in order to make the calls to memcmp() consistent. Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@xxxxxxx> --- drivers/staging/rtl8723bs/os_dep/ioctl_linux.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c b/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c index 3fca0c2d4c8d..ffcfefefc898 100644 --- a/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_linux.c @@ -4561,10 +4561,10 @@ static int rtw_pm_set(struct net_device *dev, DBG_871X("[%s] extra = %s\n", __func__, extra); - if (!memcmp(extra, "lps =", 4)) { + if (!memcmp(extra, "lps=", 4)) { sscanf(extra+4, "%u", &mode); ret = rtw_pm_set_lps(padapter, mode); - } else if (!memcmp(extra, "ips =", 4)) { + } else if (!memcmp(extra, "ips=", 4)) { sscanf(extra+4, "%u", &mode); ret = rtw_pm_set_ips(padapter, mode); } else { -- 2.15.0 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel