diff options
Diffstat (limited to 'package/kernel/mwlwifi')
-rw-r--r-- | package/kernel/mwlwifi/Makefile | 6 | ||||
-rw-r--r-- | package/kernel/mwlwifi/patches/001-remove-vfs_write.patch | 58 |
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); + |