OpenWrt – Blame information for rev 2
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | The Freescale downstream vendor kernel has a patch that exports the bch |
2 | flash geometry via a debugfs file. This is not available in mainline linux |
||
3 | kernels so the fallback method calculates the geometry based on known info |
||
4 | from the mtd partition. A bug exists in this funcion where it fails to |
||
5 | assume that block0 ECC is the same as the other blocks by default. |
||
6 | --- a/src/mtd.c |
||
7 | +++ b/src/mtd.c |
||
8 | @@ -610,7 +610,7 @@ static int cal_nfc_geometry(struct mtd_d |
||
9 | /* The two are fixed, please change them when the driver changes. */ |
||
10 | geo->metadata_size_in_bytes = 10; |
||
11 | geo->gf_len = 13; |
||
12 | - geo->ecc_chunkn_size_in_bytes = 512; |
||
13 | + geo->ecc_chunkn_size_in_bytes = geo->ecc_chunk0_size_in_bytes = 512; |
||
14 | |||
15 | if (mtd->oobsize > geo->ecc_chunkn_size_in_bytes) { |
||
16 | geo->gf_len = 14; |
||
17 | @@ -700,8 +700,9 @@ int parse_nfc_geometry(struct mtd_data * |
||
18 | unsigned int value; |
||
19 | |||
20 | if (!plat_config_data->m_u32UseNfcGeo) { |
||
21 | + /* fsl kernel patch provides bch_geometry via debugfs */ |
||
22 | if (!(node = fopen(dbg_geometry_node_path, "r"))) { |
||
23 | - fprintf(stderr, "Cannot open BCH geometry node: \"%s\"", |
||
24 | + fprintf(stderr, "Cannot open BCH geometry node: \"%s\"\n", |
||
25 | dbg_geometry_node_path); |
||
26 | return cal_nfc_geometry(md); |
||
27 | } |