Loading drivers/mmc/host/sdhci.c +5 −2 Original line number Diff line number Diff line Loading @@ -2521,10 +2521,13 @@ static int sdhci_stop_request(struct mmc_host *mmc) struct sdhci_host *host = mmc_priv(mmc); unsigned long flags; struct mmc_data *data; int ret = 0; spin_lock_irqsave(&host->lock, flags); if (!host->mrq || !host->data) if (!host->mrq || !host->data) { ret = MMC_BLK_NO_REQ_TO_STOP; goto out; } data = host->data; Loading @@ -2550,7 +2553,7 @@ static int sdhci_stop_request(struct mmc_host *mmc) host->data = NULL; out: spin_unlock_irqrestore(&host->lock, flags); return 0; return ret; } static unsigned int sdhci_get_xfer_remain(struct mmc_host *mmc) Loading include/linux/mmc/card.h +1 −0 Original line number Diff line number Diff line Loading @@ -207,6 +207,7 @@ enum mmc_blk_status { MMC_BLK_NEW_REQUEST, MMC_BLK_URGENT, MMC_BLK_URGENT_DONE, MMC_BLK_NO_REQ_TO_STOP, }; enum mmc_packed_stop_reasons { Loading Loading
drivers/mmc/host/sdhci.c +5 −2 Original line number Diff line number Diff line Loading @@ -2521,10 +2521,13 @@ static int sdhci_stop_request(struct mmc_host *mmc) struct sdhci_host *host = mmc_priv(mmc); unsigned long flags; struct mmc_data *data; int ret = 0; spin_lock_irqsave(&host->lock, flags); if (!host->mrq || !host->data) if (!host->mrq || !host->data) { ret = MMC_BLK_NO_REQ_TO_STOP; goto out; } data = host->data; Loading @@ -2550,7 +2553,7 @@ static int sdhci_stop_request(struct mmc_host *mmc) host->data = NULL; out: spin_unlock_irqrestore(&host->lock, flags); return 0; return ret; } static unsigned int sdhci_get_xfer_remain(struct mmc_host *mmc) Loading
include/linux/mmc/card.h +1 −0 Original line number Diff line number Diff line Loading @@ -207,6 +207,7 @@ enum mmc_blk_status { MMC_BLK_NEW_REQUEST, MMC_BLK_URGENT, MMC_BLK_URGENT_DONE, MMC_BLK_NO_REQ_TO_STOP, }; enum mmc_packed_stop_reasons { Loading