kernel_optimize_test/drivers/ata
Zheyu Ma cf23a960c5 ata: pata_marvell: Check the 'bmdma_addr' beforing reading
commit aafa9f958342db36c17ac2a7f1b841032c96feb4 upstream.

Before detecting the cable type on the dma bar, the driver should check
whether the 'bmdma_addr' is zero, which means the adapter does not
support DMA, otherwise we will get the following error:

[    5.146634] Bad IO access at port 0x1 (return inb(port))
[    5.147206] WARNING: CPU: 2 PID: 303 at lib/iomap.c:44 ioread8+0x4a/0x60
[    5.150856] RIP: 0010:ioread8+0x4a/0x60
[    5.160238] Call Trace:
[    5.160470]  <TASK>
[    5.160674]  marvell_cable_detect+0x6e/0xc0 [pata_marvell]
[    5.161728]  ata_eh_recover+0x3520/0x6cc0
[    5.168075]  ata_do_eh+0x49/0x3c0

Signed-off-by: Zheyu Ma <zheyuma97@gmail.com>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-27 13:53:54 +02:00
..
acard-ahci.c ata/acard_ahci: remove unused variable n_elem 2020-01-22 10:32:51 -07:00
ahci_brcm.c ata: ahci_brcm: Add back regulators management 2021-03-04 11:37:45 +01:00
ahci_ceva.c
ahci_da850.c
ahci_dm816.c
ahci_imx.c ata: ahci-imx: remove redundant assignment to ret 2020-04-07 14:49:45 -06:00
ahci_mtk.c
ahci_mvebu.c ata: ahci: mvebu: Make SATA PHY optional for Armada 3720 2020-10-09 12:47:56 -06:00
ahci_octeon.c
ahci_platform.c
ahci_qoriq.c ahci: qoriq: enable acpi support in qoriq ahci driver 2020-10-02 14:53:37 -06:00
ahci_seattle.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 235 2019-06-19 17:09:07 +02:00
ahci_st.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ahci_sunxi.c ata: ahci_sunxi: Disable DIPM 2021-07-19 09:44:59 +02:00
ahci_tegra.c ahci: tegra: use regulator_bulk_set_supply_names() 2019-10-25 14:26:41 -06:00
ahci_xgene.c
ahci.c ata: ahci: Add Green Sardine vendor ID as board_ahci_mobile 2021-12-08 09:03:19 +01:00
ahci.h ata: ahci: Disable SXS for Hisilicon Kunpeng920 2021-05-11 14:47:26 +02:00
ata_generic.c
ata_piix.c ata_piix: remove open-coded dmi_match(DMI_OEM_STRING) 2019-11-06 20:34:25 -07:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
libahci_platform.c ata: ahci_platform: fix null-ptr-deref in ahci_platform_enable_regulators() 2021-10-20 11:45:05 +02:00
libahci.c ata: ahci: Disable SXS for Hisilicon Kunpeng920 2021-05-11 14:47:26 +02:00
libata-acpi.c
libata-core.c ata: libata-core: Disable READ LOG DMA EXT for Samsung 840 EVOs 2022-04-20 09:23:22 +02:00
libata-eh.c libata: fix read log timeout value 2021-11-18 14:03:37 +01:00
libata-pata-timings.c ata: separate PATA timings code from libata-core.c 2020-03-26 10:28:19 -06:00
libata-pmp.c libata: Return correct status in sata_pmp_eh_recover_pm() when ATA_DFLAG_DETACH is set 2020-04-07 14:45:15 -06:00
libata-sata.c ata: move ata_eh_analyze_ncq_error() & co. to libata-sata.c 2020-03-26 10:28:20 -06:00
libata-scsi.c libata: if T_LENGTH is zero, dma direction should be DMA_NONE 2021-12-22 09:30:58 +01:00
libata-sff.c libata: fix ata_pio_sector for CONFIG_HIGHMEM 2021-08-12 13:22:19 +02:00
libata-trace.c
libata-transport.c libata: transport: Use scnprintf() for avoiding potential buffer overflow 2020-03-12 07:38:47 -06:00
libata-transport.h
libata-zpodd.c libata: zpodd: Fix small read overflow in zpodd_get_mech_type() 2019-07-29 16:00:14 -06:00
libata.h ata: make "libata.force" kernel parameter optional 2020-03-26 10:28:20 -06:00
Makefile ata: start separating SATA specific code from libata-core.c 2020-03-26 10:28:19 -06:00
pata_acpi.c
pata_ali.c
pata_amd.c
pata_arasan_cf.c pata_arasan_cf: fix IRQ check 2021-05-14 09:50:24 +02:00
pata_artop.c ata: pata_artop: make arrays static const, makes object smaller 2019-11-08 07:26:31 -07:00
pata_atiixp.c
pata_atp867x.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
pata_bk3710.c
pata_buddha.c ata/pata_buddha: Probe via modalias instead of initcall 2019-08-23 06:58:50 -06:00
pata_cmd64x.c pata_cmd64x: Use fallthrough pseudo-keyword 2020-10-02 17:51:30 -06:00
pata_cmd640.c
pata_cs5520.c libata: switch remaining drivers to use dma_set_mask_and_coherent 2019-08-26 13:58:59 -06:00
pata_cs5530.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
pata_cs5535.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
pata_cs5536.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
pata_cypress.c
pata_efar.c
pata_ep93xx.c pata_ep93xx: fix deferred probing 2021-07-14 16:56:04 +02:00
pata_falcon.c m68k/atari: Convert Falcon IDE drivers to platform drivers 2019-11-18 10:18:59 +01:00
pata_ftide010.c
pata_gayle.c
pata_hpt3x2n.c
pata_hpt3x3.c libata: switch remaining drivers to use dma_set_mask_and_coherent 2019-08-26 13:58:59 -06:00
pata_hpt37x.c ata: pata_hpt37x: fix PCI clock detection 2022-03-08 19:09:31 +01:00
pata_hpt366.c
pata_icside.c
pata_imx.c
pata_isapnp.c
pata_it821x.c
pata_it8213.c
pata_ixp4xx_cf.c pata_ipx4xx_cf: fix IRQ check 2021-05-14 09:50:24 +02:00
pata_jmicron.c
pata_legacy.c pata_legacy: fix a couple uninitialized variable bugs 2021-10-20 11:45:04 +02:00
pata_macio.c ata: pata_macio: fix comparing pointer to 0 2020-01-22 10:31:55 -07:00
pata_marvell.c ata: pata_marvell: Check the 'bmdma_addr' beforing reading 2022-04-27 13:53:54 +02:00
pata_mpc52xx.c
pata_mpiix.c
pata_netcell.c
pata_ninja32.c libata: switch remaining drivers to use dma_set_mask_and_coherent 2019-08-26 13:58:59 -06:00
pata_ns87410.c
pata_ns87415.c ata: pata_ns87415.c: Document support on parisc with superio chip 2020-10-23 20:23:47 +02:00
pata_octeon_cf.c pata_octeon_cf: avoid WARN_ON() in ata_host_activate() 2021-07-14 16:56:04 +02:00
pata_of_platform.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
pata_oldpiix.c
pata_opti.c
pata_optidma.c
pata_palmld.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
pata_pcmcia.c pata_pcmia: add SanDisk High (>8G) CF card to supported list 2020-01-29 20:54:51 -07:00
pata_pdc202xx_old.c
pata_pdc2027x.c libata: switch remaining drivers to use dma_set_mask_and_coherent 2019-08-26 13:58:59 -06:00
pata_piccolo.c
pata_platform.c
pata_pxa.c ata: make qc_prep return ata_completion_errors 2019-11-01 08:50:51 -06:00
pata_radisys.c
pata_rb532_cf.c pata_rb532_cf: fix deferred probing 2021-07-14 16:56:03 +02:00
pata_rdc.c
pata_rz1000.c
pata_samsung_cf.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
pata_sc1200.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
pata_sch.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 300 2019-06-05 17:37:00 +02:00
pata_serverworks.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
pata_sil680.c libata: switch remaining drivers to use dma_set_mask_and_coherent 2019-08-26 13:58:59 -06:00
pata_sis.c
pata_sl82c105.c
pata_triflex.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
pata_via.c
pdc_adma.c ata: make qc_prep return ata_completion_errors 2019-11-01 08:50:51 -06:00
sata_dwc_460ex.c ata: sata_dwc_460ex: Fix crash due to OOB write 2022-04-13 21:01:09 +02:00
sata_fsl.c sata_fsl: fix warning in remove_proc_entry when rmmod sata_fsl 2021-12-08 09:03:21 +01:00
sata_gemini.c
sata_gemini.h
sata_highbank.c sata_highbank: fix deferred probing 2021-07-14 16:56:03 +02:00
sata_inic162x.c ata: sata_inic162x fix a spelling issue 2020-04-23 09:59:30 -06:00
sata_mv.c ata: sata_mv: Fix the error handling of mv_chip_id() 2021-11-02 19:48:19 +01:00
sata_nv.c ata: sata_nv: Fix retrieving of active qcs 2020-10-28 07:58:09 -06:00
sata_promise.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
sata_promise.h
sata_qstor.c ata: make qc_prep return ata_completion_errors 2019-11-01 08:50:51 -06:00
sata_rcar.c ata: sata_rcar: Fix DMA boundary mask 2020-10-16 09:32:11 -06:00
sata_sil.c ata: make qc_prep return ata_completion_errors 2019-11-01 08:50:51 -06:00
sata_sil24.c ata: make qc_prep return ata_completion_errors 2019-11-01 08:50:51 -06:00
sata_sis.c
sata_svw.c libata: switch remaining drivers to use dma_set_mask_and_coherent 2019-08-26 13:58:59 -06:00
sata_sx4.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
sata_uli.c
sata_via.c libata: switch remaining drivers to use dma_set_mask_and_coherent 2019-08-26 13:58:59 -06:00
sata_vsc.c libata: switch remaining drivers to use dma_set_mask_and_coherent 2019-08-26 13:58:59 -06:00
sis.h