Skip to content

Commit

Permalink
staging: rtl8188eu: Use kstrtoul() for string to long conversion
Browse files Browse the repository at this point in the history
Signed-off-by: navin patidar <navin.patidar@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
navin patidar authored and Greg Kroah-Hartman committed Jun 27, 2014
1 parent fb46424 commit a733e46
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 27 deletions.
3 changes: 0 additions & 3 deletions drivers/staging/rtl8188eu/include/osdep_service.h
Original file line number Diff line number Diff line change
Expand Up @@ -211,9 +211,6 @@ u32 rtw_ms_to_systime(u32 ms);
s32 rtw_get_passing_time_ms(u32 start);
s32 rtw_get_time_interval_ms(u32 start, u32 end);


u32 rtw_atoi(u8 *s);

static inline unsigned char _cancel_timer_ex(struct timer_list *ptimer)
{
return del_timer_sync(ptimer);
Expand Down
24 changes: 17 additions & 7 deletions drivers/staging/rtl8188eu/os_dep/ioctl_linux.c
Original file line number Diff line number Diff line change
Expand Up @@ -6590,18 +6590,23 @@ static int rtw_mp_rate(struct net_device *dev,
struct iw_request_info *info,
struct iw_point *wrqu, char *extra)
{
u32 rate = MPT_RATE_1M;
unsigned long rate = MPT_RATE_1M;
char *input = kmalloc(wrqu->length, GFP_KERNEL);
struct adapter *padapter = rtw_netdev_priv(dev);
int status;

if (!input)
return -ENOMEM;
if (copy_from_user(input, wrqu->pointer, wrqu->length)) {
kfree(input);
return -EFAULT;
}
rate = rtw_atoi(input);
sprintf(extra, "Set data rate to %d", rate);

status = kstrtoul(input, 0, &rate);
if (status)
return status;

sprintf(extra, "Set data rate to %lu", rate);
kfree(input);
if (rate <= 0x7f)
rate = wifirate2_ratetbl_inx((u8)rate);
Expand All @@ -6623,17 +6628,22 @@ static int rtw_mp_channel(struct net_device *dev,
struct iw_point *wrqu, char *extra)
{
struct adapter *padapter = rtw_netdev_priv(dev);
char *input = kmalloc(wrqu->length, GFP_KERNEL);
u32 channel = 1;
char *input = kmalloc(wrqu->length, GFP_KERNEL);
unsigned long channel = 1;
int status;

if (!input)
return -ENOMEM;
if (copy_from_user(input, wrqu->pointer, wrqu->length)) {
kfree(input);
return -EFAULT;
}
channel = rtw_atoi(input);
sprintf(extra, "Change channel %d to channel %d", padapter->mppriv.channel, channel);

status = kstrtoul(input, 0, &channel);
if (status)
return status;

sprintf(extra, "Change channel %d to channel %lu", padapter->mppriv.channel, channel);

padapter->mppriv.channel = channel;
Hal_SetChannel(padapter);
Expand Down
17 changes: 0 additions & 17 deletions drivers/staging/rtl8188eu/os_dep/osdep_service.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,23 +39,6 @@ inline int RTW_STATUS_CODE(int error_code)
return _FAIL;
}

u32 rtw_atoi(u8 *s)
{
int num = 0, flag = 0;
int i;
for (i = 0; i <= strlen(s); i++) {
if (s[i] >= '0' && s[i] <= '9')
num = num * 10 + s[i] - '0';
else if (s[0] == '-' && i == 0)
flag = 1;
else
break;
}
if (flag == 1)
num = num * -1;
return num;
}

u8 *_rtw_malloc(u32 sz)
{
u8 *pbuf = NULL;
Expand Down

0 comments on commit a733e46

Please sign in to comment.