diff options
Diffstat (limited to 'drivers/staging/rtl8723bs/os_dep/osdep_service.c')
-rw-r--r-- | drivers/staging/rtl8723bs/os_dep/osdep_service.c | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/drivers/staging/rtl8723bs/os_dep/osdep_service.c b/drivers/staging/rtl8723bs/os_dep/osdep_service.c index 73b87da15eb2..a5a5a5c8226a 100644 --- a/drivers/staging/rtl8723bs/os_dep/osdep_service.c +++ b/drivers/staging/rtl8723bs/os_dep/osdep_service.c @@ -107,7 +107,7 @@ static int readFile(struct file *fp, char *buf, int len) return -EPERM; while (sum<len) { - rlen =fp->f_op->read(fp, (char __force __user *)buf+sum, len-sum, &fp->f_pos); + rlen = kernel_read(fp, buf + sum, len - sum, &fp->f_pos); if (rlen>0) sum+=rlen; else if (0 != rlen) @@ -116,7 +116,7 @@ static int readFile(struct file *fp, char *buf, int len) break; } - return sum; + return sum; } @@ -129,22 +129,16 @@ static int isFileReadable(char *path) { struct file *fp; int ret = 0; - mm_segment_t oldfs; char buf; fp =filp_open(path, O_RDONLY, 0); - if (IS_ERR(fp)) { - ret = PTR_ERR(fp); - } - else { - oldfs = get_fs(); set_fs(KERNEL_DS); + if (IS_ERR(fp)) + return PTR_ERR(fp); - if (1!=readFile(fp, &buf, 1)) - ret = -EINVAL; + if (readFile(fp, &buf, 1) != 1) + ret = -EINVAL; - set_fs(oldfs); - filp_close(fp, NULL); - } + filp_close(fp, NULL); return ret; } @@ -158,16 +152,15 @@ static int isFileReadable(char *path) static int retriveFromFile(char *path, u8 *buf, u32 sz) { int ret =-1; - mm_segment_t oldfs; struct file *fp; if (path && buf) { - if (0 == (ret =openFile(&fp, path, O_RDONLY, 0))) { + ret = openFile(&fp, path, O_RDONLY, 0); + + if (ret == 0) { DBG_871X("%s openFile path:%s fp =%p\n", __func__, path , fp); - oldfs = get_fs(); set_fs(KERNEL_DS); ret =readFile(fp, buf, sz); - set_fs(oldfs); closeFile(fp); DBG_871X("%s readFile, ret:%d\n", __func__, ret); @@ -248,7 +241,7 @@ RETURN: return pnetdev; } -void rtw_free_netdev(struct net_device * netdev) +void rtw_free_netdev(struct net_device *netdev) { struct rtw_netdev_priv_indicator *pnpi; |