mmc_detect_change(host->mmc); 
if (change) mmc_detect_change(host->mmc); 
static void wbsd_tasklet_card(unsigned long param){	struct wbsd_host* host = (struct wbsd_host*)param;	u8 csr;		spin_lock(&host->lock);		csr = inb(host->base + WBSD_CSR);	WARN_ON(csr == 0xff);		if (csr & WBSD_CARDPRESENT)		DBG("Card inserted\n");	else	{		DBG("Card removed\n");				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);		}	}		/*	 * Unlock first since we might get a call back.	 */	spin_unlock(&host->lock);	mmc_detect_change(host->mmc);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/85bcc13072c54592596c5b41d40d1c6a18b04e19/wbsd.c/clean/drivers/mmc/wbsd.c