| From foo@baz Fri Mar 16 15:43:17 CET 2018 |
| From: Adrian Hunter <adrian.hunter@intel.com> |
| Date: Fri, 1 Dec 2017 14:55:31 +0200 |
| Subject: mmc: mmc_test: Ensure command queue is disabled for testing |
| |
| From: Adrian Hunter <adrian.hunter@intel.com> |
| |
| |
| [ Upstream commit 23a185254ace8e63dc4ca36e0315aed9440ae749 ] |
| |
| mmc_test disables the command queue because none of the tests use the |
| command queue. However the Reset Test will re-enable it, so disable it in |
| that case too. |
| |
| Fixes: 9d4579a85c84 ("mmc: mmc_test: Disable Command Queue while mmc_test is used") |
| Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> |
| Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/mmc/core/mmc_test.c | 11 +++++++++-- |
| 1 file changed, 9 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/mmc/core/mmc_test.c |
| +++ b/drivers/mmc/core/mmc_test.c |
| @@ -2328,10 +2328,17 @@ static int mmc_test_reset(struct mmc_tes |
| int err; |
| |
| err = mmc_hw_reset(host); |
| - if (!err) |
| + if (!err) { |
| + /* |
| + * Reset will re-enable the card's command queue, but tests |
| + * expect it to be disabled. |
| + */ |
| + if (card->ext_csd.cmdq_en) |
| + mmc_cmdq_disable(card); |
| return RESULT_OK; |
| - else if (err == -EOPNOTSUPP) |
| + } else if (err == -EOPNOTSUPP) { |
| return RESULT_UNSUP_HOST; |
| + } |
| |
| return RESULT_FAIL; |
| } |