-LINUX_VERSION-5.15 = .64
-LINUX_KERNEL_HASH-5.15.64 = c6a1d38c6fa3798341372d5cf0088ae806ccdc827e31ecbff8988e097ba5de50
+LINUX_VERSION-5.15 = .67
+LINUX_KERNEL_HASH-5.15.67 = da47d9a80b694548835ccb553b6eb1a1f3f5d5cddd9e2bd6f4886b99ca14f940
* @dev: the device whose endpoint is being disabled
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
-@@ -1840,6 +1840,8 @@ extern int usb_clear_halt(struct usb_dev
+@@ -1842,6 +1842,8 @@ extern int usb_clear_halt(struct usb_dev
extern int usb_reset_configuration(struct usb_device *dev);
extern int usb_set_interface(struct usb_device *dev, int ifnum, int alternate);
extern void usb_reset_endpoint(struct usb_device *dev, unsigned int epaddr);
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -1620,6 +1620,109 @@ command_cleanup:
+@@ -1611,6 +1611,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
*/
-@@ -5445,6 +5548,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5436,6 +5539,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/clk/bcm/clk-raspberrypi.c
+++ b/drivers/clk/bcm/clk-raspberrypi.c
-@@ -271,6 +271,7 @@ static int raspberrypi_discover_clocks(s
+@@ -276,6 +276,7 @@ static int raspberrypi_discover_clocks(s
case RPI_FIRMWARE_CORE_CLK_ID:
case RPI_FIRMWARE_M2MC_CLK_ID:
case RPI_FIRMWARE_V3D_CLK_ID:
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -1347,6 +1347,8 @@ static int clk_core_determine_round_nolo
+@@ -1346,6 +1346,8 @@ static int clk_core_determine_round_nolo
if (!core)
return 0;
};
#define RPI_FIRMWARE_STATE_ENABLE_BIT BIT(0)
-@@ -273,6 +275,7 @@ static int raspberrypi_discover_clocks(s
+@@ -278,6 +280,7 @@ static int raspberrypi_discover_clocks(s
case RPI_FIRMWARE_V3D_CLK_ID:
case RPI_FIRMWARE_HEVC_CLK_ID:
case RPI_FIRMWARE_PIXEL_BVB_CLK_ID:
--- a/drivers/clk/bcm/clk-raspberrypi.c
+++ b/drivers/clk/bcm/clk-raspberrypi.c
-@@ -276,6 +276,7 @@ static int raspberrypi_discover_clocks(s
+@@ -281,6 +281,7 @@ static int raspberrypi_discover_clocks(s
case RPI_FIRMWARE_HEVC_CLK_ID:
case RPI_FIRMWARE_PIXEL_BVB_CLK_ID:
case RPI_FIRMWARE_VEC_CLK_ID:
}
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -879,8 +879,8 @@ static void xhci_clear_command_ring(stru
+@@ -870,8 +870,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);
-@@ -891,7 +891,7 @@ static void xhci_clear_command_ring(stru
+@@ -882,7 +882,7 @@ static void xhci_clear_command_ring(stru
ring->enq_seg = ring->deq_seg;
ring->enqueue = ring->dequeue;
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -2387,11 +2387,7 @@ int clk_set_rate_range(struct clk *clk,
+@@ -2386,11 +2386,7 @@ int clk_set_rate_range(struct clk *clk,
* this corner case when determining the rate
*/
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -2372,28 +2372,29 @@ int clk_set_rate_range(struct clk *clk,
+@@ -2371,28 +2371,29 @@ int clk_set_rate_range(struct clk *clk,
goto out;
}
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -2331,19 +2331,15 @@ int clk_set_rate_exclusive(struct clk *c
+@@ -2330,19 +2330,15 @@ int clk_set_rate_exclusive(struct clk *c
}
EXPORT_SYMBOL_GPL(clk_set_rate_exclusive);
if (!clk)
return 0;
-@@ -2356,8 +2352,6 @@ int clk_set_rate_range(struct clk *clk,
+@@ -2355,8 +2351,6 @@ int clk_set_rate_range(struct clk *clk,
return -EINVAL;
}
if (clk->exclusive_count)
clk_core_rate_unprotect(clk->core);
-@@ -2401,6 +2395,28 @@ out:
+@@ -2400,6 +2394,28 @@ out:
if (clk->exclusive_count)
clk_core_rate_protect(clk->core);
clk_prepare_unlock();
return ret;
-@@ -4360,9 +4376,10 @@ void __clk_put(struct clk *clk)
+@@ -4359,9 +4375,10 @@ void __clk_put(struct clk *clk)
}
hlist_del(&clk->clks_node);
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -2366,6 +2366,10 @@ static int clk_set_rate_range_nolock(str
+@@ -2365,6 +2365,10 @@ static int clk_set_rate_range_nolock(str
goto out;
}
/*
* Since the boundaries have been changed, let's give the
* opportunity to the provider to adjust the clock rate based on
-@@ -2383,7 +2387,7 @@ static int clk_set_rate_range_nolock(str
+@@ -2382,7 +2386,7 @@ static int clk_set_rate_range_nolock(str
* - the determine_rate() callback does not really check for
* this corner case when determining the rate
*/
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -1758,6 +1758,23 @@ static void clk_core_update_orphan_statu
+@@ -1757,6 +1757,23 @@ static void clk_core_update_orphan_statu
clk_core_update_orphan_status(child, is_orphan);
}
static void clk_reparent(struct clk_core *core, struct clk_core *new_parent)
{
bool was_orphan = core->orphan;
-@@ -1782,6 +1799,7 @@ static void clk_reparent(struct clk_core
+@@ -1781,6 +1798,7 @@ static void clk_reparent(struct clk_core
}
core->parent = new_parent;
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -2388,6 +2388,12 @@ static int clk_set_rate_range_nolock(str
+@@ -2387,6 +2387,12 @@ static int clk_set_rate_range_nolock(str
if (clk->core->flags & CLK_GET_RATE_NOCACHE)
rate = clk_core_get_rate_recalc(clk->core);
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -1381,6 +1381,8 @@ static void clk_core_init_rate_req(struc
+@@ -1380,6 +1380,8 @@ static void clk_core_init_rate_req(struc
if (WARN_ON(!core || !req))
return;
parent = core->parent;
if (parent) {
req->best_parent_hw = parent->hw;
-@@ -1455,7 +1457,6 @@ unsigned long clk_hw_round_rate(struct c
+@@ -1454,7 +1456,6 @@ unsigned long clk_hw_round_rate(struct c
int ret;
struct clk_rate_request req;
req.rate = rate;
ret = clk_core_round_rate_nolock(hw->core, &req);
-@@ -1488,7 +1489,6 @@ long clk_round_rate(struct clk *clk, uns
+@@ -1487,7 +1488,6 @@ long clk_round_rate(struct clk *clk, uns
if (clk->exclusive_count)
clk_core_rate_unprotect(clk->core);
req.rate = rate;
ret = clk_core_round_rate_nolock(clk->core, &req);
-@@ -1995,8 +1995,6 @@ static struct clk_core *clk_calc_new_rat
+@@ -1994,8 +1994,6 @@ static struct clk_core *clk_calc_new_rat
struct clk_rate_request req;
req.rate = rate;
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -1374,13 +1374,15 @@ static int clk_core_determine_round_nolo
+@@ -1373,13 +1373,15 @@ static int clk_core_determine_round_nolo
}
static void clk_core_init_rate_req(struct clk_core * const core,
clk_core_get_boundaries(core, &req->min_rate, &req->max_rate);
parent = core->parent;
-@@ -1408,7 +1410,7 @@ static int clk_core_round_rate_nolock(st
+@@ -1407,7 +1409,7 @@ static int clk_core_round_rate_nolock(st
return 0;
}
if (clk_core_can_round(core))
return clk_core_determine_round_nolock(core, req);
-@@ -1994,9 +1996,7 @@ static struct clk_core *clk_calc_new_rat
+@@ -1993,9 +1995,7 @@ static struct clk_core *clk_calc_new_rat
if (clk_core_can_round(core)) {
struct clk_rate_request req;
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -1395,6 +1395,26 @@ static void clk_core_init_rate_req(struc
+@@ -1394,6 +1394,26 @@ static void clk_core_init_rate_req(struc
}
}
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -1479,7 +1479,7 @@ unsigned long clk_hw_round_rate(struct c
+@@ -1478,7 +1478,7 @@ unsigned long clk_hw_round_rate(struct c
int ret;
struct clk_rate_request req;
ret = clk_core_round_rate_nolock(hw->core, &req);
if (ret)
-@@ -1511,7 +1511,7 @@ long clk_round_rate(struct clk *clk, uns
+@@ -1510,7 +1510,7 @@ long clk_round_rate(struct clk *clk, uns
if (clk->exclusive_count)
clk_core_rate_unprotect(clk->core);
ret = clk_core_round_rate_nolock(clk->core, &req);
-@@ -2215,8 +2215,7 @@ static unsigned long clk_core_req_round_
+@@ -2214,8 +2214,7 @@ static unsigned long clk_core_req_round_
if (cnt < 0)
return cnt;
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -1430,8 +1430,6 @@ static int clk_core_round_rate_nolock(st
+@@ -1429,8 +1429,6 @@ static int clk_core_round_rate_nolock(st
return 0;
}
int clk_mux_determine_rate_flags(struct clk_hw *hw,
struct clk_rate_request *req,
unsigned long flags)
-@@ -2569,25 +2589,11 @@ void clk_hw_reparent(struct clk_hw *hw,
+@@ -2568,25 +2588,11 @@ void clk_hw_reparent(struct clk_hw *hw,
*/
bool clk_has_parent(struct clk *clk, struct clk *parent)
{
}
}
-@@ -1450,6 +1480,8 @@ static bool clk_core_can_round(struct cl
+@@ -1449,6 +1479,8 @@ static bool clk_core_can_round(struct cl
static int clk_core_round_rate_nolock(struct clk_core *core,
struct clk_rate_request *req)
{
lockdep_assert_held(&prepare_lock);
if (!core) {
-@@ -1459,8 +1491,20 @@ static int clk_core_round_rate_nolock(st
+@@ -1458,8 +1490,20 @@ static int clk_core_round_rate_nolock(st
if (clk_core_can_round(core))
return clk_core_determine_round_nolock(core, req);
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -1439,6 +1439,8 @@ static void clk_core_init_rate_req(struc
+@@ -1438,6 +1438,8 @@ static void clk_core_init_rate_req(struc
if (WARN_ON(!core || !req))
return;
if (ret) {
dev_err(rpi->dev, "Failed to initialize clkdev\n");
return ERR_PTR(ret);
-@@ -266,30 +305,27 @@ static int raspberrypi_discover_clocks(s
+@@ -271,30 +310,27 @@ static int raspberrypi_discover_clocks(s
return ret;
while (clks->id) {
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -2576,6 +2576,24 @@ int clk_set_max_rate(struct clk *clk, un
+@@ -2575,6 +2575,24 @@ int clk_set_max_rate(struct clk *clk, un
EXPORT_SYMBOL_GPL(clk_set_max_rate);
/**
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -2589,7 +2589,9 @@ void clk_get_rate_range(struct clk *clk,
+@@ -2588,7 +2588,9 @@ void clk_get_rate_range(struct clk *clk,
if (!clk || !min || !max)
return;
/* called during probe() after chip reset completes */
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -155,6 +155,49 @@ int xhci_start(struct xhci_hcd *xhci)
+@@ -157,6 +157,49 @@ int xhci_start(struct xhci_hcd *xhci)
return ret;
}
/*
* Reset a halted HC.
*
-@@ -605,10 +648,20 @@ static int xhci_init(struct usb_hcd *hcd
+@@ -607,10 +650,20 @@ static int xhci_init(struct usb_hcd *hcd
static int xhci_run_finished(struct xhci_hcd *xhci)
{
xhci->shared_hcd->state = HC_STATE_RUNNING;
xhci->cmd_ring_state = CMD_RING_STATE_RUNNING;
-@@ -618,6 +671,10 @@ static int xhci_run_finished(struct xhci
+@@ -620,6 +673,10 @@ static int xhci_run_finished(struct xhci
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
"Finished xhci_run for USB3 roothub");
return 0;
if (is531x5(dev) && phy_interface_is_rgmii(phydev)) {
if (port == dev->imp_port)
off = B53_RGMII_CTRL_IMP;
-@@ -1421,6 +1454,9 @@ void b53_phylink_mac_link_up(struct dsa_
+@@ -1419,6 +1452,9 @@ void b53_phylink_mac_link_up(struct dsa_
{
struct b53_device *dev = ds->priv;
--- a/Makefile
+++ b/Makefile
-@@ -523,7 +523,7 @@ KBUILD_LDFLAGS_MODULE :=
+@@ -525,7 +525,7 @@ KBUILD_LDFLAGS_MODULE :=
KBUILD_LDFLAGS :=
CLANG_FLAGS :=
static int
--- a/drivers/net/dsa/xrs700x/xrs700x.c
+++ b/drivers/net/dsa/xrs700x/xrs700x.c
-@@ -456,7 +456,7 @@ static void xrs700x_phylink_validate(str
+@@ -457,7 +457,7 @@ static void xrs700x_phylink_validate(str
phylink_set(mask, 1000baseT_Full);
break;
default:
dev_err(ds->dev, "Unsupported port: %i\n", port);
return;
}
-@@ -467,10 +467,8 @@ static void xrs700x_phylink_validate(str
+@@ -468,10 +468,8 @@ static void xrs700x_phylink_validate(str
phylink_set(mask, 10baseT_Full);
phylink_set(mask, 100baseT_Full);
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
-@@ -243,7 +243,6 @@ config NF_CONNTRACK_FTP
+@@ -242,7 +242,6 @@ config NF_CONNTRACK_FTP
config NF_CONNTRACK_H323
tristate "H.323 protocol support"
depends on NETFILTER_ADVANCED
help
H.323 is a VoIP signalling protocol from ITU-T. As one of the most
-@@ -1106,7 +1105,6 @@ config NETFILTER_XT_TARGET_SECMARK
+@@ -1105,7 +1104,6 @@ config NETFILTER_XT_TARGET_SECMARK
config NETFILTER_XT_TARGET_TCPMSS
tristate '"TCPMSS" target support'
depends on !NF_CONNTRACK || NF_CONNTRACK
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
-@@ -708,8 +708,6 @@ config NFT_REJECT_NETDEV
+@@ -707,8 +707,6 @@ config NFT_REJECT_NETDEV
endif # NF_TABLES_NETDEV
config NF_FLOW_TABLE_INET
tristate "Netfilter flow table mixed IPv4/IPv6 module"
depends on NF_FLOW_TABLE
-@@ -718,11 +716,12 @@ config NF_FLOW_TABLE_INET
+@@ -717,11 +715,12 @@ config NF_FLOW_TABLE_INET
To compile it as a module, choose M here.
help
This option adds the flow table core infrastructure.
-@@ -1011,6 +1010,15 @@ config NETFILTER_XT_TARGET_NOTRACK
+@@ -1010,6 +1009,15 @@ config NETFILTER_XT_TARGET_NOTRACK
depends on NETFILTER_ADVANCED
select NETFILTER_XT_TARGET_CT
*/
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -2816,6 +2816,10 @@ static inline int pskb_trim(struct sk_bu
+@@ -2824,6 +2824,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
-@@ -2966,16 +2970,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -2974,16 +2978,6 @@ static inline struct sk_buff *dev_alloc_
}
#define QUECTEL_VENDOR_ID 0x2c7c
/* These Quectel products use Quectel's vendor ID */
-@@ -1133,6 +1135,11 @@ static const struct usb_device_id option
+@@ -1140,6 +1142,11 @@ static const struct usb_device_id option
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95, 0xff, 0, 0) },
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
.driver_info = RSVD(4) },
}
--- a/scripts/link-vmlinux.sh
+++ b/scripts/link-vmlinux.sh
-@@ -266,6 +266,10 @@ kallsyms()
+@@ -257,6 +257,10 @@ kallsyms()
kallsymopt="${kallsymopt} --base-relative"
fi
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -2782,7 +2782,7 @@ static inline int pskb_network_may_pull(
+@@ -2790,7 +2790,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
__u8 inner_protocol_type:1;
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -6062,6 +6062,9 @@ static enum gro_result dev_gro_receive(s
+@@ -6063,6 +6063,9 @@ static enum gro_result dev_gro_receive(s
int same_flow;
int grow;
if (netif_elide_gro(skb->dev))
goto normal;
-@@ -8076,6 +8079,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -8077,6 +8080,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,
-@@ -8127,6 +8172,7 @@ static int __netdev_upper_dev_link(struc
+@@ -8128,6 +8173,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);
-@@ -8223,6 +8269,7 @@ static void __netdev_upper_dev_unlink(st
+@@ -8224,6 +8270,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);
-@@ -9042,6 +9089,7 @@ int dev_set_mac_address(struct net_devic
+@@ -9043,6 +9090,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
--- a/drivers/net/ethernet/mediatek/mtk_sgmii.c
+++ b/drivers/net/ethernet/mediatek/mtk_sgmii.c
-@@ -180,6 +180,7 @@ int mtk_sgmii_init(struct mtk_sgmii *ss,
+@@ -182,6 +182,7 @@ int mtk_sgmii_init(struct mtk_sgmii *ss,
return PTR_ERR(ss->pcs[i].regmap);
ss->pcs[i].pcs.ops = &mtk_pcs_ops;
---
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
-@@ -4987,6 +4987,16 @@ static int mvneta_setup_tc(struct net_de
+@@ -4943,6 +4943,16 @@ static int mvneta_setup_tc(struct net_de
}
}
static const struct net_device_ops mvneta_netdev_ops = {
.ndo_open = mvneta_open,
.ndo_stop = mvneta_stop,
-@@ -4997,6 +5007,9 @@ static const struct net_device_ops mvnet
+@@ -4953,6 +4963,9 @@ static const struct net_device_ops mvnet
.ndo_fix_features = mvneta_fix_features,
.ndo_get_stats64 = mvneta_get_stats64,
.ndo_eth_ioctl = mvneta_ioctl,
#include <linux/bpf_trace.h>
/* Registers */
-@@ -4947,14 +4948,14 @@ static void mvneta_setup_rx_prio_map(str
+@@ -4903,14 +4904,14 @@ static void mvneta_setup_rx_prio_map(str
}
static int mvneta_setup_mqprio(struct net_device *dev,
if (num_tc > rxq_number)
return -EINVAL;
-@@ -4965,13 +4966,15 @@ static int mvneta_setup_mqprio(struct ne
+@@ -4921,13 +4922,15 @@ static int mvneta_setup_mqprio(struct ne
return 0;
}
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
-@@ -4954,7 +4954,9 @@ static int mvneta_setup_mqprio(struct ne
+@@ -4910,7 +4910,9 @@ static int mvneta_setup_mqprio(struct ne
u8 num_tc;
int i;
phy_interface_t phy_interface;
struct device_node *dn;
-@@ -4936,13 +4935,12 @@ static void mvneta_clear_rx_prio_map(str
+@@ -4892,13 +4891,12 @@ static void mvneta_clear_rx_prio_map(str
mvreg_write(pp, MVNETA_VLAN_PRIO_TO_RXQ, 0);
}
mvreg_write(pp, MVNETA_VLAN_PRIO_TO_RXQ, val);
}
-@@ -4951,8 +4949,8 @@ static int mvneta_setup_mqprio(struct ne
+@@ -4907,8 +4905,8 @@ static int mvneta_setup_mqprio(struct ne
struct tc_mqprio_qopt_offload *mqprio)
{
struct mvneta_port *pp = netdev_priv(dev);
if (mqprio->qopt.hw != TC_MQPRIO_HW_OFFLOAD_TCS)
return 0;
-@@ -4962,21 +4960,28 @@ static int mvneta_setup_mqprio(struct ne
+@@ -4918,21 +4916,28 @@ static int mvneta_setup_mqprio(struct ne
if (num_tc > rxq_number)
return -EINVAL;
#define MVNETA_LPI_CTRL_0 0x2cc0
#define MVNETA_LPI_CTRL_1 0x2cc4
#define MVNETA_LPI_REQUEST_ENABLE BIT(0)
-@@ -4945,11 +4972,74 @@ static void mvneta_map_vlan_prio_to_rxq(
+@@ -4901,11 +4928,74 @@ static void mvneta_map_vlan_prio_to_rxq(
mvreg_write(pp, MVNETA_VLAN_PRIO_TO_RXQ, val);
}
u8 num_tc;
if (mqprio->qopt.hw != TC_MQPRIO_HW_OFFLOAD_TCS)
-@@ -4963,6 +5053,7 @@ static int mvneta_setup_mqprio(struct ne
+@@ -4919,6 +5009,7 @@ static int mvneta_setup_mqprio(struct ne
mvneta_clear_rx_prio_map(pp);
if (!num_tc) {
netdev_reset_tc(dev);
return 0;
}
-@@ -4983,6 +5074,33 @@ static int mvneta_setup_mqprio(struct ne
+@@ -4939,6 +5030,33 @@ static int mvneta_setup_mqprio(struct ne
}
}