WSL2-Linux-Kernel/drivers/mtd
Robert Jarzmik e971affaf9 mtd: nand: pxa3xx-nand: prevent DFI bus lockup on removal
After the conversion of pxa architecture to common clock framework, the
NAND clock can be disabled on driver exit.

In this case, it happens that if the driver used the NAND and set the
DFI arbitration bit, the next access to a static memory controller area,
such as an ethernet card, will stall the system bus, and the core will
be stalled forever.

This is especially true on pxa31x SoCs, where the NDCR was augmented
with a new bit to prevent this lockups by giving full ownership of the
DFI arbiter to the SMC, in change SCr#6.

Fix this by clearing the DFI arbritration bit in driver exit. This
effectively prevents a lockup on zylonite when removing pxa3xx-nand
module, and using ethernet afterwards.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2015-09-28 17:32:19 -07:00
..
chips mtd: chips: fixup dependencies, to prevent build error 2015-05-28 11:07:48 -07:00
devices Linux 4.3-rc1 2015-09-13 18:41:29 -07:00
lpddr mtd: lpddr: fix Kconfig dependency, for I/O accessors 2014-05-26 10:38:25 -07:00
maps mtd: physmap_of: fix null pointer deference when kzalloc returns null 2015-08-18 17:57:19 -07:00
nand mtd: nand: pxa3xx-nand: prevent DFI bus lockup on removal 2015-09-28 17:32:19 -07:00
onenand arch, drivers: don't include <asm/io.h> directly, use <linux/io.h> instead 2015-08-10 23:07:05 -04:00
spi-nor mtd: spi-nor: Zap unneeded write_enable from write_reg 2015-09-11 16:04:55 -07:00
tests mtd: mtd_oobtest: Fix the address offset with vary_offset case 2015-08-27 16:30:01 -07:00
ubi Minor merge needed, due to function move. 2015-07-01 10:49:25 -07:00
Kconfig mtd: part: Create the master device node when partitioned 2015-04-05 17:44:01 -07:00
Makefile mtd: spi-nor: shorten Kconfig naming 2014-04-14 11:23:01 -07:00
afs.c
ar7part.c
bcm47xxpart.c mtd: bcm47xxpart: support SquashFS with an original magic 2015-01-07 12:24:23 -08:00
bcm63xxpart.c
cmdlinepart.c mtd: cmdlinepart: Spelling s/trucate/truncate/ 2014-07-02 15:17:15 -07:00
ftl.c mtd/ftl: fix the double free of the buffers allocated in build_maps() 2014-07-14 18:41:20 -07:00
inftlcore.c
inftlmount.c mtd: intflmount: fix off by one error in INFTL_dumpVUchains() 2014-11-05 13:19:21 -08:00
mtd_blkdevs.c mtd: blktrans: fix multiplication overflow 2015-09-28 17:23:21 -07:00
mtdblock.c mtd: mtdblock: remove the needless mtdblks_lock 2015-01-07 12:51:56 -08:00
mtdblock_ro.c
mtdchar.c fs: introduce f_op->mmap_capabilities for nommu mmap support 2015-01-20 14:02:58 -07:00
mtdconcat.c MTD updates for 3.20-rc1 2015-02-18 08:01:44 -08:00
mtdcore.c mtd: propagate error codes from add_mtd_device() 2015-06-16 18:47:06 -07:00
mtdcore.h
mtdoops.c
mtdpart.c mtd: part: Remove partition overlap checks 2015-04-05 17:44:03 -07:00
mtdsuper.c
mtdswap.c mtd: use __packed shorthand 2014-08-19 11:53:08 -07:00
nftlcore.c
nftlmount.c mtd: nftl: reorganize operations in condition check 2015-01-09 15:26:29 -08:00
ofpart.c
redboot.c
rfd_ftl.c
sm_ftl.c mtd: sm_ftl: initialize error code 2014-08-19 11:53:07 -07:00
sm_ftl.h
ssfdc.c