From: Linus Torvalds Date: Fri, 17 Feb 2006 16:12:08 +0000 (-0800) Subject: Merge master.kernel.org:/home/rmk/linux-2.6-mmc X-Git-Tag: tegra-9.12.3~23172 X-Git-Url: https://nv-tegra.nvidia.com/r/gitweb?p=linux-2.6.git;a=commitdiff_plain;h=7054ec7f86cada917626c05fe461abccca816d3b;hp=2aed711a399cbc4a9bf239c13f05a8a8b460f215 Merge master.kernel.org:/home/rmk/linux-2.6-mmc --- diff --git a/drivers/mmc/mmci.c b/drivers/mmc/mmci.c index 37ee7f8dc82..9fef29d978b 100644 --- a/drivers/mmc/mmci.c +++ b/drivers/mmc/mmci.c @@ -97,6 +97,13 @@ static void mmci_start_data(struct mmci_host *host, struct mmc_data *data) if (data->flags & MMC_DATA_READ) { datactrl |= MCI_DPSM_DIRECTION; irqmask = MCI_RXFIFOHALFFULLMASK; + + /* + * If we have less than a FIFOSIZE of bytes to transfer, + * trigger a PIO interrupt as soon as any data is available. + */ + if (host->size < MCI_FIFOSIZE) + irqmask |= MCI_RXDATAAVLBLMASK; } else { /* * We don't actually need to include "FIFO empty" here