| Date: | 2007-01-05 11:46:05 (6 years 4 months ago) | ||
|---|---|---|---|
| Author: | Stefan Roese | ||
| Branch: | gta04 | ||
| Commit: | cd1d937f90250a32988c37b2b4af8364d25de8ed | ||
| Parents: |
c04a1a72878f6edf7b0ce62f166cdb857a8c2d88 |
||
| Message: | [PATCH] nand: Fix problem with oobsize calculation Here the description from Brian Brelsford <Brian_Brelsford@dell.com>: The Hynix part returns a 0x1d in the 4th ID byte. The Samsung part returns a 0x15. In the code fragment below bits [1:0] determine the page size, it is ANDed via "(extid & 0x3)" then shifted out. The next field is also ANDed with 0x3. However this is a one bit field as defined in the Hynix and Samsung parts in the 4th ID byte that determins the oobsize, not a two bit field. It works on Samsung as bits[3:2] are 01. However for the Hynix there is a 11 in these two bits, so the oob size gets messed up. I checked the correct linux code and the suggested fix from Brian is also available in the linux nand mtd driver. Signed-off-by: Stefan Roese <sr@denx.de> |
||
| Changes: |
|
File differences
| drivers/nand/nand_base.c | |||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| ||||||||||||||||||||||||
