git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
drivers
/
isdn
/
i4l
/
isdn_net.h
diff --git
a/drivers/isdn/i4l/isdn_net.h
b/drivers/isdn/i4l/isdn_net.h
index
ebdcde3
..
bc2f0dd
100644
(file)
--- a/
drivers/isdn/i4l/isdn_net.h
+++ b/
drivers/isdn/i4l/isdn_net.h
@@
-78,18
+78,19
@@
static __inline__ isdn_net_local * isdn_net_get_locked_lp(isdn_net_dev *nd)
spin_lock_irqsave(&nd->queue_lock, flags);
lp = nd->queue; /* get lp on top of queue */
spin_lock_irqsave(&nd->queue_lock, flags);
lp = nd->queue; /* get lp on top of queue */
- spin_lock
_bh
(&nd->queue->xmit_lock);
+ spin_lock(&nd->queue->xmit_lock);
while (isdn_net_lp_busy(nd->queue)) {
while (isdn_net_lp_busy(nd->queue)) {
- spin_unlock
_bh
(&nd->queue->xmit_lock);
+ spin_unlock(&nd->queue->xmit_lock);
nd->queue = nd->queue->next;
if (nd->queue == lp) { /* not found -- should never happen */
lp = NULL;
goto errout;
}
nd->queue = nd->queue->next;
if (nd->queue == lp) { /* not found -- should never happen */
lp = NULL;
goto errout;
}
- spin_lock
_bh
(&nd->queue->xmit_lock);
+ spin_lock(&nd->queue->xmit_lock);
}
lp = nd->queue;
nd->queue = nd->queue->next;
}
lp = nd->queue;
nd->queue = nd->queue->next;
+ local_bh_disable();
errout:
spin_unlock_irqrestore(&nd->queue_lock, flags);
return lp;
errout:
spin_unlock_irqrestore(&nd->queue_lock, flags);
return lp;