-LINUX_VERSION-5.15 = .123
-LINUX_KERNEL_HASH-5.15.123 = 2de69544a12e6a059163c58fc901c13bcf22e8cac39c66b56f8fbb633399bf93
+LINUX_VERSION-5.15 = .124
+LINUX_KERNEL_HASH-5.15.124 = 00036a0260ad012aa832a8698a4afcf23b2410091527738ce48ce3fcc23f22ed
+kmod-udptunnel4 \
+IPV6:kmod-udptunnel6
KCONFIG:=CONFIG_VXLAN
- FILES:=$(LINUX_DIR)/drivers/net/vxlan.ko
+ FILES:= \
+ $(LINUX_DIR)/drivers/net/vxlan/vxlan.ko
AUTOLOAD:=$(call AutoLoad,13,vxlan)
endef
return false;
return true;
-@@ -750,13 +754,13 @@ static inline void ipv6_addr_set_v4mappe
+@@ -746,13 +750,13 @@ static inline void ipv6_addr_set_v4mappe
*/
static inline int __ipv6_addr_diff32(const void *token1, const void *token2, int addrlen)
{
if (xb)
return i * 32 + 31 - __fls(ntohl(xb));
}
-@@ -950,17 +954,18 @@ static inline u32 ip6_multipath_hash_fie
+@@ -946,17 +950,18 @@ static inline u32 ip6_multipath_hash_fie
static inline void ip6_flow_hdr(struct ipv6hdr *hdr, unsigned int tclass,
__be32 flowlabel)
{
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -17534,6 +17534,14 @@ T: git git://linuxtv.org/media_tree.git
+@@ -17535,6 +17535,14 @@ T: git git://linuxtv.org/media_tree.git
F: Documentation/devicetree/bindings/media/i2c/sony,imx412.yaml
F: drivers/media/i2c/imx412.c
+...
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -17548,6 +17548,7 @@ M: Raspberry Pi Kernel Maintenance <kern
+@@ -17549,6 +17549,7 @@ M: Raspberry Pi Kernel Maintenance <kern
L: linux-media@vger.kernel.org
S: Maintained
T: git git://linuxtv.org/media_tree.git
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -697,9 +697,9 @@ deq_found:
+@@ -674,9 +674,9 @@ deq_found:
}
if ((ep->ep_state & SET_DEQ_PENDING)) {
+...
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -17552,6 +17552,14 @@ F: Documentation/devicetree/bindings/med
+@@ -17553,6 +17553,14 @@ F: Documentation/devicetree/bindings/med
F: Documentation/devicetree/bindings/media/i2c/imx477.yaml
F: drivers/media/i2c/imx477.c
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -297,6 +297,7 @@ static void xhci_pci_quirks(struct devic
- if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) {
+@@ -294,8 +294,10 @@ static void xhci_pci_quirks(struct devic
+ pdev->device == 0x3432)
+ xhci->quirks |= XHCI_BROKEN_STREAMS;
+
+- if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483)
++ if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) {
xhci->quirks |= XHCI_LPM_SUPPORT;
- xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
+ xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
- }
++ }
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
+ pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI) {
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -687,6 +687,15 @@ static int xhci_move_dequeue_past_td(str
+@@ -664,6 +664,15 @@ static int xhci_move_dequeue_past_td(str
} while (!cycle_found || !td_last_trb_found);
deq_found:
xhci_err(xhci, "Tried to move enqueue past ring segment\n");
return;
}
-@@ -3189,7 +3192,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd
+@@ -3166,7 +3169,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd
* that clears the EHB.
*/
while (xhci_handle_event(xhci) > 0) {
continue;
xhci_update_erst_dequeue(xhci, event_ring_deq);
event_ring_deq = xhci->event_ring->dequeue;
-@@ -3331,7 +3334,8 @@ static int prepare_ring(struct xhci_hcd
+@@ -3308,7 +3311,8 @@ static int prepare_ring(struct xhci_hcd
}
}
cycle_state, type, max_packet, flags);
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -298,6 +298,7 @@ static void xhci_pci_quirks(struct devic
+@@ -297,6 +297,7 @@ static void xhci_pci_quirks(struct devic
+ if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) {
xhci->quirks |= XHCI_LPM_SUPPORT;
- xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
+ xhci->quirks |= XHCI_VLI_TRB_CACHE_BUG;
}
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -299,6 +299,7 @@ static void xhci_pci_quirks(struct devic
- xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
+@@ -298,6 +298,7 @@ static void xhci_pci_quirks(struct devic
+ xhci->quirks |= XHCI_LPM_SUPPORT;
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
xhci->quirks |= XHCI_VLI_TRB_CACHE_BUG;
+ xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG;
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -3644,14 +3644,15 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3621,14 +3621,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;
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)) {
-@@ -3688,6 +3689,17 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3665,6 +3666,17 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
start_cycle = ring->cycle_state;
send_addr = addr;
/* Queue the TRBs, even if they are zero-length */
for (enqd_len = 0; first_trb || enqd_len < full_len;
enqd_len += trb_buff_len) {
-@@ -3700,6 +3712,11 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3677,6 +3689,11 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
if (enqd_len + trb_buff_len > full_len)
trb_buff_len = full_len - enqd_len;
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -3644,7 +3644,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3621,7 +3621,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;
u32 field, length_field, remainder, maxpacket;
u64 addr, send_addr;
-@@ -3690,14 +3690,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3667,14 +3667,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
send_addr = addr;
if (xhci->quirks & XHCI_VLI_SS_BULK_OUT_BUG &&
}
/* Queue the TRBs, even if they are zero-length */
-@@ -3712,7 +3707,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
+@@ -3689,7 +3684,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
if (enqd_len + trb_buff_len > full_len)
trb_buff_len = full_len - enqd_len;
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -5973,6 +5973,14 @@ T: git git://anongit.freedesktop.org/drm
+@@ -5974,6 +5974,14 @@ T: git git://anongit.freedesktop.org/drm
F: Documentation/devicetree/bindings/display/multi-inno,mi0283qt.txt
F: drivers/gpu/drm/tiny/mi0283qt.c
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -11782,6 +11782,14 @@ L: netdev@vger.kernel.org
+@@ -11783,6 +11783,14 @@ L: netdev@vger.kernel.org
S: Maintained
F: drivers/net/ethernet/mediatek/
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -11894,6 +11894,7 @@ M: Landen Chao <Landen.Chao@mediatek.com
+@@ -11895,6 +11895,7 @@ M: Landen Chao <Landen.Chao@mediatek.com
M: DENG Qingfang <dqfext@gmail.com>
L: netdev@vger.kernel.org
S: Maintained
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -11892,9 +11892,11 @@ MEDIATEK SWITCH DRIVER
+@@ -11893,9 +11893,11 @@ MEDIATEK SWITCH DRIVER
M: Sean Wang <sean.wang@mediatek.com>
M: Landen Chao <Landen.Chao@mediatek.com>
M: DENG Qingfang <dqfext@gmail.com>
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -12693,6 +12693,7 @@ F: include/uapi/linux/meye.h
+@@ -12694,6 +12694,7 @@ F: include/uapi/linux/meye.h
MOTORCOMM PHY DRIVER
M: Peter Geis <pgwipeout@gmail.com>
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -17958,6 +17958,11 @@ L: netdev@vger.kernel.org
+@@ -17959,6 +17959,11 @@ L: netdev@vger.kernel.org
S: Maintained
F: drivers/net/ethernet/dlink/sundance.c
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -12357,6 +12357,14 @@ S: Supported
+@@ -12358,6 +12358,14 @@ S: Supported
F: Documentation/devicetree/bindings/mtd/atmel-nand.txt
F: drivers/mtd/nand/raw/atmel/*
#define QUECTEL_VENDOR_ID 0x2c7c
/* These Quectel products use Quectel's vendor ID */
-@@ -1177,6 +1179,11 @@ static const struct usb_device_id option
+@@ -1179,6 +1181,11 @@ static const struct usb_device_id option
.driver_info = ZLP },
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
.driver_info = RSVD(4) },
--- a/drivers/irqchip/irq-bcm6345-l1.c
+++ b/drivers/irqchip/irq-bcm6345-l1.c
-@@ -261,6 +261,9 @@ static int __init bcm6345_l1_init_one(st
+@@ -257,6 +257,9 @@ static int __init bcm6345_l1_init_one(st
if (!cpu->map_base)
return -ENOMEM;
for (i = 0; i < n_words; i++) {
cpu->enable_cache[i] = 0;
__raw_writel(0, cpu->map_base + reg_enable(intc, i));
-@@ -339,8 +342,7 @@ static int __init bcm6345_l1_of_init(str
+@@ -335,8 +338,7 @@ static int __init bcm6345_l1_of_init(str
for_each_cpu(idx, &intc->cpumask) {
struct bcm6345_l1_cpu *cpu = intc->cpus[idx];
+};
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -7519,6 +7519,14 @@ F: drivers/ptp/ptp_qoriq.c
+@@ -7520,6 +7520,14 @@ F: drivers/ptp/ptp_qoriq.c
F: drivers/ptp/ptp_qoriq_debugfs.c
F: include/linux/fsl/ptp_qoriq.h
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -11790,6 +11790,15 @@ S: Maintained
+@@ -11791,6 +11791,15 @@ S: Maintained
F: drivers/net/pcs/pcs-mtk-lynxi.c
F: include/linux/pcs/pcs-mtk-lynxi.h
--- a/drivers/i2c/busses/i2c-ibm_iic.c
+++ b/drivers/i2c/busses/i2c-ibm_iic.c
-@@ -738,7 +738,7 @@ static int iic_probe(struct platform_dev
+@@ -736,7 +736,7 @@ static int iic_probe(struct platform_dev
adap = &dev->adap;
adap->dev.parent = &ofdev->dev;
adap->dev.of_node = of_node_get(np);
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -9056,6 +9056,22 @@ F: include/net/nl802154.h
+@@ -9057,6 +9057,22 @@ F: include/net/nl802154.h
F: net/ieee802154/
F: net/mac802154/
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -15895,6 +15895,13 @@ S: Maintained
+@@ -15896,6 +15896,13 @@ S: Maintained
F: include/sound/rt*.h
F: sound/soc/codecs/rt*