aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/nand/nand_generic.c
diff options
context:
space:
mode:
authorRuslan Bukin <br@FreeBSD.org>2013-11-09 18:46:11 +0000
committerRuslan Bukin <br@FreeBSD.org>2013-11-09 18:46:11 +0000
commit8a57d93d5995669fea275b91b9fc55a5cbc199d7 (patch)
tree095c763773e048ce4cdcba8ccb592d66d65774b8 /sys/dev/nand/nand_generic.c
parent2ca1ee5764dc6e6662002ff6b2eb52f1fe807666 (diff)
downloadsrc-8a57d93d5995669fea275b91b9fc55a5cbc199d7.tar.gz
src-8a57d93d5995669fea275b91b9fc55a5cbc199d7.zip
o Add ONFI signature check.
o Add Micron chip found in Freescale Vybrid Family Phytec COSMIC board. Approved by: cognet (mentor)
Notes
Notes: svn path=/head/; revision=257892
Diffstat (limited to 'sys/dev/nand/nand_generic.c')
-rw-r--r--sys/dev/nand/nand_generic.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/nand/nand_generic.c b/sys/dev/nand/nand_generic.c
index 85e81beb6b69..2e78ab609a6c 100644
--- a/sys/dev/nand/nand_generic.c
+++ b/sys/dev/nand/nand_generic.c
@@ -341,8 +341,12 @@ onfi_read_parameter(struct nand_chip *chip, struct onfi_params *params)
NANDBUS_READ_BUFFER(nandbus, params, sizeof(struct onfi_params));
+ if (memcmp(params->signature, "ONFI", sizeof(params->signature))) {
+ device_printf(chip->dev, "Error: bad signature\n");
+ return (ENXIO);
+ }
+
/* TODO */
- /* Check for signature */
/* Check CRC */
/* Use redundant page if necessary */