aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c')
-rw-r--r--drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
index a12b894f135d..9b9f3f99b39d 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c
@@ -763,9 +763,7 @@ static void ch_flower_stats_handler(struct work_struct *work)
763 763
764 rhashtable_walk_enter(&adap->flower_tbl, &iter); 764 rhashtable_walk_enter(&adap->flower_tbl, &iter);
765 do { 765 do {
766 flower_entry = ERR_PTR(rhashtable_walk_start(&iter)); 766 rhashtable_walk_start(&iter);
767 if (IS_ERR(flower_entry))
768 goto walk_stop;
769 767
770 while ((flower_entry = rhashtable_walk_next(&iter)) && 768 while ((flower_entry = rhashtable_walk_next(&iter)) &&
771 !IS_ERR(flower_entry)) { 769 !IS_ERR(flower_entry)) {
@@ -784,8 +782,9 @@ static void ch_flower_stats_handler(struct work_struct *work)
784 spin_unlock(&flower_entry->lock); 782 spin_unlock(&flower_entry->lock);
785 } 783 }
786 } 784 }
787walk_stop: 785
788 rhashtable_walk_stop(&iter); 786 rhashtable_walk_stop(&iter);
787
789 } while (flower_entry == ERR_PTR(-EAGAIN)); 788 } while (flower_entry == ERR_PTR(-EAGAIN));
790 rhashtable_walk_exit(&iter); 789 rhashtable_walk_exit(&iter);
791 mod_timer(&adap->flower_stats_timer, jiffies + STATS_CHECK_PERIOD); 790 mod_timer(&adap->flower_stats_timer, jiffies + STATS_CHECK_PERIOD);