} else {
DEBUGQUE("canqueue_disconnect_edge called with not fully connected edge");
if(inends) can_spin_lock_irqsave(&inends->ends_lock,flags);
- if(outends) can_spin_lock(&outends->ends_lock);
- flags=0;
+ else if(outends) can_spin_lock_irqsave(&outends->ends_lock,flags);
+ else flags=0;
}
can_spin_lock(&qedge->fifo.fifo_lock);
if(inends && outends) {
canque_edge_unlock_both_ends(inends, outends, flags);
} else {
- if(outends) can_spin_unlock(&outends->ends_lock);
if(inends) can_spin_unlock_irqrestore(&inends->ends_lock,flags);
+ else if(outends) can_spin_unlock_irqrestore(&outends->ends_lock,flags);
}
DEBUGQUE("canqueue_disconnect_edge %d returned %d\n",qedge->edge_num,ret);