WSL2-Linux-Kernel/drivers/ata
Reimar Döffinger d5e659a7a6 libata: fix checking of DMA state
commit f971a85439 upstream.

Checking if DMA is enabled should be done via the
ata_dma_enabled helper function, since the init state
0xff indicates disabled.
This meant that ATA_CMD_READ_LOG_DMA_EXT was used and probed
for before DMA was enabled, which caused hangs for some combinations
of controllers and devices.
It might also have caused it to be incorrectly disabled as broken,
but there have been no reports of that.

Cc: stable@vger.kernel.org
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=195895
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Tested-by: Paul Menzel <pmenzel@molgen.mpg.de>
Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-11-18 19:16:00 +01:00
..
Kconfig ARM: SoC changes for 5.14 2021-07-10 09:22:44 -07:00
Makefile ata: start separating SATA specific code from libata-core.c 2020-03-26 10:28:19 -06:00
acard-ahci.c ata/acard_ahci: remove unused variable n_elem 2020-01-22 10:32:51 -07:00
ahci.c ahci: Add support for Dell S140 and later controllers 2021-06-15 15:43:58 -06:00
ahci.h ata: ahci: Ensure initialised fields are not overwritten in AHCI_SHT() 2021-06-16 06:50:25 -06:00
ahci_brcm.c ata: ahci_brcm: Fix use of BCM7216 reset controller 2021-05-03 13:15:04 -05:00
ahci_ceva.c ata: ahci: ceva: Updated code by using dev_err_probe() 2021-04-06 09:25:01 -06:00
ahci_da850.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 45 2019-05-24 17:27:12 +02:00
ahci_dm816.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 45 2019-05-24 17:27:12 +02:00
ahci_imx.c ata: ahci-imx: remove redundant assignment to ret 2020-04-07 14:49:45 -06:00
ahci_mtk.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
ahci_mvebu.c ata: ahci: mvebu: Make SATA PHY optional for Armada 3720 2020-10-09 12:47:56 -06:00
ahci_octeon.c Delete redundant return value check of platform_get_resource() 2017-03-06 15:40:59 -05:00
ahci_platform.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 45 2019-05-24 17:27:12 +02:00
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-06-14 08:26:54 -06:00
ahci_tegra.c ata: ahci_tegra: call tegra_powergate_power_off only when PM domain is not present 2021-04-11 20:35:08 -06:00
ahci_xgene.c ata: ahci_xgene: Fix incorrect naming of 'xgene_ahci_handle_broken_edge_irq()'s 'host' param 2021-03-12 07:28:30 -07:00
ata_generic.c ata: ata_generic: Fix misspelling of 'ata_generic_init_one()' 2021-03-30 20:21:26 -06:00
ata_piix.c ata_piix: remove open-coded dmi_match(DMI_OEM_STRING) 2019-11-06 20:34:25 -07:00
libahci.c libata: Introduce ncq_prio_supported sysfs sttribute 2021-08-18 07:19:39 -06:00
libahci_platform.c ata: ahci_platform: fix null-ptr-deref in ahci_platform_enable_regulators() 2021-10-14 12:22:47 +09:00
libata-acpi.c ata: libata-acpi: Fix function name and provide description for 'prev_gtf' 2021-03-30 20:21:26 -06:00
libata-core.c libata: fix checking of DMA state 2021-11-18 19:16:00 +01:00
libata-eh.c libata: fix read log timeout value 2021-11-18 19:15:51 +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 ata: libata-pmp: Fix misspelling of 'val' 2021-03-12 07:28:30 -07:00
libata-sata.c libata: Introduce ncq_prio_supported sysfs sttribute 2021-08-18 07:19:39 -06:00
libata-scsi.c SCSI misc on 20210902 2021-09-02 15:09:46 -07:00
libata-sff.c libata: fix ata_pio_sector for CONFIG_HIGHMEM 2021-07-09 08:28:20 -06:00
libata-trace.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 18 2019-05-21 11:28:46 +02:00
libata-transport.c ata: libata-transport: Fix some potential doc-rot issues 2021-03-12 07:28:30 -07:00
libata-transport.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
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
pata_acpi.c ata: pata_acpi: Fix some incorrect function param descriptions 2021-03-30 20:21:26 -06:00
pata_ali.c ata: pata_ali: Supply description for 'ali_20_filter()'s 'mask' param 2021-03-12 07:28:30 -07:00
pata_amd.c ata: pata_amd: Fix incorrectly named function in the header 2021-03-12 07:28:30 -07:00
pata_arasan_cf.c pata_arasan_cf: fix IRQ check 2021-03-26 17:13:02 -06:00
pata_artop.c ata: pata_artop: Repair possible copy/paste issue in 'artop_6210_qc_defer()'s header 2021-03-12 07:28:30 -07:00
pata_atiixp.c ata: pata_atiixp: Avoid overwriting initialised field in 'atiixp_sht' 2021-06-16 06:50:25 -06:00
pata_atp867x.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
pata_bk3710.c pata_bk3710: clarify license version and use SPDX header 2018-03-01 13:59:03 -08:00
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 treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
pata_cs5520.c ata: pata_cs5520: Avoid overwriting initialised field in 'cs5520_sht' 2021-06-16 06:50:25 -06:00
pata_cs5530.c ata: pata_cs5530: Avoid overwriting initialised field in 'cs5530_sht' 2021-06-16 06:50:25 -06: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_cypress: add a module option to disable BM-DMA 2021-06-16 08:52:38 -06:00
pata_efar.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
pata_ep93xx.c pata_ep93xx: fix deferred probing 2021-05-27 13:03:48 -06:00
pata_falcon.c scsi: ata: Use scsi_cmd_to_rq() instead of scsi_cmnd.request 2021-08-11 22:25:37 -04:00
pata_ftide010.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
pata_gayle.c ata: add Amiga Gayle PATA controller driver 2018-03-19 07:41:36 -07:00
pata_hpt3x2n.c ata: pata_hpt3x2n: Fix possible doc-rotted function name 2021-03-12 07:28:31 -07:00
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 some function misnaming and missing param issues 2021-03-12 07:28:30 -07:00
pata_hpt366.c ata: pata_hpt366: Provide missing description for 'hpt366_filter()'s 'mask' param 2021-03-12 07:28:30 -07:00
pata_icside.c ata: Avoid comma separated statements 2021-01-31 08:05:46 -07:00
pata_imx.c Merge branch 'for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2018-08-24 13:20:33 -07:00
pata_isapnp.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
pata_it821x.c ata: pata_it821x: Fix possible doc-rotted function names 2021-03-30 20:21:25 -06:00
pata_it8213.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
pata_ixp4xx_cf.c pata: ixp4xx: Rewrite to use device tree 2021-08-04 12:20:44 +02:00
pata_jmicron.c ata: pata_jmicron: Fix incorrectly documented function parameter 2021-03-12 07:28:31 -07:00
pata_legacy.c pata_legacy: fix a couple uninitialized variable bugs 2021-10-12 09:52:35 +09:00
pata_macio.c ata: pata_macio: Avoid overwriting initialised field in 'pata_macio_sht' 2021-06-16 06:50:26 -06:00
pata_marvell.c ata: pata_marvell: Fix incorrectly documented function parameter 2021-03-12 07:28:31 -07:00
pata_mpc52xx.c pata_mpc52xx: Delete an error message for a failed memory allocation in mpc52xx_ata_probe() 2018-02-18 05:23:25 -08:00
pata_mpiix.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
pata_netcell.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 18 2019-05-21 11:28:46 +02:00
pata_ns87415.c ata: Trivial spelling fixes in the file pata_ns87415.c 2021-03-12 07:28:31 -07:00
pata_octeon_cf.c pata_octeon_cf: avoid WARN_ON() in ata_host_activate() 2021-05-19 15:54:42 -06: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 treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
pata_opti.c ata: pata_opti: Fix spelling issue of 'val' in 'opti_write_reg()' 2021-03-30 20:21:26 -06:00
pata_optidma.c ata: pata_optidma: Fix a function misnaming, a formatting issue and a missing description 2021-03-12 07:28:31 -07:00
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 ata: pata_pdc202xx_old: Fix some incorrectly named functions 2021-03-30 20:21:25 -06:00
pata_pdc2027x.c ata: pata_pdc2027x: Fix some incorrect function names and parameter docs 2021-03-12 07:28:31 -07:00
pata_piccolo.c ata: pata_piccolo: 'ata_tosh_init()' is misnamed in its header 2021-03-30 20:21:25 -06:00
pata_platform.c pata_platform: Document `pio_mask' module parameter 2021-04-06 09:27:30 -06:00
pata_pxa.c ata: make qc_prep return ata_completion_errors 2019-11-01 08:50:51 -06:00
pata_radisys.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
pata_rb532_cf.c ata: rb532_cf: remove redundant codes 2021-06-24 18:49:01 -06:00
pata_rdc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 18 2019-05-21 11:28:46 +02:00
pata_rz1000.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
pata_samsung_cf.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
pata_sc1200.c ata: pata_sc1200: sc1200_sht'Avoid overwriting initialised field in ' 2021-06-16 06:50:25 -06:00
pata_sch.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 300 2019-06-05 17:37:00 +02:00
pata_serverworks.c ata: pata_serverworks: Avoid overwriting initialised field in 'serverworks_osb4_sht 2021-06-16 06:50:26 -06:00
pata_sil680.c ata: pata_sil680: Add some missing function parameter docs 2021-03-30 20:21:25 -06:00
pata_sis.c ata: pata_sis: Remove superfluous param description and supply another 2021-03-30 20:21:25 -06:00
pata_sl82c105.c ata: pata_sl82c105: Fix potential doc-rot 2021-03-30 20:21:25 -06:00
pata_triflex.c ata: pata_triflex: Repair some misnamed functions and fix some param descriptions 2021-03-30 20:21:25 -06:00
pata_via.c ata: pata_via: Fix a kernel-doc formatting issue 2021-03-30 20:21:25 -06:00
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: No need to call phy_exit() befre phy_init() 2021-07-27 19:30:06 -06:00
sata_fsl.c sata: fsl: fix DPRINTK format string 2021-05-17 09:12:40 -06:00
sata_gemini.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
sata_gemini.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sata_highbank.c sata_highbank: fix deferred probing 2021-05-18 15:17:46 -06: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-10-25 08:53:04 +09:00
sata_nv.c ata: sata_nv: Do not over-write initialise fields in 'nv_adma_sht' and 'nv_swncq_sht' 2021-06-16 06:50:25 -06:00
sata_promise.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
sata_promise.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 18 2019-05-21 11:28:46 +02:00
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: sata_sil24: Do not over-write initialise fields in 'sil24_sht' 2021-06-16 06:50:25 -06:00
sata_sis.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 18 2019-05-21 11:28:46 +02:00
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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 18 2019-05-21 11:28:46 +02:00
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 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00