mwlwifi: fix compile problem with kernel 4.14
vfs_write() is not exported on kernel 4.14 any more and kernel_write() should be used instead. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
8db89c4485
commit
de0d0c68c4
1 changed files with 92 additions and 0 deletions
92
package/kernel/mwlwifi/patches/001-remove-vfs_write.patch
Normal file
92
package/kernel/mwlwifi/patches/001-remove-vfs_write.patch
Normal file
|
@ -0,0 +1,92 @@
|
|||
--- a/debugfs.c
|
||||
+++ b/debugfs.c
|
||||
@@ -279,7 +279,6 @@ static void core_dump_file(u8 *valbuf, u
|
||||
u32 append, u32 totallen, bool textmode)
|
||||
{
|
||||
struct file *filp_core = NULL;
|
||||
- mm_segment_t oldfs;
|
||||
char file_name[40];
|
||||
u8 *buf = kmalloc(length * 3, GFP_KERNEL);
|
||||
u8 *data_p = buf;
|
||||
@@ -292,9 +291,6 @@ static void core_dump_file(u8 *valbuf, u
|
||||
sprintf(file_name, "/dev/shm/coredump-%x-%x",
|
||||
region, (region + totallen));
|
||||
|
||||
- oldfs = get_fs();
|
||||
- set_fs(KERNEL_DS);
|
||||
-
|
||||
if (append)
|
||||
filp_core = filp_open(file_name, O_RDWR | O_APPEND, 0);
|
||||
else
|
||||
@@ -317,15 +313,15 @@ static void core_dump_file(u8 *valbuf, u
|
||||
}
|
||||
data_p = buf + j;
|
||||
data_p += sprintf(data_p, "\n");
|
||||
- vfs_write(filp_core, buf, strlen(buf),
|
||||
- &filp_core->f_pos);
|
||||
+ kernel_write(filp_core, buf, strlen(buf),
|
||||
+ &filp_core->f_pos);
|
||||
} else
|
||||
- vfs_write(filp_core, valbuf, length, &filp_core->f_pos);
|
||||
+ kernel_write(filp_core, valbuf, length,
|
||||
+ &filp_core->f_pos);
|
||||
|
||||
filp_close(filp_core, current->files);
|
||||
}
|
||||
|
||||
- set_fs(oldfs);
|
||||
kfree(buf);
|
||||
}
|
||||
|
||||
@@ -1338,7 +1334,6 @@ static ssize_t mwl_debugfs_ba_hist_read(
|
||||
u8 bmap0flag, nobaflag;
|
||||
char buff[500], file_location[20];
|
||||
struct file *filp_bahisto;
|
||||
- mm_segment_t oldfs;
|
||||
u8 *data_p = buff;
|
||||
ssize_t ret;
|
||||
|
||||
@@ -1354,13 +1349,10 @@ static ssize_t mwl_debugfs_ba_hist_read(
|
||||
memset(file_location, 0, sizeof(file_location));
|
||||
sprintf(file_location, "/tmp/ba_histo-%d", priv->ba_aid);
|
||||
|
||||
- oldfs = get_fs();
|
||||
- set_fs(KERNEL_DS);
|
||||
filp_bahisto = filp_open(file_location,
|
||||
O_RDWR | O_CREAT | O_TRUNC, 0);
|
||||
|
||||
if (IS_ERR(filp_bahisto)) {
|
||||
- set_fs(oldfs);
|
||||
ret = -EIO;
|
||||
goto err;
|
||||
}
|
||||
@@ -1401,8 +1393,8 @@ static ssize_t mwl_debugfs_ba_hist_read(
|
||||
|
||||
/* Buffer is full. Write to file and reset buf */
|
||||
if ((strlen(buff) + 36) >= 500) {
|
||||
- vfs_write(filp_bahisto, buff, strlen(buff),
|
||||
- &filp_bahisto->f_pos);
|
||||
+ kernel_write(filp_bahisto, buff, strlen(buff),
|
||||
+ &filp_bahisto->f_pos);
|
||||
mdelay(2);
|
||||
memset(buff, 0, sizeof(buff));
|
||||
data_p = buff;
|
||||
@@ -1426,8 +1418,8 @@ static ssize_t mwl_debugfs_ba_hist_read(
|
||||
data_p += sprintf(data_p, "%8d\n", nobaflag);
|
||||
}
|
||||
|
||||
- vfs_write(filp_bahisto, buff, strlen(buff),
|
||||
- &filp_bahisto->f_pos);
|
||||
+ kernel_write(filp_bahisto, buff, strlen(buff),
|
||||
+ &filp_bahisto->f_pos);
|
||||
len += scnprintf(p + len, size - len,
|
||||
"hole: %d, expect: %d, bmap0: %d, noba: %d\n",
|
||||
baholecnt, baexpcnt, bmap0cnt, nobacnt);
|
||||
@@ -1440,7 +1432,6 @@ static ssize_t mwl_debugfs_ba_hist_read(
|
||||
priv->ba_aid);
|
||||
|
||||
filp_close(filp_bahisto, current->files);
|
||||
- set_fs(oldfs);
|
||||
|
||||
ret = simple_read_from_buffer(ubuf, count, ppos, p, len);
|
||||
|
Loading…
Reference in a new issue