diff options
| author | Kyungmin Park <kyungmin.park@samsung.com> | 2005-12-15 21:17:29 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-12-18 19:28:23 -0500 |
| commit | 37b1cc3910f7976369fc0ed55068a686e92555e6 (patch) | |
| tree | a4560bd6c25546e43d266a8b1f5f6f9d6d177421 /drivers | |
| parent | ee219e5e7c12b742243a080e2d8d288a48a32e44 (diff) | |
[PATCH] mtd onenand driver: check correct manufacturer
This (and the three subsequent patches) is working well on OMAP H4 with
2.6.15-rc4 kernel and passes the LTP fs test.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/mtd/onenand/onenand_base.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c index f67d5d6eb9a6..33d6f5c2e053 100644 --- a/drivers/mtd/onenand/onenand_base.c +++ b/drivers/mtd/onenand/onenand_base.c | |||
| @@ -1346,7 +1346,6 @@ static void onenand_print_device_info(int device) | |||
| 1346 | 1346 | ||
| 1347 | static const struct onenand_manufacturers onenand_manuf_ids[] = { | 1347 | static const struct onenand_manufacturers onenand_manuf_ids[] = { |
| 1348 | {ONENAND_MFR_SAMSUNG, "Samsung"}, | 1348 | {ONENAND_MFR_SAMSUNG, "Samsung"}, |
| 1349 | {ONENAND_MFR_UNKNOWN, "Unknown"} | ||
| 1350 | }; | 1349 | }; |
| 1351 | 1350 | ||
| 1352 | /** | 1351 | /** |
| @@ -1357,17 +1356,22 @@ static const struct onenand_manufacturers onenand_manuf_ids[] = { | |||
| 1357 | */ | 1356 | */ |
| 1358 | static int onenand_check_maf(int manuf) | 1357 | static int onenand_check_maf(int manuf) |
| 1359 | { | 1358 | { |
| 1359 | int size = ARRAY_SIZE(onenand_manuf_ids); | ||
| 1360 | char *name; | ||
| 1360 | int i; | 1361 | int i; |
| 1361 | 1362 | ||
| 1362 | for (i = 0; onenand_manuf_ids[i].id; i++) { | 1363 | for (i = 0; i < size; i++) |
| 1363 | if (manuf == onenand_manuf_ids[i].id) | 1364 | if (manuf == onenand_manuf_ids[i].id) |
| 1364 | break; | 1365 | break; |
| 1365 | } | ||
| 1366 | 1366 | ||
| 1367 | printk(KERN_DEBUG "OneNAND Manufacturer: %s (0x%0x)\n", | 1367 | if (i < size) |
| 1368 | onenand_manuf_ids[i].name, manuf); | 1368 | name = onenand_manuf_ids[i].name; |
| 1369 | else | ||
| 1370 | name = "Unknown"; | ||
| 1371 | |||
| 1372 | printk(KERN_DEBUG "OneNAND Manufacturer: %s (0x%0x)\n", name, manuf); | ||
| 1369 | 1373 | ||
| 1370 | return (i != ONENAND_MFR_UNKNOWN); | 1374 | return (i == size); |
| 1371 | } | 1375 | } |
| 1372 | 1376 | ||
| 1373 | /** | 1377 | /** |
