printk(KERN_ERR DRIVER_NAME ": Card removed during transfer!\n"); 
printk(KERN_ERR "%s: Card removed during transfer!\n", mmc_hostname(host->mmc)); 
static void wbsd_tasklet_card(unsigned long param){	struct wbsd_host* host = (struct wbsd_host*)param;	u8 csr;	int delay = -1;	spin_lock(&host->lock);	if (host->flags & WBSD_FIGNORE_DETECT)	{		spin_unlock(&host->lock);		return;	}	csr = inb(host->base + WBSD_CSR);	WARN_ON(csr == 0xff);	if (csr & WBSD_CARDPRESENT)	{		if (!(host->flags & WBSD_FCARD_PRESENT))		{			DBG("Card inserted\n");			host->flags |= WBSD_FCARD_PRESENT;			delay = 500;		}	}	else if (host->flags & WBSD_FCARD_PRESENT)	{		DBG("Card removed\n");		host->flags &= ~WBSD_FCARD_PRESENT;		if (host->mrq)		{			printk(KERN_ERR DRIVER_NAME				": Card removed during transfer!\n");			wbsd_reset(host);			host->mrq->cmd->error = MMC_ERR_FAILED;			tasklet_schedule(&host->finish_tasklet);		}		delay = 0;	}	/*	 * Unlock first since we might get a call back.	 */	spin_unlock(&host->lock);	if (delay != -1)		mmc_detect_change(host->mmc, msecs_to_jiffies(delay));}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/d191634f7ab3a1c8e9da0c5e986c30b2612f0eb0/wbsd.c/clean/drivers/mmc/wbsd.c