Messages in this thread | | | From | Oliver Neukum <> | Subject | Re: [Patch 2/3] via-sdmmc: via-sdmmc.c | Date | Tue, 16 Dec 2008 12:58:02 +0100 |
| |
Am Dienstag, 16. Dezember 2008 12:41:35 schrieb JosephChan@via.com.tw: > + spin_lock_irqsave(&host->lock, flags); > + > + addrbase = vcrdr_chip->pcictrl_mmiobase; > + writeb(PCI_DMA_CLK_SDC, addrbase + PCIDMACLK_REG); > + vcrdr_chip->cur_device = DEV_SDC; > + > + addrbase = vcrdr_chip->sdhc_mmiobase; > + status = readw(addrbase + SDSTATUS_REG); > + if (!(status & SD_STS_SLOTG)) { > + if (host->mrq) { > + pr_err("%s: Card removed during transfer!\n", > + mmc_hostname(host->mmc)); > + host->mrq->cmd->error = -ENOMEDIUM; > + tasklet_schedule(&host->finish_tasklet); > + } > + > + addrbase = vcrdr_chip->pcictrl_mmiobase; > + writeb(PCI_CLK_375K, addrbase + PCISDCCLK_REG); > + > + via_reset_pcictrl(host);
This means a long delay with interrupts off. Is this really needed?
Regards Oliver
| |