printk(KERN_ERR DRIVER_NAME ": Incomplete DMA " "transfer. %d bytes left.\n", count); 
printk(KERN_ERR "%s: Incomplete DMA transfer. " "%d bytes left.\n", mmc_hostname(host->mmc), count); 
static void wbsd_finish_data(struct wbsd_host* host, struct mmc_data* data){	unsigned long dmaflags;	int count;	u8 status;	WARN_ON(host->mrq == NULL);	/*	 * Send a stop command if needed.	 */	if (data->stop)		wbsd_send_command(host, data->stop);	/*	 * Wait for the controller to leave data	 * transfer state.	 */	do	{		status = wbsd_read_index(host, WBSD_IDX_STATUS);	} while (status & (WBSD_BLOCK_READ | WBSD_BLOCK_WRITE));	/*	 * DMA transfer?	 */	if (host->dma >= 0)	{		/*		 * Disable DMA on the host.		 */		wbsd_write_index(host, WBSD_IDX_DMA, 0);		/*		 * Turn of ISA DMA controller.		 */		dmaflags = claim_dma_lock();		disable_dma(host->dma);		clear_dma_ff(host->dma);		count = get_dma_residue(host->dma);		release_dma_lock(dmaflags);		/*		 * Any leftover data?		 */		if (count)		{			printk(KERN_ERR DRIVER_NAME ": Incomplete DMA "				"transfer. %d bytes left.\n", count);			data->error = MMC_ERR_FAILED;		}		else		{			/*			 * Transfer data from DMA buffer to			 * SG list.			 */			if (data->flags & MMC_DATA_READ)				wbsd_dma_to_sg(host, data);			data->bytes_xfered = host->size;		}	}	DBGF("Ending data transfer (%d bytes)\n", data->bytes_xfered);	wbsd_request_end(host, host->mrq);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/d191634f7ab3a1c8e9da0c5e986c30b2612f0eb0/wbsd.c/clean/drivers/mmc/wbsd.c