projects
/
GitHub
/
LineageOS
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
79e453d
)
[ATM]: [he] don't hold the device lock when upcalling
author
Chas Williams
<chas@cmf.nrl.navy.mil>
Tue, 19 Sep 2006 19:59:11 +0000
(12:59 -0700)
committer
David S. Miller
<davem@davemloft.net>
Tue, 19 Sep 2006 19:59:11 +0000
(12:59 -0700)
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>
drivers/atm/he.c
patch
|
blob
|
blame
|
history
diff --git
a/drivers/atm/he.c
b/drivers/atm/he.c
index dd96123a2b7f78e52c4bba06611e7a5e8f97fcf8..ffcb9fd31c38fbdd7a1efbb2b52eb6f7e5d2c116 100644
(file)
--- a/
drivers/atm/he.c
+++ b/
drivers/atm/he.c
@@
-1928,7
+1928,9
@@
he_service_rbrq(struct he_dev *he_dev, int group)
#ifdef notdef
ATM_SKB(skb)->vcc = vcc;
#endif
+ spin_unlock(&he_dev->global_lock);
vcc->push(vcc, skb);
+ spin_lock(&he_dev->global_lock);
atomic_inc(&vcc->stats->rx);