Commit 58589a75 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Greg Kroah-Hartman
Browse files

misc: at25: Check proper value of chip length in FRAM case



Obviously the byte_len value should be checked from the chip
and not from at25->chip.

Fixes: fd307a4a ("nvmem: prepare basics for FRAM support")
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20211125212729.86585-4-andriy.shevchenko@linux.intel.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a692fc39
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -433,9 +433,9 @@ static int at25_probe(struct spi_device *spi)
			dev_err(&spi->dev, "Error: unsupported size (id %02x)\n", id[7]);
			return -ENODEV;
		}
		chip.byte_len = int_pow(2, id[7] - 0x21 + 4) * 1024;

		if (at25->chip.byte_len > 64 * 1024)
		chip.byte_len = int_pow(2, id[7] - 0x21 + 4) * 1024;
		if (chip.byte_len > 64 * 1024)
			at25->chip.flags |= EE_ADDR3;
		else
			at25->chip.flags |= EE_ADDR2;