aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mwlwifi
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mwlwifi')
-rw-r--r--package/kernel/mwlwifi/Makefile6
-rw-r--r--package/kernel/mwlwifi/patches/001-remove-vfs_write.patch58
2 files changed, 58 insertions, 6 deletions
diff --git a/package/kernel/mwlwifi/Makefile b/package/kernel/mwlwifi/Makefile
index 9e32f3e9a4..8e9c88d304 100644
--- a/package/kernel/mwlwifi/Makefile
+++ b/package/kernel/mwlwifi/Makefile
@@ -15,9 +15,9 @@ PKG_LICENSE_FILES:=
PKG_SOURCE_URL:=https://github.com/kaloz/mwlwifi
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_DATE:=2018-01-18
-PKG_SOURCE_VERSION:=a149180fecec4fbaafb3f52ae46e33bd66501441
-PKG_MIRROR_HASH:=e5a791182208eea4602692e5453dc67bfe87f080b6f03b1c6d1657b546f93b31
+PKG_SOURCE_DATE:=2018-02-26
+PKG_SOURCE_VERSION:=51350a3e085a811179a270baddcae03ec9384f07
+PKG_MIRROR_HASH:=847f064b13e76e38402e118ee16569d49887051294eb99611cf025039721d4cc
PKG_MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
PKG_BUILD_PARALLEL:=1
diff --git a/package/kernel/mwlwifi/patches/001-remove-vfs_write.patch b/package/kernel/mwlwifi/patches/001-remove-vfs_write.patch
index 494599931f..f638dc6c9a 100644
--- a/package/kernel/mwlwifi/patches/001-remove-vfs_write.patch
+++ b/package/kernel/mwlwifi/patches/001-remove-vfs_write.patch
@@ -1,6 +1,6 @@
--- a/debugfs.c
+++ b/debugfs.c
-@@ -87,7 +87,6 @@ static void core_dump_file(u8 *valbuf, u
+@@ -279,7 +279,6 @@ static void core_dump_file(u8 *valbuf, u
u32 append, u32 totallen, bool textmode)
{
struct file *filp_core = NULL;
@@ -8,7 +8,7 @@
char file_name[40];
u8 *buf = kmalloc(length * 3, GFP_KERNEL);
u8 *data_p = buf;
-@@ -100,9 +99,6 @@ static void core_dump_file(u8 *valbuf, u
+@@ -292,9 +291,6 @@ static void core_dump_file(u8 *valbuf, u
sprintf(file_name, "/dev/shm/coredump-%x-%x",
region, (region + totallen));
@@ -18,7 +18,7 @@
if (append)
filp_core = filp_open(file_name, O_RDWR | O_APPEND, 0);
else
-@@ -125,15 +121,15 @@ static void core_dump_file(u8 *valbuf, u
+@@ -317,15 +313,15 @@ static void core_dump_file(u8 *valbuf, u
}
data_p = buf + j;
data_p += sprintf(data_p, "\n");
@@ -38,3 +38,55 @@
kfree(buf);
}
+@@ -1339,7 +1335,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;
+
+@@ -1355,13 +1350,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;
+ }
+@@ -1402,8 +1394,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;
+@@ -1427,8 +1419,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);
+@@ -1441,7 +1433,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);
+