On 02/04/2021 at 14:42, Claudiu Beznea wrote:
Restore CMP screener registers on resume path.

Fixes: c1e85c6ce57ef ("net: macb: save/restore the remaining registers and 
features")
Signed-off-by: Claudiu Beznea <claudiu.bez...@microchip.com>

Acked-by: Nicolas Ferre <nicolas.fe...@microchip.com>

Thanks for this fix Claudiu. Best regards,
  Nicolas

---
  drivers/net/ethernet/cadence/macb_main.c | 7 +++++++
  1 file changed, 7 insertions(+)

diff --git a/drivers/net/ethernet/cadence/macb_main.c 
b/drivers/net/ethernet/cadence/macb_main.c
index f56f3dbbc015..ffd56a23f8b0 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -3269,6 +3269,9 @@ static void gem_prog_cmp_regs(struct macb *bp, struct 
ethtool_rx_flow_spec *fs)
        bool cmp_b = false;
        bool cmp_c = false;
+ if (!macb_is_gem(bp))
+               return;
+
        tp4sp_v = &(fs->h_u.tcp_ip4_spec);
        tp4sp_m = &(fs->m_u.tcp_ip4_spec);
@@ -3637,6 +3640,7 @@ static void macb_restore_features(struct macb *bp)
  {
        struct net_device *netdev = bp->dev;
        netdev_features_t features = netdev->features;
+       struct ethtool_rx_fs_item *item;
/* TX checksum offload */
        macb_set_txcsum_feature(bp, features);
@@ -3645,6 +3649,9 @@ static void macb_restore_features(struct macb *bp)
        macb_set_rxcsum_feature(bp, features);
/* RX Flow Filters */
+       list_for_each_entry(item, &bp->rx_fs_list.list, list)
+               gem_prog_cmp_regs(bp, &item->fs);
+
        macb_set_rxflow_feature(bp, features);
  }


--
Nicolas Ferre

Reply via email to