mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-01 22:21:16 +02:00
Check the JEDEC vendor ID for correct parity
Flash chips which can be detected by JEDEC probe routines all have vendor IDs with correct parity. Use a parity check as additional hint whether a vendor ID makes sense. Note: Device IDs have no parity requirements whatsoever. Corresponding to flashrom svn r231 and coreboot v2 svn r3308. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Peter Stuge <peter@stuge.se>
This commit is contained in:
4
spi.c
4
spi.c
@ -71,8 +71,12 @@ int probe_spi(struct flashchip *flash)
|
||||
uint32_t manuf_id;
|
||||
uint32_t model_id;
|
||||
if (!spi_rdid(readarr)) {
|
||||
if (!oddparity(readarr[0]))
|
||||
printf_debug("RDID byte 0 parity violation.\n");
|
||||
/* Check if this is a continuation vendor ID */
|
||||
if (readarr[0] == 0x7f) {
|
||||
if (!oddparity(readarr[1]))
|
||||
printf_debug("RDID byte 1 parity violation.\n");
|
||||
manuf_id = (readarr[0] << 8) | readarr[1];
|
||||
model_id = readarr[2];
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user