[PATCH 04/20] mtd: spi-nor: cadence: fix 64-bit issues
Sascha Hauer
sha at pengutronix.de
Sun Jun 6 23:51:42 PDT 2021
On Mon, May 31, 2021 at 09:38:05AM +0200, Ahmad Fatoum wrote:
> Pointers are being cast to unsigned int, which will truncate the address
> on 64-bit systems. Fix this.
>
> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
> ---
> drivers/mtd/spi-nor/cadence-quadspi.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/mtd/spi-nor/cadence-quadspi.c b/drivers/mtd/spi-nor/cadence-quadspi.c
> index ea53d2cd847a..09015aad43f1 100644
> --- a/drivers/mtd/spi-nor/cadence-quadspi.c
> +++ b/drivers/mtd/spi-nor/cadence-quadspi.c
> @@ -347,8 +347,8 @@ static int cqspi_command_read(struct spi_nor *nor,
>
> if (!n_rx || n_rx > CQSPI_STIG_DATA_LEN_MAX || rxbuf == NULL) {
> dev_err(nor->dev,
> - "Invalid input argument, len %d rxbuf 0x%08x\n", n_rx,
> - (unsigned int)rxbuf);
> + "Invalid input argument, len %d rxbuf %p\n", n_rx,
> + rxbuf);
> return -EINVAL;
> }
>
> @@ -393,8 +393,8 @@ static __maybe_unused int cqspi_command_write(struct spi_nor *nor,
>
> if (n_tx > 4 || (n_tx && txbuf == NULL)) {
> dev_err(nor->dev,
> - "Invalid input argument, cmdlen %d txbuf 0x%08x\n",
> - n_tx, (unsigned int)txbuf);
> + "Invalid input argument, cmdlen %d txbuf %p\n",
> + n_tx, txbuf);
> return -EINVAL;
> }
>
> @@ -433,7 +433,7 @@ static int cqspi_indirect_read_setup(struct spi_nor *nor,
> {
> struct cqspi_flash_pdata *f_pdata;
> struct cqspi_st *cqspi = nor->priv;
> - unsigned int ahb_base = (unsigned int) cqspi->ahb_base;
> + unsigned long ahb_base = (unsigned long) cqspi->ahb_base;
This makes the warning disappear, but not the underlying problem. The
ahb_base is written to a 32bit register later, so this won't work on
machines which have memory outside the 32bit range.
We had this problem earlier. What did we do there? I think we should
warn when this happens.
Sascha
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list