[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: Chas Williams <chas@cmf.nrl.navy.mil> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
79e453d49b
commit
7f81dc0097
@ -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);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user