Zheyu Ma
3cca43b9a2
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:14:11 +02:00
..
acard-ahci.c
ata: make qc_prep return ata_completion_errors
2020-10-01 20:40:19 +02:00
ahci.c
ata: ahci: Add shutdown to freeze hardware resources of ahci
2020-02-28 15:42:56 +01:00
ahci.h
ahci: use pci_alloc_irq_vectors
2016-09-06 12:38:17 -04:00
ahci_brcm.c
ata: ahci_brcm: Add back regulators management
2021-03-03 17:44:35 +01:00
ahci_ceva.c
drivers: ata: add support for Ceva sata host controller
2015-06-10 11:15:17 +09:00
ahci_da850.c
sata: ahci-da850: implement a workaround for the softreset quirk
2017-04-12 12:41:20 +02:00
ahci_imx.c
ata: ahci_platform: fix owner module reference mismatch for scsi host
2015-01-28 18:45:23 -05:00
ahci_mvebu.c
ata: ahci_mvebu: add support for Armada 3700 variant
2016-02-18 12:41:17 -05:00
ahci_octeon.c
libata: support AHCI on OCTEON platform
2016-02-11 10:12:04 -05:00
ahci_platform.c
ata: ahci-platform: Add ports-implemented DT bindings.
2016-04-01 10:30:30 -04:00
ahci_qoriq.c
ahci: qoriq: Revert "ahci: qoriq: Disable NCQ on ls2080a SoC"
2016-09-30 10:28:51 +02:00
ahci_seattle.c
ata: fix return value check in ahci_seattle_get_port_info()
2016-06-15 14:26:41 -04:00
ahci_st.c
ahci: st: Add ports-implemented property in support
2016-08-10 12:16:49 -04:00
ahci_sunxi.c
ata: ahci_sunxi: Disable DIPM
2021-07-20 16:21:09 +02:00
ahci_tegra.c
ata: ahci_platform: fix owner module reference mismatch for scsi host
2015-01-28 18:45:23 -05:00
ahci_xgene.c
ata: ahci_xgene: dereferencing uninitialized pointer in probe
2016-03-11 12:40:34 -05:00
ata_generic.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
ata_piix.c
ata_piix: Add Device IDs for Intel 9 Series PCH
2014-08-28 08:53:40 -04:00
Kconfig
ata: ahci_brcm: Allow using driver or DSL SoCs
2019-11-25 09:53:22 +01:00
libahci.c
ata: make qc_prep return ata_completion_errors
2020-10-01 20:40:19 +02:00
libahci_platform.c
ata: libahci_platform: fix IRQ check
2021-05-22 10:40:25 +02:00
libata-acpi.c
ACPI and power management updates for 3.15-rc1
2014-04-01 12:48:54 -07:00
libata-core.c
ata: libata-core: Disable TRIM on M88V29
2022-02-23 11:56:41 +01:00
libata-eh.c
libata: fix read log timeout value
2021-11-26 11:48:18 +01:00
libata-pmp.c
libata: Return correct status in sata_pmp_eh_recover_pm() when ATA_DFLAG_DETACH is set
2020-04-24 07:58:59 +02:00
libata-scsi.c
libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks
2020-09-12 11:47:37 +02:00
libata-sff.c
ata: make qc_prep return ata_completion_errors
2020-10-01 20:40:19 +02:00
libata-trace.c
libata: NCQ encapsulation for ZAC MANAGEMENT OUT
2016-05-09 12:36:46 -04:00
libata-transport.c
libata: transport: Remove circular dependency at free time
2017-10-08 10:26:11 +02:00
libata-transport.h
libata-zpodd.c
libata: zpodd: Fix small read overflow in zpodd_get_mech_type()
2019-08-25 10:51:46 +02:00
libata.h
libata: Implement control mode page to select sense format
2016-04-04 12:07:41 -04:00
Makefile
ata: ahci_brcmstb: rename to support across Broadcom SoC's
2016-06-16 16:24:55 -04:00
pata_acpi.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_ali.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_amd.c
cs5536: add support for IDE controller variant
2017-09-09 17:39:41 +02:00
pata_arasan_cf.c
pata_arasan_cf: fix IRQ check
2021-05-22 10:40:25 +02:00
pata_artop.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_at32.c
ata: drop owner assignment from platform_drivers
2014-10-20 16:20:17 +02:00
pata_at91.c
pata_at91: Use PTR_ERR_OR_ZERO rather than if(IS_ERR(...)) + PTR_ERR
2016-09-22 11:48:46 -04:00
pata_atiixp.c
pata_atiixp: fix trivial indentation misalignment on if statement
2016-05-27 11:22:46 -04:00
pata_atp867x.c
ata: remove deprecated use of pci api
2015-04-08 10:55:05 -04:00
pata_bf54x.c
gpio: Include linux/gpio.h instead of asm/gpio.h
2016-02-16 00:20:03 +01:00
pata_cmd64x.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_cmd640.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_cs5520.c
ata: remove deprecated use of pci api
2015-04-08 10:55:05 -04:00
pata_cs5530.c
ata: Delete unnecessary checks before the function call "pci_dev_put"
2015-02-03 07:04:44 -05:00
pata_cs5535.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_cs5536.c
cs5536: add support for IDE controller variant
2017-09-09 17:39:41 +02:00
pata_cypress.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_efar.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_ep93xx.c
pata_ep93xx: fix deferred probing
2021-07-20 16:21:01 +02:00
pata_hpt3x2n.c
ata: delete non-required instances of include <linux/init.h>
2014-02-13 16:40:56 -05:00
pata_hpt3x3.c
ata: remove deprecated use of pci api
2015-04-08 10:55:05 -04:00
pata_hpt37x.c
ata: pata_hpt37x: fix PCI clock detection
2022-03-08 19:00:57 +01:00
pata_hpt366.c
ata: hpt366: fix incorrect mask when checking at cmd_high_time
2016-07-12 11:02:05 -04:00
pata_icside.c
scsi: rename SCSI_MAX_{SG, SG_CHAIN}_SEGMENTS
2016-04-15 16:53:14 -04:00
pata_imx.c
ata: drop owner assignment from platform_drivers
2014-10-20 16:20:17 +02:00
pata_isapnp.c
PNP: ata/pata_isapnp: Use module_pnp_driver to register driver
2015-03-18 22:39:17 +01:00
pata_it821x.c
pata_it821x: use "const char *" for string literals
2015-10-15 10:58:53 -04:00
pata_it8213.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_ixp4xx_cf.c
pata_ipx4xx_cf: fix IRQ check
2021-05-22 10:40:25 +02:00
pata_jmicron.c
PCI: Disable async suspend/resume for JMicron multi-function SATA/AHCI
2015-08-24 15:27:11 -05:00
pata_legacy.c
pata_legacy: fix a couple uninitialized variable bugs
2021-10-27 09:33:59 +02:00
pata_macio.c
ata: make qc_prep return ata_completion_errors
2020-10-01 20:40:19 +02:00
pata_marvell.c
ata: pata_marvell: Check the 'bmdma_addr' beforing reading
2022-04-27 13:14:11 +02:00
pata_mpc52xx.c
ata: drop owner assignment from platform_drivers
2014-10-20 16:20:17 +02:00
pata_mpiix.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_netcell.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_ninja32.c
pata_ninja32: Avoid corrupting status flags
2016-08-30 11:59:47 -04:00
pata_ns87410.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_ns87415.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_octeon_cf.c
pata_octeon_cf: avoid WARN_ON() in ata_host_activate()
2021-07-20 16:21:01 +02:00
pata_of_platform.c
ata: pata_platform: fix owner module reference mismatch for scsi host
2015-01-28 18:45:23 -05:00
pata_oldpiix.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_opti.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_optidma.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_palmld.c
ata: drop owner assignment from platform_drivers
2014-10-20 16:20:17 +02:00
pata_pcmcia.c
ata: delete non-required instances of include <linux/init.h>
2014-02-13 16:40:56 -05:00
pata_pdc202xx_old.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_pdc2027x.c
ata: remove deprecated use of pci api
2015-04-08 10:55:05 -04:00
pata_piccolo.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_platform.c
ata: pata_platform: fix owner module reference mismatch for scsi host
2015-01-28 18:45:23 -05:00
pata_pxa.c
ata: make qc_prep return ata_completion_errors
2020-10-01 20:40:19 +02:00
pata_radisys.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_rb532_cf.c
pata_rb532_cf: fix deferred probing
2021-07-20 16:21:00 +02:00
pata_rdc.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_rz1000.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_samsung_cf.c
libata: samsung_cf: fix handling platform_get_irq result
2015-09-25 11:50:15 -04:00
pata_sc1200.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_sch.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_serverworks.c
pata_serverworks: disable 64-KB DMA transfers on Broadcom OSB4 IDE Controller
2014-10-07 17:10:14 -04:00
pata_sil680.c
ata: remove deprecated use of pci api
2015-04-08 10:55:05 -04:00
pata_sis.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_sl82c105.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_triflex.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pata_via.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
pdc_adma.c
ata: make qc_prep return ata_completion_errors
2020-10-01 20:40:19 +02:00
sata_dwc_460ex.c
ata: sata_dwc_460ex: No need to call phy_exit() befre phy_init()
2021-09-22 11:43:06 +02:00
sata_fsl.c
sata_fsl: fix warning in remove_proc_entry when rmmod sata_fsl
2021-12-08 08:45:06 +01:00
sata_highbank.c
sata_highbank: fix deferred probing
2021-07-20 16:21:00 +02:00
sata_inic162x.c
ata: make qc_prep return ata_completion_errors
2020-10-01 20:40:19 +02:00
sata_mv.c
ata: sata_mv: Fix the error handling of mv_chip_id()
2021-11-02 17:39:22 +01:00
sata_nv.c
ata: make qc_prep return ata_completion_errors
2020-10-01 20:40:19 +02:00
sata_promise.c
ata: make qc_prep return ata_completion_errors
2020-10-01 20:40:19 +02:00
sata_promise.h
sata_qstor.c
ata: make qc_prep return ata_completion_errors
2020-10-01 20:40:19 +02:00
sata_rcar.c
ata: sata_rcar: Fix DMA boundary mask
2020-11-10 10:23:51 +01:00
sata_sil.c
ata: make qc_prep return ata_completion_errors
2020-10-01 20:40:19 +02:00
sata_sil24.c
ata: make qc_prep return ata_completion_errors
2020-10-01 20:40:19 +02:00
sata_sis.c
ata: use CONFIG_PM_SLEEP instead of CONFIG_PM where applicable in host drivers
2014-05-09 22:37:49 -04:00
sata_svw.c
powerpc updates for 4.1
2015-04-16 13:53:32 -05:00
sata_sx4.c
ata: make qc_prep return ata_completion_errors
2020-10-01 20:40:19 +02:00
sata_uli.c
ata: delete non-required instances of include <linux/init.h>
2014-02-13 16:40:56 -05:00
sata_via.c
sata_via: Enable hotplug only on VT6421
2017-10-08 10:26:09 +02:00
sata_vsc.c
ata: remove deprecated use of pci api
2015-04-08 10:55:05 -04:00
sis.h