提交 7f81dc00 编写于 作者: C Chas Williams 提交者: David S. Miller

[ATM]: [he] don't hold the device lock when upcalling

This can create a deadlock/lock ordering problem with other layers
that want to use the transmit (or other) path of the card at that
time.
Signed-off-by: NChas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 79e453d4
...@@ -1928,7 +1928,9 @@ he_service_rbrq(struct he_dev *he_dev, int group) ...@@ -1928,7 +1928,9 @@ he_service_rbrq(struct he_dev *he_dev, int group)
#ifdef notdef #ifdef notdef
ATM_SKB(skb)->vcc = vcc; ATM_SKB(skb)->vcc = vcc;
#endif #endif
spin_unlock(&he_dev->global_lock);
vcc->push(vcc, skb); vcc->push(vcc, skb);
spin_lock(&he_dev->global_lock);
atomic_inc(&vcc->stats->rx); atomic_inc(&vcc->stats->rx);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册