Commit db91b724 authored by Alexander Duyck's avatar Alexander Duyck Committed by David S. Miller

dp83640: Make use of skb_queue_purge instead of reimplementing the code

This change makes it so that dp83640_remove can use skb_queue_purge
instead of looping through itself to flush any entries out of the queue.
Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent eb84d6b6
...@@ -1136,7 +1136,6 @@ static void dp83640_remove(struct phy_device *phydev) ...@@ -1136,7 +1136,6 @@ static void dp83640_remove(struct phy_device *phydev)
struct dp83640_clock *clock; struct dp83640_clock *clock;
struct list_head *this, *next; struct list_head *this, *next;
struct dp83640_private *tmp, *dp83640 = phydev->priv; struct dp83640_private *tmp, *dp83640 = phydev->priv;
struct sk_buff *skb;
if (phydev->addr == BROADCAST_ADDR) if (phydev->addr == BROADCAST_ADDR)
return; return;
...@@ -1144,11 +1143,8 @@ static void dp83640_remove(struct phy_device *phydev) ...@@ -1144,11 +1143,8 @@ static void dp83640_remove(struct phy_device *phydev)
enable_status_frames(phydev, false); enable_status_frames(phydev, false);
cancel_work_sync(&dp83640->ts_work); cancel_work_sync(&dp83640->ts_work);
while ((skb = skb_dequeue(&dp83640->rx_queue)) != NULL) skb_queue_purge(&dp83640->rx_queue);
kfree_skb(skb); skb_queue_purge(&dp83640->tx_queue);
while ((skb = skb_dequeue(&dp83640->tx_queue)) != NULL)
kfree_skb(skb);
clock = dp83640_clock_get(dp83640->clock); clock = dp83640_clock_get(dp83640->clock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment