From 7bc25dfa63c084298edcc8bf5c5cdf258229d24a Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Mon, 8 Jan 2018 14:35:21 +0100 Subject: [PATCH] mvebu: fix mvneta build with Linux 4.4.110 Kernel 4.4.109 added pp->link, pp->duplex and pp->speed setters to mvneta_port_disable() which the mvneta patchset failed to patch out after rebasing, leading to the following build error: CC drivers/net/ethernet/marvell/mvneta.o drivers/net/ethernet/marvell/mvneta.c: In function 'mvneta_port_disable': drivers/net/ethernet/marvell/mvneta.c:1199:4: error: 'struct mvneta_port' has no member named 'link' pp->link = 0; ^ drivers/net/ethernet/marvell/mvneta.c:1200:4: error: 'struct mvneta_port' has no member named 'duplex' pp->duplex = -1; ^ drivers/net/ethernet/marvell/mvneta.c:1201:4: error: 'struct mvneta_port' has no member named 'speed' pp->speed = 0; ^ Fix the issue by rebasing 134-net-mvneta-convert-to-phylink.patch to remove these struct member accesses as well. Fixes: 7f5a040359 ("kernel: update kernel 4.4 to version 4.4.110") Signed-off-by: Jo-Philipp Wich --- .../134-net-mvneta-convert-to-phylink.patch | 65 +++++++++++-------- ...37-net-mvneta-add-nway_reset-support.patch | 4 +- ...add-flow-control-support-via-phylink.patch | 8 +-- ...ble-flow-control-for-PHY-connections.patch | 2 +- ...e-flow-control-for-fixed-connections.patch | 4 +- .../143-net-mvneta-add-EEE-support.patch | 12 ++-- ...ta-add-module-EEPROM-reading-support.patch | 4 +- .../147-net-mvneta-add-BQL-support.patch | 16 ++--- .../400-mvneta-tx-queue-workaround.patch | 4 +- 9 files changed, 65 insertions(+), 54 deletions(-) diff --git a/target/linux/mvebu/patches-4.4/134-net-mvneta-convert-to-phylink.patch b/target/linux/mvebu/patches-4.4/134-net-mvneta-convert-to-phylink.patch index 79f245411e..3bfaf1582e 100644 --- a/target/linux/mvebu/patches-4.4/134-net-mvneta-convert-to-phylink.patch +++ b/target/linux/mvebu/patches-4.4/134-net-mvneta-convert-to-phylink.patch @@ -79,7 +79,18 @@ Signed-off-by: Russell King struct mvneta_bm *bm_priv; struct mvneta_bm_pool *pool_long; -@@ -1240,44 +1242,6 @@ static void mvneta_set_other_mcast_table +@@ -1177,10 +1179,6 @@ static void mvneta_port_disable(struct m + val &= ~MVNETA_GMAC0_PORT_ENABLE; + mvreg_write(pp, MVNETA_GMAC_CTRL_0, val); + +- pp->link = 0; +- pp->duplex = -1; +- pp->speed = 0; +- + udelay(200); + } + +@@ -1240,44 +1238,6 @@ static void mvneta_set_other_mcast_table mvreg_write(pp, MVNETA_DA_FILT_OTH_MCAST + offset, val); } @@ -124,7 +135,7 @@ Signed-off-by: Russell King static void mvneta_percpu_unmask_interrupt(void *arg) { struct mvneta_port *pp = arg; -@@ -1425,7 +1389,6 @@ static void mvneta_defaults_set(struct m +@@ -1425,7 +1385,6 @@ static void mvneta_defaults_set(struct m val &= ~MVNETA_PHY_POLLING_ENABLE; mvreg_write(pp, MVNETA_UNIT_CONTROL, val); @@ -132,7 +143,7 @@ Signed-off-by: Russell King mvneta_set_ucast_table(pp, -1); mvneta_set_special_mcast_table(pp, -1); mvneta_set_other_mcast_table(pp, -1); -@@ -2618,26 +2581,11 @@ static irqreturn_t mvneta_isr(int irq, v +@@ -2618,26 +2577,11 @@ static irqreturn_t mvneta_isr(int irq, v return IRQ_HANDLED; } @@ -161,7 +172,7 @@ Signed-off-by: Russell King } /* NAPI handler -@@ -2666,12 +2614,11 @@ static int mvneta_poll(struct napi_struc +@@ -2666,12 +2610,11 @@ static int mvneta_poll(struct napi_struc u32 cause_misc = mvreg_read(pp, MVNETA_INTR_MISC_CAUSE); mvreg_write(pp, MVNETA_INTR_MISC_CAUSE, 0); @@ -179,7 +190,7 @@ Signed-off-by: Russell King } /* Release Tx descriptors */ -@@ -2987,7 +2934,7 @@ static void mvneta_start_dev(struct mvne +@@ -2987,7 +2930,7 @@ static void mvneta_start_dev(struct mvne MVNETA_CAUSE_LINK_CHANGE | MVNETA_CAUSE_PSC_SYNC_CHANGE); @@ -188,7 +199,7 @@ Signed-off-by: Russell King netif_tx_start_all_queues(pp->dev); } -@@ -2995,7 +2942,7 @@ static void mvneta_stop_dev(struct mvnet +@@ -2995,7 +2938,7 @@ static void mvneta_stop_dev(struct mvnet { unsigned int cpu; @@ -197,7 +208,7 @@ Signed-off-by: Russell King for_each_online_cpu(cpu) { struct mvneta_pcpu_port *port = per_cpu_ptr(pp->ports, cpu); -@@ -3165,99 +3112,219 @@ static int mvneta_set_mac_addr(struct ne +@@ -3165,99 +3108,219 @@ static int mvneta_set_mac_addr(struct ne return 0; } @@ -438,13 +449,6 @@ Signed-off-by: Russell King - struct phy_device *phy_dev; + struct mvneta_port *pp = netdev_priv(ndev); + u32 val; -+ -+ if (mode == MLO_AN_PHY || mode == MLO_AN_FIXED) { -+ val = mvreg_read(pp, MVNETA_GMAC_AUTONEG_CONFIG); -+ val &= ~MVNETA_GMAC_FORCE_LINK_DOWN; -+ val |= MVNETA_GMAC_FORCE_LINK_PASS; -+ mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, val); -+ } - phy_dev = of_phy_connect(pp->dev, pp->phy_node, mvneta_adjust_link, 0, - pp->phy_interface); @@ -460,10 +464,17 @@ Signed-off-by: Russell King - pp->link = 0; - pp->duplex = 0; - pp->speed = 0; -+ mvneta_port_up(pp); -+} ++ if (mode == MLO_AN_PHY || mode == MLO_AN_FIXED) { ++ val = mvreg_read(pp, MVNETA_GMAC_AUTONEG_CONFIG); ++ val &= ~MVNETA_GMAC_FORCE_LINK_DOWN; ++ val |= MVNETA_GMAC_FORCE_LINK_PASS; ++ mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, val); ++ } - return 0; ++ mvneta_port_up(pp); ++} ++ +static const struct phylink_mac_ops mvneta_phylink_ops = { + .mac_get_support = mvneta_mac_support, + .mac_link_state = mvneta_mac_link_state, @@ -490,7 +501,7 @@ Signed-off-by: Russell King } /* Electing a CPU must be done in an atomic way: it should be done -@@ -3505,10 +3572,7 @@ static int mvneta_ioctl(struct net_devic +@@ -3505,10 +3568,7 @@ static int mvneta_ioctl(struct net_devic { struct mvneta_port *pp = netdev_priv(dev); @@ -502,7 +513,7 @@ Signed-off-by: Russell King } /* Ethtool methods */ -@@ -3518,54 +3582,15 @@ int mvneta_ethtool_get_settings(struct n +@@ -3518,54 +3578,15 @@ int mvneta_ethtool_get_settings(struct n { struct mvneta_port *pp = netdev_priv(dev); @@ -559,7 +570,7 @@ Signed-off-by: Russell King } /* Set interrupt coalescing for ethtools */ -@@ -3673,7 +3698,8 @@ static void mvneta_ethtool_update_stats( +@@ -3673,7 +3694,8 @@ static void mvneta_ethtool_update_stats( { const struct mvneta_statistic *s; void __iomem *base = pp->base; @@ -569,7 +580,7 @@ Signed-off-by: Russell King u64 val64; int i; -@@ -3968,14 +3994,13 @@ static int mvneta_probe(struct platform_ +@@ -3968,14 +3990,13 @@ static int mvneta_probe(struct platform_ const struct mbus_dram_target_info *dram_target_info; struct resource *res; struct device_node *dn = pdev->dev.of_node; @@ -585,7 +596,7 @@ Signed-off-by: Russell King int tx_csum_limit; int phy_mode; int err; -@@ -3991,31 +4016,11 @@ static int mvneta_probe(struct platform_ +@@ -3991,31 +4012,11 @@ static int mvneta_probe(struct platform_ goto err_free_netdev; } @@ -618,7 +629,7 @@ Signed-off-by: Russell King } dev->tx_queue_len = MVNETA_MAX_TXD; -@@ -4026,12 +4031,7 @@ static int mvneta_probe(struct platform_ +@@ -4026,12 +4027,7 @@ static int mvneta_probe(struct platform_ pp = netdev_priv(dev); spin_lock_init(&pp->lock); @@ -632,7 +643,7 @@ Signed-off-by: Russell King pp->cpu_notifier.notifier_call = mvneta_percpu_notifier; pp->rxq_def = rxq_def; -@@ -4041,7 +4041,7 @@ static int mvneta_probe(struct platform_ +@@ -4041,7 +4037,7 @@ static int mvneta_probe(struct platform_ pp->clk = devm_clk_get(&pdev->dev, NULL); if (IS_ERR(pp->clk)) { err = PTR_ERR(pp->clk); @@ -641,7 +652,7 @@ Signed-off-by: Russell King } clk_prepare_enable(pp->clk); -@@ -4144,6 +4144,14 @@ static int mvneta_probe(struct platform_ +@@ -4144,6 +4140,14 @@ static int mvneta_probe(struct platform_ dev->priv_flags |= IFF_UNICAST_FLT | IFF_LIVE_ADDR_CHANGE; dev->gso_max_segs = MVNETA_MAX_TSO_SEGS; @@ -656,7 +667,7 @@ Signed-off-by: Russell King err = register_netdev(dev); if (err < 0) { dev_err(&pdev->dev, "failed to register\n"); -@@ -4155,13 +4163,6 @@ static int mvneta_probe(struct platform_ +@@ -4155,13 +4159,6 @@ static int mvneta_probe(struct platform_ platform_set_drvdata(pdev, pp->dev); @@ -670,7 +681,7 @@ Signed-off-by: Russell King return 0; -@@ -4173,13 +4174,13 @@ err_netdev: +@@ -4173,13 +4170,13 @@ err_netdev: 1 << pp->id); } err_free_stats: @@ -686,7 +697,7 @@ Signed-off-by: Russell King err_free_irq: irq_dispose_mapping(dev->irq); err_free_netdev: -@@ -4198,7 +4199,7 @@ static int mvneta_remove(struct platform +@@ -4198,7 +4195,7 @@ static int mvneta_remove(struct platform free_percpu(pp->ports); free_percpu(pp->stats); irq_dispose_mapping(dev->irq); diff --git a/target/linux/mvebu/patches-4.4/137-net-mvneta-add-nway_reset-support.patch b/target/linux/mvebu/patches-4.4/137-net-mvneta-add-nway_reset-support.patch index b2f0ed5da5..034b596436 100644 --- a/target/linux/mvebu/patches-4.4/137-net-mvneta-add-nway_reset-support.patch +++ b/target/linux/mvebu/patches-4.4/137-net-mvneta-add-nway_reset-support.patch @@ -14,7 +14,7 @@ Signed-off-by: Russell King --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -3593,6 +3593,13 @@ int mvneta_ethtool_set_settings(struct n +@@ -3589,6 +3589,13 @@ int mvneta_ethtool_set_settings(struct n return phylink_ethtool_set_settings(pp->phylink, cmd); } @@ -28,7 +28,7 @@ Signed-off-by: Russell King /* Set interrupt coalescing for ethtools */ static int mvneta_ethtool_set_coalesce(struct net_device *dev, struct ethtool_coalesce *c) -@@ -3857,6 +3864,7 @@ const struct ethtool_ops mvneta_eth_tool +@@ -3853,6 +3860,7 @@ const struct ethtool_ops mvneta_eth_tool .get_link = ethtool_op_get_link, .get_settings = mvneta_ethtool_get_settings, .set_settings = mvneta_ethtool_set_settings, diff --git a/target/linux/mvebu/patches-4.4/139-net-mvneta-add-flow-control-support-via-phylink.patch b/target/linux/mvebu/patches-4.4/139-net-mvneta-add-flow-control-support-via-phylink.patch index 328dd0e18d..75cd46e3da 100644 --- a/target/linux/mvebu/patches-4.4/139-net-mvneta-add-flow-control-support-via-phylink.patch +++ b/target/linux/mvebu/patches-4.4/139-net-mvneta-add-flow-control-support-via-phylink.patch @@ -14,7 +14,7 @@ Signed-off-by: Russell King --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -3212,6 +3212,8 @@ static void mvneta_mac_config(struct net +@@ -3208,6 +3208,8 @@ static void mvneta_mac_config(struct net if (state->advertising & ADVERTISED_Pause) new_an |= MVNETA_GMAC_ADVERT_SYM_FLOW_CTRL; @@ -23,7 +23,7 @@ Signed-off-by: Russell King switch (mode) { case MLO_AN_SGMII: -@@ -3236,7 +3238,7 @@ static void mvneta_mac_config(struct net +@@ -3232,7 +3234,7 @@ static void mvneta_mac_config(struct net /* The MAC only supports FD mode */ MVNETA_GMAC_CONFIG_FULL_DUPLEX; @@ -32,7 +32,7 @@ Signed-off-by: Russell King new_an |= MVNETA_GMAC_AN_FLOW_CTRL_EN; break; -@@ -3689,6 +3691,22 @@ static int mvneta_ethtool_set_ringparam( +@@ -3685,6 +3687,22 @@ static int mvneta_ethtool_set_ringparam( return 0; } @@ -55,7 +55,7 @@ Signed-off-by: Russell King static void mvneta_ethtool_get_strings(struct net_device *netdev, u32 sset, u8 *data) { -@@ -3870,6 +3888,8 @@ const struct ethtool_ops mvneta_eth_tool +@@ -3866,6 +3884,8 @@ const struct ethtool_ops mvneta_eth_tool .get_drvinfo = mvneta_ethtool_get_drvinfo, .get_ringparam = mvneta_ethtool_get_ringparam, .set_ringparam = mvneta_ethtool_set_ringparam, diff --git a/target/linux/mvebu/patches-4.4/140-net-mvneta-enable-flow-control-for-PHY-connections.patch b/target/linux/mvebu/patches-4.4/140-net-mvneta-enable-flow-control-for-PHY-connections.patch index 9314c304a0..e10574c753 100644 --- a/target/linux/mvebu/patches-4.4/140-net-mvneta-enable-flow-control-for-PHY-connections.patch +++ b/target/linux/mvebu/patches-4.4/140-net-mvneta-enable-flow-control-for-PHY-connections.patch @@ -15,7 +15,7 @@ Signed-off-by: Russell King --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -3131,12 +3131,14 @@ static int mvneta_mac_support(struct net +@@ -3127,12 +3127,14 @@ static int mvneta_mac_support(struct net state->supported = PHY_10BT_FEATURES | PHY_100BT_FEATURES | SUPPORTED_1000baseT_Full | diff --git a/target/linux/mvebu/patches-4.4/141-net-mvneta-enable-flow-control-for-fixed-connections.patch b/target/linux/mvebu/patches-4.4/141-net-mvneta-enable-flow-control-for-fixed-connections.patch index 0758800593..16ffab3d46 100644 --- a/target/linux/mvebu/patches-4.4/141-net-mvneta-enable-flow-control-for-fixed-connections.patch +++ b/target/linux/mvebu/patches-4.4/141-net-mvneta-enable-flow-control-for-fixed-connections.patch @@ -15,7 +15,7 @@ Signed-off-by: Russell King --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -3118,9 +3118,9 @@ static int mvneta_mac_support(struct net +@@ -3114,9 +3114,9 @@ static int mvneta_mac_support(struct net switch (mode) { case MLO_AN_8023Z: state->supported = SUPPORTED_1000baseT_Full | @@ -27,7 +27,7 @@ Signed-off-by: Russell King state->an_enabled = 1; break; -@@ -3131,18 +3131,21 @@ static int mvneta_mac_support(struct net +@@ -3127,18 +3127,21 @@ static int mvneta_mac_support(struct net state->supported = PHY_10BT_FEATURES | PHY_100BT_FEATURES | SUPPORTED_1000baseT_Full | diff --git a/target/linux/mvebu/patches-4.4/143-net-mvneta-add-EEE-support.patch b/target/linux/mvebu/patches-4.4/143-net-mvneta-add-EEE-support.patch index 47763ba92e..b9043561d0 100644 --- a/target/linux/mvebu/patches-4.4/143-net-mvneta-add-EEE-support.patch +++ b/target/linux/mvebu/patches-4.4/143-net-mvneta-add-EEE-support.patch @@ -68,7 +68,7 @@ Signed-off-by: Russell King u64 ethtool_stats[ARRAY_SIZE(mvneta_statistics)]; u32 indir[MVNETA_RSS_LU_TABLE_SIZE]; -@@ -3280,6 +3297,18 @@ static void mvneta_mac_config(struct net +@@ -3276,6 +3293,18 @@ static void mvneta_mac_config(struct net mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, new_an); } @@ -87,7 +87,7 @@ Signed-off-by: Russell King static void mvneta_mac_link_down(struct net_device *ndev, unsigned int mode) { struct mvneta_port *pp = netdev_priv(ndev); -@@ -3293,6 +3322,9 @@ static void mvneta_mac_link_down(struct +@@ -3289,6 +3318,9 @@ static void mvneta_mac_link_down(struct val |= MVNETA_GMAC_FORCE_LINK_DOWN; mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, val); } @@ -97,7 +97,7 @@ Signed-off-by: Russell King } static void mvneta_mac_link_up(struct net_device *ndev, unsigned int mode, -@@ -3309,6 +3341,11 @@ static void mvneta_mac_link_up(struct ne +@@ -3305,6 +3337,11 @@ static void mvneta_mac_link_up(struct ne } mvneta_port_up(pp); @@ -109,7 +109,7 @@ Signed-off-by: Russell King } static const struct phylink_mac_ops mvneta_phylink_ops = { -@@ -3748,6 +3785,13 @@ static void mvneta_ethtool_update_stats( +@@ -3744,6 +3781,13 @@ static void mvneta_ethtool_update_stats( val64 = (u64)high << 32 | low; pp->ethtool_stats[i] += val64; break; @@ -123,7 +123,7 @@ Signed-off-by: Russell King } } } -@@ -3871,6 +3915,47 @@ static int mvneta_ethtool_get_rxfh(struc +@@ -3867,6 +3911,47 @@ static int mvneta_ethtool_get_rxfh(struc return 0; } @@ -171,7 +171,7 @@ Signed-off-by: Russell King static const struct net_device_ops mvneta_netdev_ops = { .ndo_open = mvneta_open, .ndo_stop = mvneta_stop, -@@ -3902,6 +3987,8 @@ const struct ethtool_ops mvneta_eth_tool +@@ -3898,6 +3983,8 @@ const struct ethtool_ops mvneta_eth_tool .get_rxnfc = mvneta_ethtool_get_rxnfc, .get_rxfh = mvneta_ethtool_get_rxfh, .set_rxfh = mvneta_ethtool_set_rxfh, diff --git a/target/linux/mvebu/patches-4.4/145-net-mvneta-add-module-EEPROM-reading-support.patch b/target/linux/mvebu/patches-4.4/145-net-mvneta-add-module-EEPROM-reading-support.patch index 428e460e26..b3f9039081 100644 --- a/target/linux/mvebu/patches-4.4/145-net-mvneta-add-module-EEPROM-reading-support.patch +++ b/target/linux/mvebu/patches-4.4/145-net-mvneta-add-module-EEPROM-reading-support.patch @@ -10,7 +10,7 @@ Signed-off-by: Russell King --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -3915,6 +3915,22 @@ static int mvneta_ethtool_get_rxfh(struc +@@ -3911,6 +3911,22 @@ static int mvneta_ethtool_get_rxfh(struc return 0; } @@ -33,7 +33,7 @@ Signed-off-by: Russell King static int mvneta_ethtool_get_eee(struct net_device *dev, struct ethtool_eee *eee) { -@@ -3987,6 +4003,8 @@ const struct ethtool_ops mvneta_eth_tool +@@ -3983,6 +3999,8 @@ const struct ethtool_ops mvneta_eth_tool .get_rxnfc = mvneta_ethtool_get_rxnfc, .get_rxfh = mvneta_ethtool_get_rxfh, .set_rxfh = mvneta_ethtool_set_rxfh, diff --git a/target/linux/mvebu/patches-4.4/147-net-mvneta-add-BQL-support.patch b/target/linux/mvebu/patches-4.4/147-net-mvneta-add-BQL-support.patch index 5405eefc9f..7bd2593537 100644 --- a/target/linux/mvebu/patches-4.4/147-net-mvneta-add-BQL-support.patch +++ b/target/linux/mvebu/patches-4.4/147-net-mvneta-add-BQL-support.patch @@ -1,6 +1,6 @@ --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -1699,8 +1699,10 @@ static struct mvneta_tx_queue *mvneta_tx +@@ -1695,8 +1695,10 @@ static struct mvneta_tx_queue *mvneta_tx /* Free tx queue skbuffs */ static void mvneta_txq_bufs_free(struct mvneta_port *pp, @@ -12,7 +12,7 @@ int i; for (i = 0; i < num; i++) { -@@ -1708,6 +1710,11 @@ static void mvneta_txq_bufs_free(struct +@@ -1704,6 +1706,11 @@ static void mvneta_txq_bufs_free(struct txq->txq_get_index; struct sk_buff *skb = txq->tx_skb[txq->txq_get_index]; @@ -24,7 +24,7 @@ mvneta_txq_inc_get(txq); if (!IS_TSO_HEADER(txq, tx_desc->buf_phys_addr)) -@@ -1718,6 +1725,8 @@ static void mvneta_txq_bufs_free(struct +@@ -1714,6 +1721,8 @@ static void mvneta_txq_bufs_free(struct continue; dev_kfree_skb_any(skb); } @@ -33,7 +33,7 @@ } /* Handle end of transmission */ -@@ -1731,7 +1740,7 @@ static void mvneta_txq_done(struct mvnet +@@ -1727,7 +1736,7 @@ static void mvneta_txq_done(struct mvnet if (!tx_done) return; @@ -42,7 +42,7 @@ txq->count -= tx_done; -@@ -2338,6 +2347,8 @@ out: +@@ -2334,6 +2343,8 @@ out: struct mvneta_pcpu_stats *stats = this_cpu_ptr(pp->stats); struct netdev_queue *nq = netdev_get_tx_queue(dev, txq_id); @@ -51,7 +51,7 @@ txq->count += frags; mvneta_txq_pend_desc_add(pp, txq, frags); -@@ -2362,9 +2373,10 @@ static void mvneta_txq_done_force(struct +@@ -2358,9 +2369,10 @@ static void mvneta_txq_done_force(struct struct mvneta_tx_queue *txq) { @@ -63,7 +63,7 @@ /* reset txq */ txq->count = 0; -@@ -2845,6 +2857,8 @@ static int mvneta_txq_init(struct mvneta +@@ -2841,6 +2853,8 @@ static int mvneta_txq_init(struct mvneta static void mvneta_txq_deinit(struct mvneta_port *pp, struct mvneta_tx_queue *txq) { @@ -72,7 +72,7 @@ kfree(txq->tx_skb); if (txq->tso_hdrs) -@@ -2856,6 +2870,8 @@ static void mvneta_txq_deinit(struct mvn +@@ -2852,6 +2866,8 @@ static void mvneta_txq_deinit(struct mvn txq->size * MVNETA_DESC_ALIGNED_SIZE, txq->descs, txq->descs_phys); diff --git a/target/linux/mvebu/patches-4.4/400-mvneta-tx-queue-workaround.patch b/target/linux/mvebu/patches-4.4/400-mvneta-tx-queue-workaround.patch index a0627309c2..5dba311d93 100644 --- a/target/linux/mvebu/patches-4.4/400-mvneta-tx-queue-workaround.patch +++ b/target/linux/mvebu/patches-4.4/400-mvneta-tx-queue-workaround.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c -@@ -3988,6 +3988,16 @@ static int mvneta_ethtool_set_eee(struct +@@ -3984,6 +3984,16 @@ static int mvneta_ethtool_set_eee(struct return phylink_ethtool_set_eee(pp->phylink, eee); } @@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau static const struct net_device_ops mvneta_netdev_ops = { .ndo_open = mvneta_open, .ndo_stop = mvneta_stop, -@@ -3998,6 +4008,7 @@ static const struct net_device_ops mvnet +@@ -3994,6 +4004,7 @@ static const struct net_device_ops mvnet .ndo_fix_features = mvneta_fix_features, .ndo_get_stats64 = mvneta_get_stats64, .ndo_do_ioctl = mvneta_ioctl,