diff options
author | Arend van Spriel <arend@broadcom.com> | 2011-08-08 15:58:26 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-08-23 13:00:02 -0700 |
commit | 3f7e0c5df5910157441b680622447c903436f04a (patch) | |
tree | 263eb421b568c87ab3112bf711b2e28f84e8f3df | |
parent | 1fda276eb1707ec9cef3d00c293d7cb488af7ca6 (diff) | |
download | op-kernel-dev-3f7e0c5df5910157441b680622447c903436f04a.zip op-kernel-dev-3f7e0c5df5910157441b680622447c903436f04a.tar.gz |
staging: brcm80211: replace simple_strtoul usage in brcmsmac
The usage of simple_strtoul is not preferred. Instead kstrtoul
should be used. This patch fixes this for the brcmsmac driver.
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Roland Vossen <rvossen@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/staging/brcm80211/brcmsmac/main.c | 16 | ||||
-rw-r--r-- | drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c | 7 |
2 files changed, 13 insertions, 10 deletions
diff --git a/drivers/staging/brcm80211/brcmsmac/main.c b/drivers/staging/brcm80211/brcmsmac/main.c index 5c97778..001a1f7 100644 --- a/drivers/staging/brcm80211/brcmsmac/main.c +++ b/drivers/staging/brcm80211/brcmsmac/main.c @@ -4287,16 +4287,17 @@ int brcms_b_attach(struct brcms_c_info *wlc, u16 vendor, u16 device, uint unit, #endif if (bustype != SI_BUS) { char *var; + unsigned long res; var = getvar(vars, "vendid"); - if (var) { - vendor = (u16) simple_strtoul(var, NULL, 0); + if (var && !kstrtoul(var, 0, &res)) { + vendor = (u16)res; wiphy_err(wiphy, "Overriding vendor id = 0x%x\n", vendor); } var = getvar(vars, "devid"); - if (var) { - u16 devid = (u16) simple_strtoul(var, NULL, 0); + if (var && !kstrtoul(var, 0, &res)) { + u16 devid = (u16)res; if (devid != 0xffff) { device = devid; wiphy_err(wiphy, "Overriding device id = 0x%x" @@ -9596,10 +9597,11 @@ char *getvar(char *vars, const char *name) int getintvar(char *vars, const char *name) { char *val; + unsigned long res; val = getvar(vars, name); - if (val == NULL) - return 0; + if (val && !kstrtoul(val, 0, &res)) + return res; - return simple_strtoul(val, NULL, 0); + return 0; } diff --git a/drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c b/drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c index 582df4a..22f7bfc 100644 --- a/drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c +++ b/drivers/staging/brcm80211/brcmsmac/phy/phy_cmn.c @@ -174,12 +174,13 @@ char *phy_getvar(struct brcms_phy *pi, const char *name) int phy_getintvar(struct brcms_phy *pi, const char *name) { char *val; + unsigned long res; val = PHY_GETVAR(pi, name); - if (val == NULL) - return 0; + if (val && !kstrtoul(val, 0, &res)) + return res; - return simple_strtoul(val, NULL, 0); + return 0; } void wlc_phyreg_enter(struct brcms_phy_pub *pih) |