[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200812161258.03787.oliver@neukum.org>
Date: Tue, 16 Dec 2008 12:58:02 +0100
From: Oliver Neukum <oliver@...kum.org>
To: JosephChan@....com.tw
Cc: linux-kernel@...r.kernel.org
Subject: Re: [Patch 2/3] via-sdmmc: via-sdmmc.c
Am Dienstag, 16. Dezember 2008 12:41:35 schrieb JosephChan@....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
Powered by blists - more mailing lists