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 ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ¥Šwÿº{.nÇ+‰·¥Š{±þG«�éÿŠ{ayºʇڙë,j­¢f£¢·hš�ï�êÿ‘êçz_è®(­階Šݢj"�ú¶m§ÿÿ¾«þG«�éÿ¢¸?™¨è­Ú&£ø§~�á¶iO•æ¬z·švØ^¶m§ÿÿà ÿ¶ìÿ¢¸?–I¥