Patchwork spi25: ignore 0x00 as a manufacturer id in the generic match

login
register
about
Submitter Urja Rannikko
Date 2015-03-08 07:23:00
Message ID <20150308072255.GA29672@gmail.com>
Download mbox | patch
Permalink /patch/4295/
State Accepted
Headers show

Comments

Urja Rannikko - 2015-03-08 07:23:00
Saying that manufacturer id 0x00 is an "unknown SPI chip"
just confuses people with external programmers without a
proper connection to a chip and makes them think flashrom
doesnt support the chip they're trying to use.
Also causes unnecessary -c requirement with a multiple-slot
(FWH/LPC and SPI) serprog device i was testing.

Signed-off-by: Urja Rannikko <urjaman@gmail.com>
---
 spi25.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Stefan Tauner - 2015-06-23 00:00:33
On Sun, 8 Mar 2015 07:23:00 +0000
Urja Rannikko <urjaman@gmail.com> wrote:

> Saying that manufacturer id 0x00 is an "unknown SPI chip"
> just confuses people with external programmers without a
> proper connection to a chip and makes them think flashrom
> doesnt support the chip they're trying to use.
> Also causes unnecessary -c requirement with a multiple-slot
> (FWH/LPC and SPI) serprog device i was testing.
> 
> Signed-off-by: Urja Rannikko <urjaman@gmail.com>

Thank you very much for beating me to it. This was a long-standing
annoyance :)

Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
and commited in r1893.

Patch

diff --git a/spi25.c b/spi25.c
index 673bdf5..af4b6db 100644
--- a/spi25.c
+++ b/spi25.c
@@ -156,7 +156,7 @@  static int probe_spi_rdid_generic(struct flashctx *flash, int bytes)
 		return 1;
 
 	/* Test if there is any vendor ID. */
-	if (GENERIC_MANUF_ID == chip->manufacture_id && id1 != 0xff)
+	if (GENERIC_MANUF_ID == chip->manufacture_id && id1 != 0xff && id1 != 0x00)
 		return 1;
 
 	return 0;
@@ -212,7 +212,7 @@  int probe_spi_rems(struct flashctx *flash)
 		return 1;
 
 	/* Test if there is any vendor ID. */
-	if (GENERIC_MANUF_ID == chip->manufacture_id && id1 != 0xff)
+	if (GENERIC_MANUF_ID == chip->manufacture_id && id1 != 0xff && id1 != 0x00)
 		return 1;
 
 	return 0;