linux_dsm_epyc7002/drivers/mtd/nand
Nathan Williams d1f3b65d2d mtd cs553x_nand: Initialise ecc.strength before nand_scan()
Loading cs553x_nand with Hynix H27U1G8F2BTR NAND flash causes this bug:

kernel BUG at drivers/mtd/nand/nand_base.c:3345!
invalid opcode: 0000 [#1]
Modules linked in: cs553x_nand(+) vfat fat usb_storage ehci_hcd usbcore usb_comr
Pid: 436, comm: modprobe Not tainted 3.6.7 #1
EIP: 0060:[<c118d205>] EFLAGS: 00010296 CPU: 0
EIP is at nand_scan_tail+0x64c/0x69c
EAX: 00000034 EBX: cea6ed98 ECX: 00000000 EDX: 00000000
ESI: cea6ec00 EDI: cea6ec00 EBP: 20000000 ESP: cdd17e48
 DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
CR0: 8005003b CR2: 0804e119 CR3: 0d850000 CR4: 00000090
DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
DR6: ffff0ff0 DR7: 00000400
Process modprobe (pid: 436, ti=cdd16000 task=cdd1c320 task.ti=cdd16000)
Stack:
 c12e962c c118f7ef 00000003 cea6ed98 d014b25c 20000000 fffff007 00000001
 00000000 cdd53b00 d014b000 c1001021 cdd53b00 d01493c0 cdd53b00 cdd53b00
 d01493c0 c1047f83 d014b4a0 00000000 cdd17f9c ce4be454 cdd17f48 cdd1c320
Call Trace:
 [<c118f7ef>] ? nand_scan+0x1b/0x4d
 [<d014b25c>] ? init_module+0x25c/0x2de [cs553x_nand]
 [<d014b000>] ? 0xd014afff
 [<c1001021>] ? do_one_initcall+0x21/0x111
 [<c1047f83>] ? sys_init_module+0xe4/0x1261
 [<c1031207>] ? task_work_run+0x36/0x43
 [<c1265ced>] ? syscall_call+0x7/0xb
Code: fa ff ff c7 86 d8 00 00 00 01 00 00 00 e9 5f fc ff ff 68 f8 26 2e c1 e8 a7
EIP: [<c118d205>] nand_scan_tail+0x64c/0x69c SS:ESP 0068:cdd17e48

Initialising ecc.strength before the call to nand_scan() fixes this.

Signed-off-by: Nathan Williams <nathan@traverse.com.au>
Cc: stable@vger.kernel.org [3.4+]
Acked-by: Brian Norris <computersforpeace@gmail.com>
Acked-by: Mike Dunn <mikedunn@newsguy.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
2012-12-03 16:36:34 +02:00
..
bcm47xxnflash mtd: bcm47xxnflash: enable BCM4706 driver 2012-11-22 09:32:49 +02:00
gpmi-nand mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
alauda.c mtd: driver _read() returns max_bitflips; mtd_read() returns -EUCLEAN 2012-05-13 23:14:23 -05:00
ams-delta.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
atmel_nand_ecc.h mtd: at91: atmel_nand: add Programmable Multibit ECC controller support 2012-07-06 18:23:25 +01:00
atmel_nand.c mtd: remove use of __devinit 2012-11-22 12:07:03 +02:00
au1550nd.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
autcpu12.c ARM: clps711x: Using a single definition for the PHYS and VIRT registers offset 2012-05-11 16:18:01 +02:00
bf5xx_nand.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
cafe_nand.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
cmx270_nand.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
cs553x_nand.c mtd cs553x_nand: Initialise ecc.strength before nand_scan() 2012-12-03 16:36:34 +02:00
davinci_nand.c mtd: davinci: add support for parition binding nodes 2012-11-15 19:50:30 +02:00
denali_dt.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
denali_pci.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
denali.c mtd: denali: split the generic driver and PCI layer 2012-11-15 15:37:46 +02:00
denali.h mtd: denali: add a DT driver 2012-11-15 15:37:46 +02:00
diskonchip.c mtd: diskonchip: don't warn about ARM architecture 2012-11-16 10:57:38 +02:00
docg4.c mtd: docg4: ecc.read_page() returns 0 on uncorrectable errors 2012-09-29 15:54:11 +01:00
fsl_elbc_nand.c mtd: remove use of __devinit 2012-11-22 12:07:03 +02:00
fsl_ifc_nand.c mtd: remove use of __devinit 2012-11-22 12:07:03 +02:00
fsl_upm.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
fsmc_nand.c mtd: remove use of __devinit 2012-11-22 12:07:03 +02:00
gpio.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
h1910.c - More robust parsing especially of xattr data in JFFS2 2012-06-01 16:55:42 -07:00
jz4740_nand.c mtd: fix a number of checkpatch complaints 2012-11-22 12:16:28 +02:00
Kconfig mtd: prepare place for BCMA NAND flash driver(s) 2012-11-22 09:32:34 +02:00
lpc32xx_mlc.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
lpc32xx_slc.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
Makefile mtd: prepare place for BCMA NAND flash driver(s) 2012-11-22 09:32:34 +02:00
mpc5121_nfc.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
mxc_nand.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
nand_base.c mtd: Fix typo mtd/tests 2012-11-18 16:03:37 +02:00
nand_bbt.c mtd: nand: use NAND_BBT_SCAN_MAXBLOCKS 2012-09-29 15:54:10 +01:00
nand_bch.c mtd: cleanup style on pr_debug messages 2011-09-11 15:02:16 +03:00
nand_ecc.c mtd: spelling, capitalization, uniformity 2011-09-11 15:02:13 +03:00
nand_ids.c mtd: nand: change "AMD" manuf. ID to "AMD/Spansion" 2012-07-06 18:17:08 +01:00
nandsim.c mtd: nandsim: bugfix: fail if overridesize is too big 2012-09-29 15:54:12 +01:00
ndfc.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
nuc900_nand.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
omap2.c mtd: remove use of __devinit 2012-11-22 12:07:03 +02:00
orion_nand.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
pasemi_nand.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
plat_nand.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
ppchameleonevb.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
pxa3xx_nand.c UAPI Disintegration 2012-10-09 2012-10-09 15:04:25 +01:00
r852.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
r852.h mtd: r852: remove useless pci powerup/down from suspend/resume routines 2010-10-25 01:32:21 +01:00
rtc_from4.c mtd: flash drivers set ecc strength 2012-03-27 00:56:46 +01:00
s3c2410.c mtd: s3c2410: Fix potential NULL pointer dereference error 2012-11-18 12:44:38 +02:00
sh_flctl.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
sharpsl.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
sm_common.c mtd: nand: kill NAND_NO_AUTOINCR option 2012-05-13 23:15:38 -05:00
sm_common.h mtd: sm_common: split smartmedia and xD table 2010-05-14 01:03:46 +01:00
socrates_nand.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00
spia.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
tmio_nand.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
txx9ndfmc.c mtd: kill MTD_NAND_VERIFY_WRITE 2012-09-29 15:00:46 +01:00
xway_nand.c mtd: lantiq: Add NAND support on Lantiq XWAY SoC. 2012-09-29 15:05:18 +01:00