/* Delete card's pending timers, send STOP to linklevel  */
static void icn_stopcard(icn_card *card)
/* Delete card's pending timers, send STOP to linklevel  */
static void icn_stopcard(icn_card *card)
{
	unsigned long flags;
	isdn_ctrl cmd;
	spin_lock_irqsave(&card->lock, flags);
	if (card->flags & ICN_FLAGS_RUNNING) {
		card->flags &= ~ICN_FLAGS_RUNNING;
		del_timer(&card->st_timer);
		del_timer(&card->rb_timer);
		spin_unlock_irqrestore(&card->lock, flags);
		cmd.command = ISDN_STAT_STOP;
		cmd.driver = card->myid;
		card->interface.statcallb(&cmd);
		if (card->doubleS0)
			icn_stopcard(card->other);
	} else
		spin_unlock_irqrestore(&card->lock, flags);
}