Re: [PATCH] mmc: cqhci: fix to missed endian conversions
Ulf Hansson <[email protected]> Mon, 6 Jul 2026 17:47:04 +0200
| Newsgroups | org.kernel.vger.linux-mmc,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CAPx+jO9w_v+hFKMzoeeazFmphOkD1M3JM34BjhbPq8xmKO4bRA@mail.gmail.com> |
On Mon, Jun 22, 2026 at 4:50 PM Ben Dooks <[email protected]> wrote: > > Fix two places where the wrong type or conversion of little-endian > types to fix the following sparse warnings: > > drivers/mmc/host/cqhci-core.c:487:15: warning: incorrect type in assignment (different base types) > drivers/mmc/host/cqhci-core.c:487:15: expected restricted __le32 [usertype] > drivers/mmc/host/cqhci-core.c:487:15: got int > drivers/mmc/host/cqhci-core.c:566:19: warning: incorrect type in assignment (different base types) > drivers/mmc/host/cqhci-core.c:566:19: expected unsigned long long [usertype] *task_desc > drivers/mmc/host/cqhci-core.c:566:19: got restricted __le64 [usertype] * > > Signed-off-by: Ben Dooks <[email protected]> Applied for next, thanks! Kind regards Uffe > --- > drivers/mmc/host/cqhci-core.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/drivers/mmc/host/cqhci-core.c b/drivers/mmc/host/cqhci-core.c > index 178277d90c31..00614b500b2b 100644 > --- a/drivers/mmc/host/cqhci-core.c > +++ b/drivers/mmc/host/cqhci-core.c > @@ -484,11 +484,11 @@ void cqhci_set_tran_desc(u8 *desc, dma_addr_t addr, int len, bool end, > { > __le32 *attr = (__le32 __force *)desc; > > - *attr = (CQHCI_VALID(1) | > - CQHCI_END(end ? 1 : 0) | > - CQHCI_INT(0) | > - CQHCI_ACT(0x4) | > - CQHCI_DAT_LENGTH(len)); > + *attr = cpu_to_le32((CQHCI_VALID(1) | > + CQHCI_END(end ? 1 : 0) | > + CQHCI_INT(0) | > + CQHCI_ACT(0x4) | > + CQHCI_DAT_LENGTH(len))); > > if (dma64) { > __le64 *dataddr = (__le64 __force *)(desc + 4); > @@ -542,7 +542,7 @@ static int cqhci_prep_tran_desc(struct mmc_request *mrq, > static void cqhci_prep_dcmd_desc(struct mmc_host *mmc, > struct mmc_request *mrq) > { > - u64 *task_desc = NULL; > + __le64 *task_desc = NULL; > u64 data = 0; > u8 resp_type; > u8 *desc; > @@ -574,7 +574,7 @@ static void cqhci_prep_dcmd_desc(struct mmc_host *mmc, > CQHCI_CMD_TIMING(timing) | CQHCI_RESP_TYPE(resp_type)); > if (cq_host->ops->update_dcmd_desc) > cq_host->ops->update_dcmd_desc(mmc, mrq, &data); > - *task_desc |= data; > + *task_desc |= cpu_to_le64(data); > desc = (u8 *)task_desc; > pr_debug("%s: cqhci: dcmd: cmd: %d timing: %d resp: %d\n", > mmc_hostname(mmc), mrq->cmd->opcode, timing, resp_type); > -- > 2.37.2.352.g3c44437643 >