[PATCH 2/2] cfi_flash: size_ratio should not be 0

Oleksij Rempel linux at rempel-privat.de
Thu May 23 09:37:18 EDT 2013


Am 23.05.2013 15:13, schrieb Sascha Hauer:
> On Wed, May 22, 2013 at 09:53:40AM +0200, Oleksij Rempel wrote:
>> We will get size = 0 if size_ratio = 0
>>
>> Signed-off-by: Oleksij Rempel <linux at rempel-privat.de>
>> ---
>>   drivers/mtd/nor/cfi_flash.c | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/mtd/nor/cfi_flash.c b/drivers/mtd/nor/cfi_flash.c
>> index 4b4e29d..85e96ce 100644
>> --- a/drivers/mtd/nor/cfi_flash.c
>> +++ b/drivers/mtd/nor/cfi_flash.c
>> @@ -371,7 +371,8 @@ static ulong flash_get_size (struct flash_info *info)
>>   		size_ratio = info->portwidth / info->chipwidth;
>>   		/* if the chip is x8/x16 reduce the ratio by half */
>>   		if ((info->interface == FLASH_CFI_X8X16)
>> -		    && (info->chipwidth == FLASH_CFI_BY8)) {
>> +		    && (info->chipwidth == FLASH_CFI_BY8)
>> +		    && (size_ratio != 1)) {
>>   			size_ratio >>= 1;
>>   		}
>
> Could you elaborate in which constellation this happens?

It happens in my case with MX29LV320MBTC attached to atheros ar2313. 
Both of them support x8 and x16 modes, but attached only in x8. Plus 
this chip enables LSB in 8 bit mode.

-- 
Regards,
Oleksij



More information about the barebox mailing list