diff --git a/drivers/atm/he.c b/drivers/atm/he.c
index dd96123a2b7f78e52c4bba06611e7a5e8f97fcf8..ffcb9fd31c38fbdd7a1efbb2b52eb6f7e5d2c116 100644
--- 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);