[PATCH] Networking: Core: netpoll: Fixed a missing spin_unlock

From: Salil Kapur
Date: Fri Jul 29 2016 - 20:55:38 EST


In the case when the loop breaks at line 390, the txq lock is not
released. Added an unlock statement before the break statement.

Signed-off-by: Salil Kapur <salilkapur93@xxxxxxxxx>
---
net/core/netpoll.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/net/core/netpoll.c b/net/core/netpoll.c
index fc75c9e..9124f76 100644
--- a/net/core/netpoll.c
+++ b/net/core/netpoll.c
@@ -386,8 +386,10 @@ void netpoll_send_skb_on_dev(struct netpoll *np, struct sk_buff *skb,
!vlan_hw_offload_capable(netif_skb_features(skb),
skb->vlan_proto)) {
skb = __vlan_put_tag(skb, skb->vlan_proto, vlan_tx_tag_get(skb));
- if (unlikely(!skb))
+ if (unlikely(!skb)) {
+ __netif_tx_unlock(txq);
break;
+ }
skb->vlan_tci = 0;
}

--
1.9.1