Don't panic if a controller driver does ecc its own way.
Subsystems (2)
PATCH 1/2 Don't panic if a controller driver does ecc its own way.
Some hardware, such as the enhanced local bus controller used on some mpc83xx chips, does ecc transparently when reading and writing data, rather than providing a generic calculate/correct mechanism that can be exported to the nand subsystem.
The subsystem should not BUG() when calculate, correct, or hwctl are missing, if the methods that call them have been overridden.
---
This patch applies to the mtd-2.6.22.1 branch of the nand tree.
drivers/mtd/nand/nand_base.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-)
drivers/mtd/nand/nand_base.c +6 -2
@@ -2593,8 +2593,12 @@ int nand_scan_tail(struct mtd_info *mtd) chip->ecc.write_oob = nand_write_oob_std;case NAND_ECC_HW_SYNDROME : -if (!chip->ecc.calculate || !chip->ecc.correct || - !chip->ecc.hwctl) { +if ((!chip->ecc.calculate || !chip->ecc.correct || + !chip->ecc.hwctl) && + (!chip->ecc.read_page || + chip->ecc.read_page == nand_read_page_hwecc || + !chip->ecc.write_page || + chip->ecc.write_page == nand_write_page_hwecc)) {printk (KERN_WARNING "No ECC functions supplied, " "Hardware ECC not possible\n" );BUG ();
Signature · 1 line
1.5.3
PATCH 1/2 Don't panic if a controller driver does ecc its own way.
Quoted 9 lines · In message <[email protected]> you wrote:
Some hardware, such as the enhanced local bus controller used on some mpc83xx chips, does ecc transparently when reading and writing data, rather than providing a generic calculate/correct mechanism that can be exported to the nand subsystem.
The subsystem should not
BUG()when calculate, correct, or hwctl are missing, if the methods that call them have been overridden.Signed-off-by Scott Wood <[email protected]>
This should go through the 83xx custodian, but I haven't seen this yet?
Anyway, it does not apply any more:
Applying Don't panic if a controller driver does ecc its own way.
error: patch failed: drivers/mtd/nand/nand_base.c:2593
error: drivers/mtd/nand/nand_base.c: patch does not apply
fatal: sha1 information is lacking or useless (drivers/mtd/nand/nand_base.c).
Repository lacks necessary blobs to fall back on 3-way merge. Cannot fall back to three-way merge.
Best regards,
Wolfgang Denk
Signature · 4 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de When all is said and done, more is said than done.
PATCH 1/2 Don't panic if a controller driver does ecc its own way.
Quoted 6 lines · Wolfgang Denk
Quoted 5 lines · In message <[email protected]> you wrote:
Some hardware, such as the enhanced local bus controller used on some mpc83xx chips, does ecc transparently when reading and writing data, rather than providing a generic calculate/correct mechanism that can be exported to the nand subsystem.
Quoted 7 lines
Quoted 4 lines
The subsystem should not
BUG()when calculate, correct, or hwctl are missing, if the methods that call them have been overridden.Signed-off-by Scott Wood <[email protected]>This should go through the 83xx custodian, but I haven't seen this yet?
Why should it go through 83xx? It's a patch against generic NAND code.
Quoted 9 lines
Anyway, it does not apply any more:
Applying Don't panic if a controller driver does ecc its own way.
error: patch failed:drivers/mtd/nand/nand_base.c:2593
error:drivers/mtd/nand/nand_base.c: patch does not apply
fatal: sha1 information is lacking or useless (drivers/mtd/nand/nand_base.c).
Repository lacks necessary blobs to fall back on 3-way merge. Cannot fall back to three-way merge.
Did you try applying it against the 2.6.22.1 branch of the nand repository (IIRC, the non-commit-message patch comment specified that)?
-Scott
PATCH 1/2 Don't panic if a controller driver does ecc its own way.
Quoted 9 lines · In message <[email protected]> you wrote:
Quoted 9 lines
Quoted 9 lines
Some hardware, such as the enhanced local bus controller used on some mpc83xx chips, does ecc transparently when reading and writing data, rather than providing a generic calculate/correct mechanism that can be exported to the nand subsystem.
The subsystem should not
BUG()when calculate, correct, or hwctl are missing, if the methods that call them have been overridden.
Quoted 6 lines
Quoted 4 lines
Quoted 1 line
Signed-off-by Scott Wood <[email protected]>This should go through the 83xx custodian, but I haven't seen this yet?
Why should it go through 83xx? It's a patch against generic NAND code.
It seems to be 83xx specific code to me?
Quoted 10 lines
Quoted 9 lines
Anyway, it does not apply any more:
Applying Don't panic if a controller driver does ecc its own way.
error: patch failed:drivers/mtd/nand/nand_base.c:2593
error:drivers/mtd/nand/nand_base.c: patch does not apply
fatal: sha1 information is lacking or useless (drivers/mtd/nand/nand_base.c).
Repository lacks necessary blobs to fall back on 3-way merge. Cannot fall back to three-way merge.
Quoted 2 lines
Did you try applying it against the 2.6.22.1 branch of the nand repository (IIRC, the non-commit-message patch comment specified that)?
No, I tried to apply this to the U-Boot repository. Maybe this was my fault? Is this supposed to go into Linux, then?
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Murder is contrary to the laws of man and God. -- M-5 Computer, "The Ultimate Computer", stardate 4731.3
PATCH 1/2 Don't panic if a controller driver does ecc its own way.
Quoted 9 lines · Wolfgang Denk
Quoted 8 lines · In message <[email protected]> you wrote:
Quoted 8 lines
Quoted 8 lines
Some hardware, such as the enhanced local bus controller used on some mpc83xx chips, does ecc transparently when reading and writing data, rather than providing a generic calculate/correct mechanism that can be exported to the nand subsystem.
The subsystem should not
BUG()when calculate, correct, or hwctl are missing, if the methods that call them have been overridden.
Quoted 6 lines
Quoted 4 lines
Quoted 3 lines
Quoted 1 line
Signed-off-by Scott Wood <[email protected]>This should go through the 83xx custodian, but I haven't seen this yet?
Why should it go through 83xx? It's a patch against generic NAND code.
It seems to be 83xx specific code to me?
It's not. It is removing a restriction in the NAND code that happens to interfere with what the FSL NAND driver needs to do.
Quoted 5 lines
Quoted 2 lines
Did you try applying it against the 2.6.22.1 branch of the nand repository (IIRC, the non-commit-message patch comment specified that)?
No, I tried to apply this to the U-Boot repository. Maybe this was my fault? Is this supposed to go into Linux, then?
No, it's supposed to go into the 2.6.22.1 branch of Stefan's u-boot NAND tree. This change is already in the Linux NAND code.
-Scott
PATCH 1/2 Don't panic if a controller driver does ecc its own way.
Quoted 6 lines · In message <[email protected]> you wrote:
Quoted 3 lines
No, I tried to apply this to the U-Boot repository. Maybe this was my fault? Is this supposed to go into Linux, then?
No, it's supposed to go into the 2.6.22.1 branch of Stefan's u-boot NAND tree. This change is already in the Linux NAND code.
I see. OK, so it's really Stefan who needs to react here.
Thanks for the explanations.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Only in our dreams we are free. The rest of the time we need wages.
- Terry Pratchett, _Wyrd Sisters_PATCH 1/2 Don't panic if a controller driver does ecc its own way.
In reply to Scott WoodQuoted 8 lines · Scott Wood
Quoted 5 lines
Quoted 2 lines
Did you try applying it against the 2.6.22.1 branch of the nand repository (IIRC, the non-commit-message patch comment specified that)?
No, I tried to apply this to the U-Boot repository. Maybe this was my fault? Is this supposed to go into Linux, then?
No, it's supposed to go into the 2.6.22.1 branch of Stefan's u-boot NAND tree. This change is already in the Linux NAND code.
I'll update the 2.6.22.1 branch shortly (when time permits). Sorry for the delay.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================