On Fri, 8 Nov 2019 at 19:24, Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote: > > On 8/11/19 1:08 PM, Baolin Wang wrote: > > On 06/11/2019, Baolin Wang <baolin.wang@xxxxxxxxxx> wrote: > >> On Wed, 6 Nov 2019 at 20:02, Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote: > >>> > >>> To move ahead in the meantime without a new host API, just defer always > > > > Before new version, I want to make things clear in case I > > misunderstood your points, so you mean I should set always_defer_done > > = true for our Spreadtrum host driver in this patch? Or just like > > below patch? Thanks. > > > > diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c > > index 850241f..4bef066 100644 > > --- a/drivers/mmc/host/sdhci.c > > +++ b/drivers/mmc/host/sdhci.c > > @@ -3035,7 +3035,7 @@ static inline bool sdhci_defer_done(struct > > sdhci_host *host, > > { > > struct mmc_data *data = mrq->data; > > > > - return host->pending_reset || > > + return host->pending_reset || host->always_defer_done || > > ((host->flags & SDHCI_REQ_USE_DMA) && data && > > data->host_cookie == COOKIE_MAPPED); > > } > > diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h > > index d89cdb9..a73ce89 100644 > > --- a/drivers/mmc/host/sdhci.h > > +++ b/drivers/mmc/host/sdhci.h > > @@ -533,6 +533,7 @@ struct sdhci_host { > > bool pending_reset; /* Cmd/data reset is pending */ > > bool irq_wake_enabled; /* IRQ wakeup is enabled */ > > bool v4_mode; /* Host Version 4 Enable */ > > + bool always_defer_done; /* Always defer to complete requests */ > > > > struct mmc_request *mrqs_done[SDHCI_MAX_MRQS]; /* Requests done */ > > struct mmc_command *cmd; /* Current command */ > > > > Yes Got it. Thanks for your confirming. -- Baolin Wang Best Regards