kernel: bump 6.1 to 6.1.82
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.82 All patches automatically rebased. Build system: x86/64 Build-tested: x86/64/AMD Cezanne, ramips/tplink_archer-a6-v3 Run-tested: x86/64/AMD Cezanne, ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me>
This commit is contained in:
parent
1366378dfe
commit
3cd3afd92e
|
@ -1,2 +1,2 @@
|
|||
LINUX_VERSION-6.1 = .81
|
||||
LINUX_KERNEL_HASH-6.1.81 = 0ebd861c6fd47bb0a9d3a09664d704833d1a54750c7bf9c4ad8b5e9cbd49342b
|
||||
LINUX_VERSION-6.1 = .82
|
||||
LINUX_KERNEL_HASH-6.1.82 = d150d2d9d416877668d8b56f75759f166168d192419eefaa942ed67225cbec06
|
||||
|
|
|
@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|||
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
|
||||
{
|
||||
u32 *buf;
|
||||
@@ -3470,8 +3479,14 @@ static int lan78xx_bind(struct lan78xx_n
|
||||
@@ -3471,8 +3480,14 @@ static int lan78xx_bind(struct lan78xx_n
|
||||
if (DEFAULT_RX_CSUM_ENABLE)
|
||||
dev->net->features |= NETIF_F_RXCSUM;
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ See: https://github.com/raspberrypi/linux/issues/2447
|
|||
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
|
||||
{
|
||||
u32 *buf;
|
||||
@@ -4457,7 +4462,13 @@ static int lan78xx_probe(struct usb_inte
|
||||
@@ -4458,7 +4463,13 @@ static int lan78xx_probe(struct usb_inte
|
||||
if (ret < 0)
|
||||
goto out4;
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|||
val);
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1671,8 +1671,8 @@ struct urb_priv {
|
||||
@@ -1672,8 +1672,8 @@ struct urb_priv {
|
||||
* Each segment table entry is 4*32bits long. 1K seems like an ok size:
|
||||
* (1K bytes * 8bytes/bit) / (4*32 bits) = 64 segment entries in the table,
|
||||
* meaning 64 ring segments.
|
||||
|
|
|
@ -54,7 +54,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
addr = xhci_trb_virt_to_dma(new_seg, new_deq);
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1901,6 +1901,7 @@ struct xhci_hcd {
|
||||
@@ -1902,6 +1902,7 @@ struct xhci_hcd {
|
||||
#define XHCI_RESET_TO_DEFAULT BIT_ULL(44)
|
||||
#define XHCI_ZHAOXIN_TRB_FETCH BIT_ULL(45)
|
||||
#define XHCI_ZHAOXIN_HOST BIT_ULL(46)
|
||||
|
|
|
@ -204,7 +204,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
xhci_err(xhci, "Tried to move enqueue past ring segment\n");
|
||||
return;
|
||||
}
|
||||
@@ -3100,7 +3103,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd
|
||||
@@ -3150,7 +3153,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd
|
||||
* that clears the EHB.
|
||||
*/
|
||||
while (xhci_handle_event(xhci) > 0) {
|
||||
|
@ -213,7 +213,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
continue;
|
||||
xhci_update_erst_dequeue(xhci, event_ring_deq);
|
||||
event_ring_deq = xhci->event_ring->dequeue;
|
||||
@@ -3242,7 +3245,8 @@ static int prepare_ring(struct xhci_hcd
|
||||
@@ -3292,7 +3295,8 @@ static int prepare_ring(struct xhci_hcd
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -247,7 +247,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
* when the cycle bit is set to 1.
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1633,6 +1633,7 @@ struct xhci_ring {
|
||||
@@ -1634,6 +1634,7 @@ struct xhci_ring {
|
||||
unsigned int num_trbs_free;
|
||||
unsigned int num_trbs_free_temp;
|
||||
unsigned int bounce_buf_len;
|
||||
|
|
|
@ -63,7 +63,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1903,6 +1903,7 @@ struct xhci_hcd {
|
||||
@@ -1904,6 +1904,7 @@ struct xhci_hcd {
|
||||
#define XHCI_ZHAOXIN_TRB_FETCH BIT_ULL(45)
|
||||
#define XHCI_ZHAOXIN_HOST BIT_ULL(46)
|
||||
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(47)
|
||||
|
|
|
@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -3555,14 +3555,15 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
@@ -3605,14 +3605,15 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
unsigned int num_trbs;
|
||||
unsigned int start_cycle, num_sgs = 0;
|
||||
unsigned int enqd_len, block_len, trb_buff_len, full_len;
|
||||
|
@ -54,7 +54,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
full_len = urb->transfer_buffer_length;
|
||||
/* If we have scatter/gather list, we use it. */
|
||||
if (urb->num_sgs && !(urb->transfer_flags & URB_DMA_MAP_SINGLE)) {
|
||||
@@ -3599,6 +3600,17 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
@@ -3649,6 +3650,17 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
start_cycle = ring->cycle_state;
|
||||
send_addr = addr;
|
||||
|
||||
|
@ -72,7 +72,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
/* Queue the TRBs, even if they are zero-length */
|
||||
for (enqd_len = 0; first_trb || enqd_len < full_len;
|
||||
enqd_len += trb_buff_len) {
|
||||
@@ -3611,6 +3623,11 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
@@ -3661,6 +3673,11 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
if (enqd_len + trb_buff_len > full_len)
|
||||
trb_buff_len = full_len - enqd_len;
|
||||
|
||||
|
@ -86,7 +86,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
first_trb = false;
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1904,6 +1904,7 @@ struct xhci_hcd {
|
||||
@@ -1905,6 +1905,7 @@ struct xhci_hcd {
|
||||
#define XHCI_ZHAOXIN_HOST BIT_ULL(46)
|
||||
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(47)
|
||||
#define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(48)
|
||||
|
|
|
@ -13,7 +13,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -3555,7 +3555,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
@@ -3605,7 +3605,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
unsigned int num_trbs;
|
||||
unsigned int start_cycle, num_sgs = 0;
|
||||
unsigned int enqd_len, block_len, trb_buff_len, full_len;
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
u32 field, length_field, remainder, maxpacket;
|
||||
u64 addr, send_addr;
|
||||
|
||||
@@ -3601,14 +3601,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
@@ -3651,14 +3651,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
send_addr = addr;
|
||||
|
||||
if (xhci->quirks & XHCI_VLI_SS_BULK_OUT_BUG &&
|
||||
|
@ -40,7 +40,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
}
|
||||
|
||||
/* Queue the TRBs, even if they are zero-length */
|
||||
@@ -3623,7 +3618,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
@@ -3673,7 +3668,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
if (enqd_len + trb_buff_len > full_len)
|
||||
trb_buff_len = full_len - enqd_len;
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -3532,6 +3532,48 @@ static int xhci_align_td(struct xhci_hcd
|
||||
@@ -3582,6 +3582,48 @@ static int xhci_align_td(struct xhci_hcd
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -89,7 +89,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
/* This is very similar to what ehci-q.c qtd_fill() does */
|
||||
int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
|
||||
struct urb *urb, int slot_id, unsigned int ep_index)
|
||||
@@ -3700,6 +3742,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
@@ -3750,6 +3792,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
|
||||
}
|
||||
|
||||
check_trb_math(urb, enqd_len);
|
||||
|
@ -98,7 +98,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
giveback_first_trb(xhci, slot_id, ep_index, urb->stream_id,
|
||||
start_cycle, start_trb);
|
||||
return 0;
|
||||
@@ -3835,6 +3879,8 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
|
||||
@@ -3885,6 +3929,8 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
|
||||
/* Event on completion */
|
||||
field | TRB_IOC | TRB_TYPE(TRB_STATUS) | ep_ring->cycle_state);
|
||||
|
||||
|
@ -109,7 +109,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||
return 0;
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1905,6 +1905,7 @@ struct xhci_hcd {
|
||||
@@ -1906,6 +1906,7 @@ struct xhci_hcd {
|
||||
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(47)
|
||||
#define XHCI_VLI_TRB_CACHE_BUG BIT_ULL(48)
|
||||
#define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(49)
|
||||
|
|
|
@ -108,7 +108,7 @@ it on BCM4708 family.
|
|||
if (xhci->quirks & XHCI_NEC_HOST)
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1901,6 +1901,7 @@ struct xhci_hcd {
|
||||
@@ -1902,6 +1902,7 @@ struct xhci_hcd {
|
||||
#define XHCI_RESET_TO_DEFAULT BIT_ULL(44)
|
||||
#define XHCI_ZHAOXIN_TRB_FETCH BIT_ULL(45)
|
||||
#define XHCI_ZHAOXIN_HOST BIT_ULL(46)
|
||||
|
|
|
@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||
cfg->fc_flags |= RTF_REJECT;
|
||||
|
||||
if (rtm->rtm_type == RTN_LOCAL)
|
||||
@@ -6287,6 +6318,8 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -6280,6 +6311,8 @@ static int ip6_route_dev_notify(struct n
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
|
||||
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
|
||||
|
@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
|
||||
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
|
||||
#endif
|
||||
@@ -6298,6 +6331,7 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -6291,6 +6324,7 @@ static int ip6_route_dev_notify(struct n
|
||||
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
|
||||
|
@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
|
||||
#endif
|
||||
}
|
||||
@@ -6489,6 +6523,8 @@ static int __net_init ip6_route_net_init
|
||||
@@ -6482,6 +6516,8 @@ static int __net_init ip6_route_net_init
|
||||
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
net->ipv6.fib6_has_custom_rules = false;
|
||||
|
@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||
net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
|
||||
sizeof(*net->ipv6.ip6_prohibit_entry),
|
||||
GFP_KERNEL);
|
||||
@@ -6499,11 +6535,21 @@ static int __net_init ip6_route_net_init
|
||||
@@ -6492,11 +6528,21 @@ static int __net_init ip6_route_net_init
|
||||
ip6_template_metrics, true);
|
||||
INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
|
||||
|
||||
|
@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
|
||||
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
|
||||
ip6_template_metrics, true);
|
||||
@@ -6530,6 +6576,8 @@ out:
|
||||
@@ -6523,6 +6569,8 @@ out:
|
||||
return ret;
|
||||
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
|
@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||
out_ip6_prohibit_entry:
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
out_ip6_null_entry:
|
||||
@@ -6549,6 +6597,7 @@ static void __net_exit ip6_route_net_exi
|
||||
@@ -6542,6 +6590,7 @@ static void __net_exit ip6_route_net_exi
|
||||
kfree(net->ipv6.ip6_null_entry);
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
|
@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
|||
kfree(net->ipv6.ip6_blk_hole_entry);
|
||||
#endif
|
||||
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
||||
@@ -6632,6 +6681,9 @@ void __init ip6_route_init_special_entri
|
||||
@@ -6625,6 +6674,9 @@ void __init ip6_route_init_special_entri
|
||||
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
|
||||
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||
|
|
Loading…
Reference in New Issue