Re: [PATCH] mtd: physmap: Fix mtd device size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Victor,

Victor Fusco <victor@xxxxxxxxxx> wrote on Thu, 19 Mar 2020 14:41:29
+0000:

> This patch fixes the mtd device size calculation when there is no gpio

s/mtd/MTD/

S/gpio/GPIO/

> defined. The previous size calculation could return values lower than
> those defined on the 'reg' field of the Device Tree, rasing 'attempt to

s/rasing/raising/ ?

> access beyond end of device' errors during device access.
> 
> Signed-off-by: Victor Fusco <victor@xxxxxxxxxx>
> ---
>  drivers/mtd/maps/physmap-core.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/mtd/maps/physmap-core.c b/drivers/mtd/maps/physmap-core.c
> index 8f7f966fa9a7..27cc6ac01ea8 100644
> --- a/drivers/mtd/maps/physmap-core.c
> +++ b/drivers/mtd/maps/physmap-core.c
> @@ -520,17 +520,19 @@ static int physmap_flash_probe(struct platform_device *dev)
>  		if (!info->maps[i].phys)
>  			info->maps[i].phys = res->start;
>  
> -		info->win_order = get_bitmask_order(resource_size(res)) - 1;
> -		info->maps[i].size = BIT(info->win_order +
> -					 (info->gpios ?
> -					  info->gpios->ndescs : 0));
> -
>  		info->maps[i].map_priv_1 = (unsigned long)dev;
>  
>  		if (info->gpios) {
> +			info->win_order = get_bitmask_order(resource_size(res)) - 1;
> +			info->maps[i].size = BIT(info->win_order +
> +					         info->gpios->ndescs);
> +
>  			err = physmap_addr_gpios_map_init(&info->maps[i]);
>  			if (err)
>  				goto err_out;
> +		} else {
> +			info->maps[i].size = resource_size(res);

I didn't check the driver but are you sure info->win_order and
maps[i].map_priv_1 do not need to be initialized? Also are these fields
still needed if you stop using them? (just asking)

> +

Extra new line

>  		}
>  
>  #ifdef CONFIG_MTD_COMPLEX_MAPPINGS
> 
> base-commit: 5076190daded2197f62fe92cf69674488be44175

Thanks,
Miquèl

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux