staging: mt7621-mmc: Do not BUG() if mrq set in msdc_ops_request
authorChristian Lütke-Stetzkamp <christian@lkamp.de>
Sun, 29 Apr 2018 17:32:34 +0000 (19:32 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 May 2018 02:08:06 +0000 (19:08 -0700)
Currently the code BUG()'s, if host->mrq is set at the beginning of
msdc_ops_request. This shoould normally not happen, but it is not that
critical, because the critical sections are protected by a spin lock
and in the worst case, some commands to the card are lost, so it is
sufficient to just WARN_ON().

Signed-off-by: Christian Lütke-Stetzkamp <christian@lkamp.de>
Reviewed-by: NeilBrown <neil@brown.name>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/mt7621-mmc/sd.c

index 7a6101e..7549ef4 100644 (file)
@@ -1716,10 +1716,7 @@ static void msdc_ops_request(struct mmc_host *mmc, struct mmc_request *mrq)
        u32 ticks = 0, opcode = 0, sizes = 0, bRx = 0;
 #endif /* end of --- */
 
-       if (host->mrq) {
-               ERR_MSG("XXX host->mrq<0x%.8x>", (int)host->mrq);
-               BUG();
-       }
+       WARN_ON(host->mrq);
 
        if (!is_card_present(host) || host->power_mode == MMC_POWER_OFF) {
                ERR_MSG("cmd<%d> card<%d> power<%d>", mrq->cmd->opcode, is_card_present(host), host->power_mode);