diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c
index c72ee97d3892543f6e8d2ebd053657776bba49dc..ca376b92162c293fe3508852971305b14538b528 100644
--- a/drivers/char/cyclades.c
+++ b/drivers/char/cyclades.c
@@ -1061,6 +1061,7 @@ static void cyy_intr_chip(struct cyclades_card *cinfo, int chip,
 
 				if (data & info->ignore_status_mask) {
 					info->icount.rx++;
+					spin_unlock(&cinfo->card_lock);
 					return;
 				}
 				if (tty_buffer_request_room(tty, 1)) {