diff options
author | Jakub Kicinski <kubakici@wp.pl> | 2015-08-11 20:41:56 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-08-12 17:47:05 -0400 |
commit | b5c8c8906e425f71efb83291c3837e4b78b769ea (patch) | |
tree | a9c12985a5f834cb314ed0d3851cf935eaad703f | |
parent | a898fe040f62a32b90e26dc1f1b5973608054b29 (diff) |
gianfar: correct list membership accounting
At a cost of one line let's make sure .count is correct
when calling gfar_process_filer_changes().
Signed-off-by: Jakub Kicinski <kubakici@wp.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/freescale/gianfar_ethtool.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/freescale/gianfar_ethtool.c b/drivers/net/ethernet/freescale/gianfar_ethtool.c index 4a710f3eb5eb..f477b67730bb 100644 --- a/drivers/net/ethernet/freescale/gianfar_ethtool.c +++ b/drivers/net/ethernet/freescale/gianfar_ethtool.c | |||
@@ -1721,13 +1721,14 @@ static int gfar_add_cls(struct gfar_private *priv, | |||
1721 | } | 1721 | } |
1722 | 1722 | ||
1723 | process: | 1723 | process: |
1724 | priv->rx_list.count++; | ||
1724 | ret = gfar_process_filer_changes(priv); | 1725 | ret = gfar_process_filer_changes(priv); |
1725 | if (ret) | 1726 | if (ret) |
1726 | goto clean_list; | 1727 | goto clean_list; |
1727 | priv->rx_list.count++; | ||
1728 | return ret; | 1728 | return ret; |
1729 | 1729 | ||
1730 | clean_list: | 1730 | clean_list: |
1731 | priv->rx_list.count--; | ||
1731 | list_del(&temp->list); | 1732 | list_del(&temp->list); |
1732 | clean_mem: | 1733 | clean_mem: |
1733 | kfree(temp); | 1734 | kfree(temp); |