mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-20 17:32:57 +00:00
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:
parent
35e9edc3df
commit
f9ffdf8825
@ -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))))
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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 */
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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) {
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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);
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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 = ¶ms_bcm2835 },
|
||||
{ .compatible = "hisilicon,hi6220-usb", .data = ¶ms_hi6220 },
|
||||
{ .compatible = "rockchip,rk3066-usb", .data = ¶ms_rk3066 },
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user