kernel: update kernel 4.9 to version 4.9.232

821-usb-Remove-annoying-warning-about-bogus-URB.patch does not apply any
more and was also deleted in master and nobody complained. ;-)

Compile and runtime tested on lantiq/xrx200.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Hauke Mehrtens 2020-08-07 16:43:18 +02:00
parent 35e9edc3df
commit f9ffdf8825
16 changed files with 33 additions and 109 deletions

View File

@ -2,10 +2,10 @@
LINUX_RELEASE?=1
LINUX_VERSION-4.9 = .229
LINUX_VERSION-4.9 = .232
LINUX_VERSION-4.14 = .193
LINUX_KERNEL_HASH-4.9.229 = 3256c2835fd95a1a739603e78b02d363eac2ce73a39fa19b13b32da4fc370fdc
LINUX_KERNEL_HASH-4.9.232 = 58f472e82345dc719a1d6d7bae01e5aa73387cd83308acd2c92371f7d5bc4f60
LINUX_KERNEL_HASH-4.14.193 = 0b0fb41d4430e1a42738b341cbfd2f41951aa5cd02acabbd53f076119c8b9f03
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))

View File

@ -795,7 +795,7 @@
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -3934,14 +3934,16 @@ static bool tcp_parse_aligned_timestamp(
@@ -3935,14 +3935,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);

View File

@ -25,7 +25,7 @@ Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
u32 *data, int in_pm)
{
@@ -1961,7 +1965,8 @@ static int smsc95xx_rx_fixup(struct usbn
@@ -1968,7 +1972,8 @@ static int smsc95xx_rx_fixup(struct usbn
if (dev->net->features & NETIF_F_RXCSUM)
smsc95xx_rx_csum_offload(skb);
skb_trim(skb, skb->len - 4); /* remove fcs */
@ -35,7 +35,7 @@ Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
return 1;
}
@@ -1979,7 +1984,8 @@ static int smsc95xx_rx_fixup(struct usbn
@@ -1986,7 +1991,8 @@ static int smsc95xx_rx_fixup(struct usbn
if (dev->net->features & NETIF_F_RXCSUM)
smsc95xx_rx_csum_offload(ax_skb);
skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */

View File

@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/include/linux/tcp.h
+++ b/include/linux/tcp.h
@@ -368,7 +368,7 @@ struct tcp_sock {
@@ -370,7 +370,7 @@ struct tcp_sock {
u32 *saved_syn;
};
@ -27,7 +27,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
TSQ_THROTTLED,
TSQ_QUEUED,
TCP_TSQ_DEFERRED, /* tcp_tasklet_func() found socket was owned */
@@ -379,6 +379,15 @@ enum tsq_flags {
@@ -381,6 +381,15 @@ enum tsq_flags {
*/
};
@ -45,7 +45,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
return (struct tcp_sock *)sk;
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -790,10 +790,10 @@ static void tcp_tasklet_func(unsigned lo
@@ -792,10 +792,10 @@ static void tcp_tasklet_func(unsigned lo
}
}
@ -60,7 +60,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/**
* tcp_release_cb - tcp release_sock() callback
* @sk: socket
@@ -814,7 +814,7 @@ void tcp_release_cb(struct sock *sk)
@@ -816,7 +816,7 @@ void tcp_release_cb(struct sock *sk)
nflags = flags & ~TCP_DEFERRED_ALL;
} while (cmpxchg(&tp->tsq_flags, flags, nflags) != flags);
@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
tcp_tsq_handler(sk);
/* Here begins the tricky part :
@@ -828,15 +828,15 @@ void tcp_release_cb(struct sock *sk)
@@ -830,15 +830,15 @@ void tcp_release_cb(struct sock *sk)
*/
sock_release_ownership(sk);

View File

@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -866,6 +866,7 @@ void tcp_wfree(struct sk_buff *skb)
@@ -868,6 +868,7 @@ void tcp_wfree(struct sk_buff *skb)
{
struct sock *sk = skb->sk;
struct tcp_sock *tp = tcp_sk(sk);
@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int wmem;
/* Keep one reference on sk_wmem_alloc.
@@ -883,11 +884,17 @@ void tcp_wfree(struct sk_buff *skb)
@@ -885,11 +886,17 @@ void tcp_wfree(struct sk_buff *skb)
if (wmem >= SKB_TRUESIZE(1) && this_cpu_ksoftirqd() == current)
goto out;

View File

@ -22,7 +22,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -773,19 +773,19 @@ static void tcp_tasklet_func(unsigned lo
@@ -775,19 +775,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);
@ -51,7 +51,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
sk_free(sk);
}
}
@@ -890,7 +890,7 @@ void tcp_wfree(struct sk_buff *skb)
@@ -892,7 +892,7 @@ void tcp_wfree(struct sk_buff *skb)
if (!(oval & TSQF_THROTTLED) || (oval & TSQF_QUEUED))
goto out;
@ -60,7 +60,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
nval = cmpxchg(&tp->tsq_flags, oval, nval);
if (nval != oval)
continue;
@@ -2237,6 +2237,8 @@ static bool tcp_write_xmit(struct sock *
@@ -2239,6 +2239,8 @@ static bool tcp_write_xmit(struct sock *
unlikely(tso_fragment(sk, skb, limit, mss_now, gfp)))
break;

View File

@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -886,6 +886,7 @@ void tcp_wfree(struct sk_buff *skb)
@@ -888,6 +888,7 @@ void tcp_wfree(struct sk_buff *skb)
for (oval = READ_ONCE(tp->tsq_flags);; oval = nval) {
struct tsq_tasklet *tsq;
@ -24,7 +24,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (!(oval & TSQF_THROTTLED) || (oval & TSQF_QUEUED))
goto out;
@@ -898,8 +899,10 @@ void tcp_wfree(struct sk_buff *skb)
@@ -900,8 +901,10 @@ void tcp_wfree(struct sk_buff *skb)
/* queue this socket to tasklet queue */
local_irq_save(flags);
tsq = this_cpu_ptr(&tsq_tasklet);

View File

@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -2142,6 +2142,15 @@ static bool tcp_small_queue_check(struct
@@ -2144,6 +2144,15 @@ static bool tcp_small_queue_check(struct
limit <<= factor;
if (atomic_read(&sk->sk_wmem_alloc) > limit) {

View File

@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -1974,26 +1974,26 @@ static bool tcp_can_coalesce_send_queue_
@@ -1976,26 +1976,26 @@ static bool tcp_can_coalesce_send_queue_
*/
static int tcp_mtu_probe(struct sock *sk)
{

View File

@ -58,7 +58,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
goto out;
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -773,14 +773,15 @@ static void tcp_tasklet_func(unsigned lo
@@ -775,14 +775,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);
@ -77,7 +77,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
tcp_tsq_handler(sk);
}
bh_unlock_sock(sk);
@@ -803,16 +804,15 @@ static void tcp_tasklet_func(unsigned lo
@@ -805,16 +806,15 @@ static void tcp_tasklet_func(unsigned lo
*/
void tcp_release_cb(struct sock *sk)
{
@ -96,7 +96,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (flags & TCPF_TSQ_DEFERRED)
tcp_tsq_handler(sk);
@@ -884,7 +884,7 @@ void tcp_wfree(struct sk_buff *skb)
@@ -886,7 +886,7 @@ void tcp_wfree(struct sk_buff *skb)
if (wmem >= SKB_TRUESIZE(1) && this_cpu_ksoftirqd() == current)
goto out;
@ -105,7 +105,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct tsq_tasklet *tsq;
bool empty;
@@ -892,7 +892,7 @@ void tcp_wfree(struct sk_buff *skb)
@@ -894,7 +894,7 @@ void tcp_wfree(struct sk_buff *skb)
goto out;
nval = (oval & ~TSQF_THROTTLED) | TSQF_QUEUED | TCPF_TSQ_DEFERRED;
@ -114,7 +114,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (nval != oval)
continue;
@@ -2151,7 +2151,7 @@ static bool tcp_small_queue_check(struct
@@ -2153,7 +2153,7 @@ static bool tcp_small_queue_check(struct
skb->prev == sk->sk_write_queue.next)
return false;
@ -123,7 +123,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* It is possible TX completion already happened
* before we set TSQ_THROTTLED, so we must
* test again the condition.
@@ -2249,8 +2249,8 @@ static bool tcp_write_xmit(struct sock *
@@ -2251,8 +2251,8 @@ static bool tcp_write_xmit(struct sock *
unlikely(tso_fragment(sk, skb, limit, mss_now, gfp)))
break;
@ -134,7 +134,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (tcp_small_queue_check(sk, skb, 0))
break;
@@ -3569,8 +3569,6 @@ void __tcp_send_ack(struct sock *sk, u32
@@ -3574,8 +3574,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

View File

@ -30,7 +30,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -775,6 +775,7 @@ static void tcp_tasklet_func(unsigned lo
@@ -777,6 +777,7 @@ static void tcp_tasklet_func(unsigned lo
list_del(&tp->tsq_node);
sk = (struct sock *)tp;

View File

@ -65,7 +65,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
* Before updating sk_refcnt, we must commit prior changes to memory
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -1607,7 +1607,7 @@ u32 tcp_tso_autosize(const struct sock *
@@ -1609,7 +1609,7 @@ u32 tcp_tso_autosize(const struct sock *
{
u32 bytes, segs;
@ -74,7 +74,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
sk->sk_gso_max_size - 1 - MAX_TCP_HEADER);
/* Goal is to send at least one packet per ms,
@@ -2138,7 +2138,7 @@ static bool tcp_small_queue_check(struct
@@ -2140,7 +2140,7 @@ static bool tcp_small_queue_check(struct
{
unsigned int limit;

View File

@ -1,76 +0,0 @@
From: Alexey Brodkin <abrodkin@synopsys.com>
Subject: usb: Remove annoying warning about bogus URB
When ath9k-htc Wi-Fi dongle is used with generic OHCI controller
infinite stream of warnings appears in debug console like this:
-------------------------->8----------------------
usb 1-1: new full-speed USB device number 2 using ohci-platform
usb 1-1: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested
usb 1-1: ath9k_htc: Transferred FW: ath9k_htc/htc_9271-1.4.0.fw, size:
51008
------------[ cut here ]------------
WARNING: CPU: 0 PID: 19 at drivers/usb/core/urb.c:449
usb_submit_urb+0x1b4/0x498()
usb 1-1: BOGUS urb xfer, pipe 1 != type 3
Modules linked in:
CPU: 0 PID: 19 Comm: kworker/0:1 Not tainted
4.4.0-rc4-00017-g00e2d79-dirty #3
Workqueue: events request_firmware_work_func
Stack Trace:
arc_unwind_core.constprop.1+0xa4/0x110
---[ end trace 649ef8c342817fc2 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 19 at drivers/usb/core/urb.c:449
usb_submit_urb+0x1b4/0x498()
usb 1-1: BOGUS urb xfer, pipe 1 != type 3
Modules linked in:
CPU: 0 PID: 19 Comm: kworker/0:1 Tainted: G W
4.4.0-rc4-00017-g00e2d79-dirty #3
Workqueue: events request_firmware_work_func
Stack Trace:
arc_unwind_core.constprop.1+0xa4/0x110
---[ end trace 649ef8c342817fc3 ]---
------------[ cut here ]------------
-------------------------->8----------------------
There're some discussions in mailing lists proposing to disable
that particular check alltogether and magically all seem to work
fine with muted warning.
Anyways new thread on that regard could be found here:
http://lists.infradead.org/pipermail/linux-snps-arc/2016-July/001310.html
Let's see what comes out of that new discussion, hopefully patching
of generic USB stuff won't be required then.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
drivers/usb/core/urb.c | 5 -----
1 file changed, 5 deletions(-)
--- a/drivers/usb/core/urb.c
+++ b/drivers/usb/core/urb.c
@@ -322,9 +322,6 @@ EXPORT_SYMBOL_GPL(usb_unanchor_urb);
*/
int usb_submit_urb(struct urb *urb, gfp_t mem_flags)
{
- static int pipetypes[4] = {
- PIPE_CONTROL, PIPE_ISOCHRONOUS, PIPE_BULK, PIPE_INTERRUPT
- };
int xfertype, max;
struct usb_device *dev;
struct usb_host_endpoint *ep;
@@ -442,11 +439,6 @@ int usb_submit_urb(struct urb *urb, gfp_
* cause problems in HCDs if they get it wrong.
*/
- /* Check that the pipe's type matches the endpoint's type */
- if (usb_pipetype(urb->pipe) != pipetypes[xfertype])
- dev_WARN(&dev->dev, "BOGUS urb xfer, pipe %x != type %x\n",
- usb_pipetype(urb->pipe), pipetypes[xfertype]);
-
/* Check against a simple/standard policy */
allowed = (URB_NO_TRANSFER_DMA_MAP | URB_NO_INTERRUPT | URB_DIR_MASK |
URB_FREE_BUFFER);

View File

@ -8,7 +8,7 @@
#include <linux/platform_device.h>
#include <linux/phy/phy.h>
#include <linux/platform_data/s3c-hsotg.h>
@@ -544,6 +545,7 @@ static int dwc2_driver_probe(struct plat
@@ -545,6 +546,7 @@ static int dwc2_driver_probe(struct plat
struct dwc2_hsotg *hsotg;
struct resource *res;
int retval;
@ -16,7 +16,7 @@
match = of_match_device(dwc2_of_match_table, &dev->dev);
if (match && match->data) {
@@ -562,6 +564,16 @@ static int dwc2_driver_probe(struct plat
@@ -563,6 +565,16 @@ static int dwc2_driver_probe(struct plat
defparams.dma_desc_fs_enable = 0;
}

View File

@ -114,7 +114,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
.uframe_sched = -1,
.external_id_pin_ctl = -1,
.hibernation = -1,
@@ -515,8 +575,11 @@ static const struct of_device_id dwc2_of
@@ -516,8 +576,11 @@ static const struct of_device_id dwc2_of
{ .compatible = "brcm,bcm2835-usb", .data = &params_bcm2835 },
{ .compatible = "hisilicon,hi6220-usb", .data = &params_hi6220 },
{ .compatible = "rockchip,rk3066-usb", .data = &params_rk3066 },

View File

@ -35,7 +35,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
#define SPI_MCR_MASTER (1 << 31)
@@ -72,6 +75,11 @@
#define SPI_SR_TCFQF 0x80000000
#define SPI_SR_CLEAR 0xdaad0000
#define SPI_SR_CLEAR 0x9aaf0000
+#define SPI_RSER_TFFFE BIT(25)
+#define SPI_RSER_TFFFD BIT(24)