diff mbox series

mmc : fix for check cqe halt.

Message ID 20240828042647.18983-1-sh8267.baek@samsung.com (mailing list archive)
State New
Headers show
Series mmc : fix for check cqe halt. | expand

Commit Message

Seunghwan Baek Aug. 28, 2024, 4:26 a.m. UTC
To check if mmc cqe is in halt state, need to check set/clear of CQHCI_HALT
bit. At this time, we need to check with &, not &&.

Fixes: 0653300224a6 ("mmc: cqhci: rename cqhci.c to cqhci-core.c")
Cc: stable@vger.kernel.org
Signed-off-by: Seunghwan Baek <sh8267.baek@samsung.com>
---
 drivers/mmc/host/cqhci-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Ritesh Harjani (IBM) Aug. 28, 2024, 4:57 a.m. UTC | #1
Seunghwan Baek <sh8267.baek@samsung.com> writes:

> To check if mmc cqe is in halt state, need to check set/clear of CQHCI_HALT
> bit. At this time, we need to check with &, not &&.
>
> Fixes: 0653300224a6 ("mmc: cqhci: rename cqhci.c to cqhci-core.c")
> Cc: stable@vger.kernel.org
> Signed-off-by: Seunghwan Baek <sh8267.baek@samsung.com>
> ---
>  drivers/mmc/host/cqhci-core.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Thanks for fixing it!
Small suggestion below. But this still looks good to me, so either ways- 

Reviewed-by: Ritesh Harjani <ritesh.list@gmail.com>


>
> diff --git a/drivers/mmc/host/cqhci-core.c b/drivers/mmc/host/cqhci-core.c
> index c14d7251d0bb..a02da26a1efd 100644
> --- a/drivers/mmc/host/cqhci-core.c
> +++ b/drivers/mmc/host/cqhci-core.c
> @@ -617,7 +617,7 @@ static int cqhci_request(struct mmc_host *mmc, struct mmc_request *mrq)
>  		cqhci_writel(cq_host, 0, CQHCI_CTL);
>  		mmc->cqe_on = true;
>  		pr_debug("%s: cqhci: CQE on\n", mmc_hostname(mmc));
> -		if (cqhci_readl(cq_host, CQHCI_CTL) && CQHCI_HALT) {
> +		if (cqhci_readl(cq_host, CQHCI_CTL) & CQHCI_HALT) {

There is already a helper cqhci_halted(). Maybe we could use that.

static bool cqhci_halted(struct cqhci_host *cq_host)
{
	return cqhci_readl(cq_host, CQHCI_CTL) & CQHCI_HALT;
}


>  			pr_err("%s: cqhci: CQE failed to exit halt state\n",
>  			       mmc_hostname(mmc));
>  		}
> -- 
> 2.17.1

-ritesh
Ritesh Harjani (IBM) Aug. 28, 2024, 6:41 a.m. UTC | #2
Ritesh Harjani <ritesh.list@gmail.com> writes:

> Seunghwan Baek <sh8267.baek@samsung.com> writes:
>
>> To check if mmc cqe is in halt state, need to check set/clear of CQHCI_HALT
>> bit. At this time, we need to check with &, not &&.
>>
>> Fixes: 0653300224a6 ("mmc: cqhci: rename cqhci.c to cqhci-core.c")

Correction. This should be: 
Fixes: a4080225f51d ("mmc: cqhci: support for command queue enabled host")

Subject can be:
mmc: cqhci: Fix checking of CQHCI_HALT state


>> Cc: stable@vger.kernel.org
>> Signed-off-by: Seunghwan Baek <sh8267.baek@samsung.com>
>> ---
>>  drivers/mmc/host/cqhci-core.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> Thanks for fixing it!
> Small suggestion below. But this still looks good to me, so either ways- 
>
> Reviewed-by: Ritesh Harjani <ritesh.list@gmail.com>

With above changes please feel free to add RVB.

-ritesh
diff mbox series

Patch

diff --git a/drivers/mmc/host/cqhci-core.c b/drivers/mmc/host/cqhci-core.c
index c14d7251d0bb..a02da26a1efd 100644
--- a/drivers/mmc/host/cqhci-core.c
+++ b/drivers/mmc/host/cqhci-core.c
@@ -617,7 +617,7 @@  static int cqhci_request(struct mmc_host *mmc, struct mmc_request *mrq)
 		cqhci_writel(cq_host, 0, CQHCI_CTL);
 		mmc->cqe_on = true;
 		pr_debug("%s: cqhci: CQE on\n", mmc_hostname(mmc));
-		if (cqhci_readl(cq_host, CQHCI_CTL) && CQHCI_HALT) {
+		if (cqhci_readl(cq_host, CQHCI_CTL) & CQHCI_HALT) {
 			pr_err("%s: cqhci: CQE failed to exit halt state\n",
 			       mmc_hostname(mmc));
 		}