Refreshed all patches.
Compile-tested on: ar7
Runtime-tested on: none
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
endif
-LINUX_VERSION-4.9 = .206
+LINUX_VERSION-4.9 = .207
LINUX_VERSION-4.14 = .160
LINUX_VERSION-4.19 = .91
-LINUX_KERNEL_HASH-4.9.206 = 1df27899a9bc4dd874f3830ab9e7b638f0026dffd67a2e230444e5d2805ccad6
+LINUX_KERNEL_HASH-4.9.207 = ca86637e7b5bec65eeb7da695824e0e8aca5ba52eb742885f0b7241977400124
LINUX_KERNEL_HASH-4.14.160 = c60326bad1bcdede514ca8a0bb96843fa7578ef00829cced6218b888b2efa92c
LINUX_KERNEL_HASH-4.19.91 = f403c3dee12ded0af1889c78871abf7a531a978ba423f1ca772de702a92c3447
config ATH25
bool "Atheros AR231x/AR531x SoC support"
-@@ -1006,6 +1006,7 @@ config MIPS_PARAVIRT
+@@ -1007,6 +1007,7 @@ config MIPS_PARAVIRT
endchoice
source "arch/mips/alchemy/Kconfig"
return (struct tcp_sock *)sk;
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
-@@ -789,10 +789,10 @@ static void tcp_tasklet_func(unsigned lo
+@@ -790,10 +790,10 @@ static void tcp_tasklet_func(unsigned lo
}
}
/**
* tcp_release_cb - tcp release_sock() callback
* @sk: socket
-@@ -813,7 +813,7 @@ void tcp_release_cb(struct sock *sk)
+@@ -814,7 +814,7 @@ void tcp_release_cb(struct sock *sk)
nflags = flags & ~TCP_DEFERRED_ALL;
} while (cmpxchg(&tp->tsq_flags, flags, nflags) != flags);
tcp_tsq_handler(sk);
/* Here begins the tricky part :
-@@ -827,15 +827,15 @@ void tcp_release_cb(struct sock *sk)
+@@ -828,15 +828,15 @@ void tcp_release_cb(struct sock *sk)
*/
sock_release_ownership(sk);
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
-@@ -865,6 +865,7 @@ void tcp_wfree(struct sk_buff *skb)
+@@ -866,6 +866,7 @@ void tcp_wfree(struct sk_buff *skb)
{
struct sock *sk = skb->sk;
struct tcp_sock *tp = tcp_sk(sk);
int wmem;
/* Keep one reference on sk_wmem_alloc.
-@@ -882,11 +883,17 @@ void tcp_wfree(struct sk_buff *skb)
+@@ -883,11 +884,17 @@ void tcp_wfree(struct sk_buff *skb)
if (wmem >= SKB_TRUESIZE(1) && this_cpu_ksoftirqd() == current)
goto out;
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
-@@ -772,19 +772,19 @@ static void tcp_tasklet_func(unsigned lo
+@@ -773,19 +773,19 @@ static void tcp_tasklet_func(unsigned lo
list_for_each_safe(q, n, &list) {
tp = list_entry(q, struct tcp_sock, tsq_node);
list_del(&tp->tsq_node);
sk_free(sk);
}
}
-@@ -889,7 +889,7 @@ void tcp_wfree(struct sk_buff *skb)
+@@ -890,7 +890,7 @@ void tcp_wfree(struct sk_buff *skb)
if (!(oval & TSQF_THROTTLED) || (oval & TSQF_QUEUED))
goto out;
nval = cmpxchg(&tp->tsq_flags, oval, nval);
if (nval != oval)
continue;
-@@ -2236,6 +2236,8 @@ static bool tcp_write_xmit(struct sock *
+@@ -2237,6 +2237,8 @@ static bool tcp_write_xmit(struct sock *
unlikely(tso_fragment(sk, skb, limit, mss_now, gfp)))
break;
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
-@@ -885,6 +885,7 @@ void tcp_wfree(struct sk_buff *skb)
+@@ -886,6 +886,7 @@ void tcp_wfree(struct sk_buff *skb)
for (oval = READ_ONCE(tp->tsq_flags);; oval = nval) {
struct tsq_tasklet *tsq;
if (!(oval & TSQF_THROTTLED) || (oval & TSQF_QUEUED))
goto out;
-@@ -897,8 +898,10 @@ void tcp_wfree(struct sk_buff *skb)
+@@ -898,8 +899,10 @@ void tcp_wfree(struct sk_buff *skb)
/* queue this socket to tasklet queue */
local_irq_save(flags);
tsq = this_cpu_ptr(&tsq_tasklet);
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
-@@ -2141,6 +2141,15 @@ static bool tcp_small_queue_check(struct
+@@ -2142,6 +2142,15 @@ static bool tcp_small_queue_check(struct
limit <<= factor;
if (atomic_read(&sk->sk_wmem_alloc) > limit) {
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
-@@ -1973,26 +1973,26 @@ static bool tcp_can_coalesce_send_queue_
+@@ -1974,26 +1974,26 @@ static bool tcp_can_coalesce_send_queue_
*/
static int tcp_mtu_probe(struct sock *sk)
{
goto out;
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
-@@ -772,14 +772,15 @@ static void tcp_tasklet_func(unsigned lo
+@@ -773,14 +773,15 @@ static void tcp_tasklet_func(unsigned lo
list_for_each_safe(q, n, &list) {
tp = list_entry(q, struct tcp_sock, tsq_node);
list_del(&tp->tsq_node);
tcp_tsq_handler(sk);
}
bh_unlock_sock(sk);
-@@ -802,16 +803,15 @@ static void tcp_tasklet_func(unsigned lo
+@@ -803,16 +804,15 @@ static void tcp_tasklet_func(unsigned lo
*/
void tcp_release_cb(struct sock *sk)
{
if (flags & TCPF_TSQ_DEFERRED)
tcp_tsq_handler(sk);
-@@ -883,7 +883,7 @@ void tcp_wfree(struct sk_buff *skb)
+@@ -884,7 +884,7 @@ void tcp_wfree(struct sk_buff *skb)
if (wmem >= SKB_TRUESIZE(1) && this_cpu_ksoftirqd() == current)
goto out;
struct tsq_tasklet *tsq;
bool empty;
-@@ -891,7 +891,7 @@ void tcp_wfree(struct sk_buff *skb)
+@@ -892,7 +892,7 @@ void tcp_wfree(struct sk_buff *skb)
goto out;
nval = (oval & ~TSQF_THROTTLED) | TSQF_QUEUED | TCPF_TSQ_DEFERRED;
if (nval != oval)
continue;
-@@ -2150,7 +2150,7 @@ static bool tcp_small_queue_check(struct
+@@ -2151,7 +2151,7 @@ static bool tcp_small_queue_check(struct
skb->prev == sk->sk_write_queue.next)
return false;
/* It is possible TX completion already happened
* before we set TSQ_THROTTLED, so we must
* test again the condition.
-@@ -2248,8 +2248,8 @@ static bool tcp_write_xmit(struct sock *
+@@ -2249,8 +2249,8 @@ static bool tcp_write_xmit(struct sock *
unlikely(tso_fragment(sk, skb, limit, mss_now, gfp)))
break;
if (tcp_small_queue_check(sk, skb, 0))
break;
-@@ -3560,8 +3560,6 @@ void __tcp_send_ack(struct sock *sk, u32
+@@ -3561,8 +3561,6 @@ void __tcp_send_ack(struct sock *sk, u32
/* We do not want pure acks influencing TCP Small Queues or fq/pacing
* too much.
* SKB_TRUESIZE(max(1 .. 66, MAX_TCP_HEADER)) is unfortunately ~784
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
-@@ -774,6 +774,7 @@ static void tcp_tasklet_func(unsigned lo
+@@ -775,6 +775,7 @@ static void tcp_tasklet_func(unsigned lo
list_del(&tp->tsq_node);
sk = (struct sock *)tp;
* Before updating sk_refcnt, we must commit prior changes to memory
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
-@@ -1606,7 +1606,7 @@ u32 tcp_tso_autosize(const struct sock *
+@@ -1607,7 +1607,7 @@ u32 tcp_tso_autosize(const struct sock *
{
u32 bytes, segs;
sk->sk_gso_max_size - 1 - MAX_TCP_HEADER);
/* Goal is to send at least one packet per ms,
-@@ -2137,7 +2137,7 @@ static bool tcp_small_queue_check(struct
+@@ -2138,7 +2138,7 @@ static bool tcp_small_queue_check(struct
{
unsigned int limit;
int (*_suspend) (struct mtd_info *mtd);
void (*_resume) (struct mtd_info *mtd);
void (*_reboot) (struct mtd_info *mtd);
-@@ -397,6 +398,18 @@ static inline int mtd_oobavail(struct mt
+@@ -397,6 +398,18 @@ static inline u32 mtd_oobavail(struct mt
return ops->mode == MTD_OPS_AUTO_OOB ? mtd->oobavail : mtd->oobsize;
}
--- a/drivers/net/wireless/ath/ath10k/pci.c
+++ b/drivers/net/wireless/ath/ath10k/pci.c
-@@ -2803,7 +2803,7 @@ static int ath10k_pci_napi_poll(struct n
+@@ -2804,7 +2804,7 @@ static int ath10k_pci_napi_poll(struct n
done = ath10k_htt_txrx_compl_task(ar, budget);
if (done < budget) {
config MODULES_TREE_LOOKUP
--- a/kernel/module.c
+++ b/kernel/module.c
-@@ -2968,9 +2968,11 @@ static struct module *setup_load_info(st
+@@ -2970,9 +2970,11 @@ static struct module *setup_load_info(st
static int check_modinfo(struct module *mod, struct load_info *info, int flags)
{
if (flags & MODULE_INIT_IGNORE_VERMAGIC)
modmagic = NULL;
-@@ -2991,6 +2993,7 @@ static int check_modinfo(struct module *
+@@ -2993,6 +2995,7 @@ static int check_modinfo(struct module *
mod->name);
add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK);
}
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
-@@ -1967,7 +1967,9 @@ static void read_symbols(char *modname)
+@@ -1979,7 +1979,9 @@ static void read_symbols(char *modname)
symname = remove_dot(info.strtab + sym->st_name);
handle_modversions(mod, &info, sym, symname);
}
if (!is_vmlinux(modname) ||
(is_vmlinux(modname) && vmlinux_section_warnings))
-@@ -2111,7 +2113,9 @@ static void add_header(struct buffer *b,
+@@ -2123,7 +2125,9 @@ static void add_header(struct buffer *b,
buf_printf(b, "#include <linux/vermagic.h>\n");
buf_printf(b, "#include <linux/compiler.h>\n");
buf_printf(b, "\n");
buf_printf(b, "\n");
buf_printf(b, "__visible struct module __this_module\n");
buf_printf(b, "__attribute__((section(\".gnu.linkonce.this_module\"))) = {\n");
-@@ -2128,24 +2132,30 @@ static void add_header(struct buffer *b,
+@@ -2140,24 +2144,30 @@ static void add_header(struct buffer *b,
static void add_intree_flag(struct buffer *b, int is_intree)
{
}
/* In kernel, this size is defined in linux/module.h;
-@@ -2249,11 +2259,13 @@ static void add_depends(struct buffer *b
+@@ -2261,11 +2271,13 @@ static void add_depends(struct buffer *b
static void add_srcversion(struct buffer *b, struct module *mod)
{
}
static void write_if_changed(struct buffer *b, const char *fname)
-@@ -2488,7 +2500,9 @@ int main(int argc, char **argv)
+@@ -2500,7 +2512,9 @@ int main(int argc, char **argv)
add_staging_flag(&buf, mod->name);
err |= add_versions(&buf, mod);
add_depends(&buf, mod, modules);
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -1157,6 +1157,10 @@ config SYNC_R4K
+@@ -1158,6 +1158,10 @@ config SYNC_R4K
config MIPS_MACHINE
def_bool n
const struct header_ops *header_ops;
unsigned int flags;
-@@ -1783,6 +1790,10 @@ struct net_device {
+@@ -1788,6 +1795,10 @@ struct net_device {
struct mpls_dev __rcu *mpls_ptr;
#endif
---
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -1066,9 +1066,6 @@ config FW_ARC
+@@ -1067,9 +1067,6 @@ config FW_ARC
config ARCH_MAY_HAVE_PC_FDC
bool
config CEVT_BCM1480
bool
-@@ -2965,6 +2962,18 @@ choice
+@@ -2966,6 +2963,18 @@ choice
bool "Extend builtin kernel arguments with bootloader arguments"
endchoice
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -2889,6 +2889,20 @@ config MIPS_O32_FP64_SUPPORT
+@@ -2890,6 +2890,20 @@ config MIPS_O32_FP64_SUPPORT
If unsure, say N.
select HAVE_PCSPKR_PLATFORM
select IRQ_MIPS_CPU
select I8253
-@@ -1127,6 +1129,9 @@ config DMA_NONCOHERENT
+@@ -1128,6 +1130,9 @@ config DMA_NONCOHERENT
bool
select NEED_DMA_MAP_STATE
config NEED_DMA_MAP_STATE
bool
-@@ -1651,6 +1656,7 @@ config CPU_R10000
+@@ -1652,6 +1657,7 @@ config CPU_R10000
select CPU_SUPPORTS_64BIT_KERNEL
select CPU_SUPPORTS_HIGHMEM
select CPU_SUPPORTS_HUGEPAGES
help
MIPS Technologies R10000-series processors.
-@@ -1896,9 +1902,11 @@ config SYS_HAS_CPU_MIPS32_R3_5
+@@ -1897,9 +1903,11 @@ config SYS_HAS_CPU_MIPS32_R3_5
bool
config SYS_HAS_CPU_MIPS32_R5
bool
config SYS_HAS_CPU_MIPS64_R1
-@@ -1908,6 +1916,7 @@ config SYS_HAS_CPU_MIPS64_R2
+@@ -1909,6 +1917,7 @@ config SYS_HAS_CPU_MIPS64_R2
bool
config SYS_HAS_CPU_MIPS64_R6
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -1752,6 +1752,8 @@ struct net_device {
+@@ -1757,6 +1757,8 @@ struct net_device {
struct netdev_hw_addr_list mc;
struct netdev_hw_addr_list dev_addrs;
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
&changeupper_info.info);
}
-@@ -6667,6 +6714,7 @@ int dev_set_mac_address(struct net_devic
+@@ -6668,6 +6715,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
--- a/drivers/usb/core/urb.c
+++ b/drivers/usb/core/urb.c
-@@ -321,9 +321,6 @@ EXPORT_SYMBOL_GPL(usb_unanchor_urb);
+@@ -322,9 +322,6 @@ EXPORT_SYMBOL_GPL(usb_unanchor_urb);
*/
int usb_submit_urb(struct urb *urb, gfp_t mem_flags)
{
int xfertype, max;
struct usb_device *dev;
struct usb_host_endpoint *ep;
-@@ -441,11 +438,6 @@ int usb_submit_urb(struct urb *urb, gfp_
+@@ -442,11 +439,6 @@ int usb_submit_urb(struct urb *urb, gfp_
* cause problems in HCDs if they get it wrong.
*/
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
-@@ -456,7 +456,7 @@ extern void uart_handle_cts_change(struc
+@@ -457,7 +457,7 @@ extern void uart_handle_cts_change(struc
extern void uart_insert_char(struct uart_port *port, unsigned int status,
unsigned int overrun, unsigned int ch, unsigned int flag);
unsigned int read_status_mask; /* driver specific */
unsigned int ignore_status_mask; /* driver specific */
-@@ -233,6 +234,7 @@ struct uart_port {
+@@ -234,6 +235,7 @@ struct uart_port {
int hw_stopped; /* sw-assisted CTS flow state */
unsigned int mctrl; /* current modem ctrl settings */
unsigned int timeout; /* character-based timeout */