All patches automatically rebased.
Build system: x86_64
Build-tested: bcm2711/RPi4B, mt7622/RT3200
Run-tested: bcm2711/RPi4B, mt7622/RT3200
Signed-off-by: John Audia <therealgraysky@proton.me>
-LINUX_VERSION-5.15 = .57
-LINUX_KERNEL_HASH-5.15.57 = 62e3095a1fc876315150c93aad1546cc198e3ba5863b3d7ff7da21fbee20f0fd
+LINUX_VERSION-5.15 = .58
+LINUX_KERNEL_HASH-5.15.58 = d75bd9579c4b318e6162e21c591878fd37efda0f79c5cdd0dc4eb9ea9dfc4fa8
EXPORT_SYMBOL(xfrm_parse_spi);
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
-@@ -4133,14 +4133,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -4138,14 +4138,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);
/* Read as many bytes as possible from FIFO */
bcm2835_rd_fifo(bs);
/* Write as many bytes as possible to FIFO */
-@@ -1365,7 +1369,8 @@ static int bcm2835_spi_probe(struct plat
+@@ -1369,7 +1373,8 @@ static int bcm2835_spi_probe(struct plat
bcm2835_wr(bs, BCM2835_SPI_CS,
BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX);
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -1618,6 +1618,109 @@ command_cleanup:
+@@ -1620,6 +1620,109 @@ command_cleanup:
}
/*
* non-error returns are a promise to giveback() the urb later
* we drop ownership so next owner (or urb unlink) can get it
*/
-@@ -5443,6 +5546,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5445,6 +5548,7 @@ static const struct hc_driver xhci_hc_dr
.endpoint_reset = xhci_endpoint_reset,
.check_bandwidth = xhci_check_bandwidth,
.reset_bandwidth = xhci_reset_bandwidth,
}
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -877,8 +877,8 @@ static void xhci_clear_command_ring(stru
+@@ -879,8 +879,8 @@ static void xhci_clear_command_ring(stru
seg = ring->deq_seg;
do {
memset(seg->trbs, 0,
cpu_to_le32(~TRB_CYCLE);
seg = seg->next;
} while (seg != ring->deq_seg);
-@@ -889,7 +889,7 @@ static void xhci_clear_command_ring(stru
+@@ -891,7 +891,7 @@ static void xhci_clear_command_ring(stru
ring->enq_seg = ring->deq_seg;
ring->enqueue = ring->dequeue;
*/
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -2771,6 +2771,10 @@ static inline int pskb_trim(struct sk_bu
+@@ -2816,6 +2816,10 @@ static inline int pskb_trim(struct sk_bu
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
}
/**
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
* @skb: buffer to alter
-@@ -2921,16 +2925,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -2966,16 +2970,6 @@ static inline struct sk_buff *dev_alloc_
}
#include <linux/crc32.h>
#include <linux/if_vlan.h>
#include <linux/uaccess.h>
-@@ -6852,6 +6853,22 @@ static void rtl_tally_reset(struct r8152
+@@ -6864,6 +6865,22 @@ static void rtl_tally_reset(struct r8152
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
}
static void r8152b_init(struct r8152 *tp)
{
u32 ocp_data;
-@@ -6893,6 +6910,8 @@ static void r8152b_init(struct r8152 *tp
+@@ -6905,6 +6922,8 @@ static void r8152b_init(struct r8152 *tp
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
}
static void r8153_init(struct r8152 *tp)
-@@ -7033,6 +7052,8 @@ static void r8153_init(struct r8152 *tp)
+@@ -7045,6 +7064,8 @@ static void r8153_init(struct r8152 *tp)
tp->coalesce = COALESCE_SLOW;
break;
}
}
static void r8153b_init(struct r8152 *tp)
-@@ -7115,6 +7136,8 @@ static void r8153b_init(struct r8152 *tp
+@@ -7127,6 +7148,8 @@ static void r8153b_init(struct r8152 *tp
rtl_tally_reset(tp);
tp->coalesce = 15000; /* 15 us */
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -2737,7 +2737,7 @@ static inline int pskb_network_may_pull(
+@@ -2782,7 +2782,7 @@ static inline int pskb_network_may_pull(
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
*/
#ifndef NET_SKB_PAD
#endif
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -855,6 +855,7 @@ struct sk_buff {
+@@ -890,6 +890,7 @@ struct sk_buff {
#ifdef CONFIG_IPV6_NDISC_NODETYPE
__u8 ndisc_nodetype:2;
#endif
__u8 inner_protocol_type:1;
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -6061,6 +6061,9 @@ static enum gro_result dev_gro_receive(s
+@@ -6062,6 +6062,9 @@ static enum gro_result dev_gro_receive(s
int same_flow;
int grow;
if (netif_elide_gro(skb->dev))
goto normal;
-@@ -8075,6 +8078,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -8076,6 +8079,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info,
-@@ -8126,6 +8171,7 @@ static int __netdev_upper_dev_link(struc
+@@ -8127,6 +8172,7 @@ static int __netdev_upper_dev_link(struc
if (ret)
return ret;
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
ret = notifier_to_errno(ret);
-@@ -8222,6 +8268,7 @@ static void __netdev_upper_dev_unlink(st
+@@ -8223,6 +8269,7 @@ static void __netdev_upper_dev_unlink(st
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
-@@ -9041,6 +9088,7 @@ int dev_set_mac_address(struct net_devic
+@@ -9042,6 +9089,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;