linux-stable/drivers
Yifeng Li c4212d52f9 PCI: Add function 1 DMA alias quirk for Marvell 88SE9125 SATA controller
commit e445375882 upstream.

Like other SATA controller chips in the Marvell 88SE91xx series, the
Marvell 88SE9125 has the same DMA requester ID hardware bug that prevents
it from working under IOMMU.  Add it to the list of devices that need the
quirk.

Without this patch, device initialization fails with DMA errors:

  ata8: softreset failed (1st FIS failed)
  DMAR: DRHD: handling fault status reg 2
  DMAR: [DMA Write NO_PASID] Request device [03:00.1] fault addr 0xfffc0000 [fault reason 0x02] Present bit in context entry is clear
  DMAR: DRHD: handling fault status reg 2
  DMAR: [DMA Read NO_PASID] Request device [03:00.1] fault addr 0xfffc0000 [fault reason 0x02] Present bit in context entry is clear

After applying the patch, the controller can be successfully initialized:

  ata8: SATA link up 1.5 Gbps (SStatus 113 SControl 330)
  ata8.00: ATAPI: PIONEER BD-RW   BDR-207M, 1.21, max UDMA/100
  ata8.00: configured for UDMA/100
  scsi 7:0:0:0: CD-ROM            PIONEER  BD-RW   BDR-207M 1.21 PQ: 0 ANSI: 5

Link: https://lore.kernel.org/r/YahpKVR+McJVDdkD@work
Reported-by: Sam Bingner <sam@bingner.com>
Tested-by: Sam Bingner <sam@bingner.com>
Tested-by: Yifeng Li <tomli@tomli.me>
Signed-off-by: Yifeng Li <tomli@tomli.me>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-27 09:19:28 +01:00
..
accessibility
acpi ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses 2021-11-17 09:48:47 +01:00
amba
android binder: fix async_free_space accounting for empty parcels 2022-01-05 12:37:46 +01:00
ata libata: if T_LENGTH is zero, dma direction should be DMA_NONE 2021-12-22 09:29:39 +01:00
atm
auxdisplay auxdisplay: ht16k33: Fix frame buffer device blanking 2021-11-17 09:48:45 +01:00
base devtmpfs regression fix: reconfigure on each mount 2022-01-20 09:19:17 +01:00
bcma
block xen/blkfront: harden blkfront against event channel storms 2021-12-22 09:29:40 +01:00
bluetooth Bluetooth: bfusb: fix division by zero in send path 2022-01-16 09:15:38 +01:00
bus
cdrom
char random: fix crash on multiple early calls to add_bootloader_randomness() 2022-01-16 09:15:39 +01:00
clk clk: Don't parent clks until the parent is fully registered 2021-12-22 09:29:36 +01:00
clocksource clocksource/drivers/timer-ti-dm: Select TIMER_OF 2021-11-17 09:48:39 +01:00
connector
counter
cpufreq cpufreq: Fix get_cpu_device() failure in add_cpu_dev_symlink() 2021-12-08 09:01:11 +01:00
cpuidle cpuidle: Fix kobject memory leaks in error paths 2021-11-17 09:48:36 +01:00
crypto crypto: qat - disregard spurious PFVF interrupts 2021-11-17 09:48:36 +01:00
dax
dca
devfreq
dio
dma dmaengine: st_fdma: fix MODULE_ALIAS 2021-12-22 09:29:36 +01:00
dma-buf dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled() 2022-01-27 09:19:28 +01:00
edac EDAC/amd64: Handle three rank interleaving mode 2021-11-17 09:48:36 +01:00
eisa
extcon
firewire
firmware firmware: qemu_fw_cfg: fix kobject leak in probe error path 2022-01-20 09:19:18 +01:00
fpga
fsi
gnss
gpio
gpu drm/i915: Avoid bitwise vs logical OR warning in snb_wm_latency_quirk() 2022-01-16 09:15:39 +01:00
greybus
hid HID: wacom: Avoid using stale array indicies to read contact count 2022-01-27 09:19:26 +01:00
hsi
hv hyperv/vmbus: include linux/bitops.h 2021-11-17 09:48:20 +01:00
hwmon hwmon: (lm90) Do not report 'busy' status bit as alarm 2021-12-29 12:23:37 +01:00
hwspinlock
hwtracing
i2c i2c: validate user data in compat ioctl 2022-01-05 12:37:45 +01:00
i3c
ide
idle
iio iio: adc: stm32: fix a current leak by resetting pcsel before disabling vdda 2021-12-22 09:29:35 +01:00
infiniband RDMA/uverbs: Check for null return of kmalloc_array 2022-01-11 15:23:31 +01:00
input Input: touchscreen - Fix backport of a02dcde595 2022-01-11 15:23:30 +01:00
interconnect
iommu iommu/io-pgtable-arm-v7s: Add error handle for page table allocation failure 2022-01-27 09:19:28 +01:00
ipack
irqchip irqchip: nvic: Fix offset for Interrupt Priority Offsets 2021-12-14 14:49:06 +01:00
isdn mISDN: change function names to avoid conflicts 2022-01-11 15:23:33 +01:00
leds
lightnvm
macintosh
mailbox
mcb
md dm btree remove: fix use after free in rebalance_children() 2021-12-22 09:29:35 +01:00
media media: stk1160: fix control-message timeouts 2022-01-27 09:19:28 +01:00
memory memory: fsl_ifc: fix leak of irq and nand_irq in fsl_ifc_ctrl_probe 2021-11-17 09:48:42 +01:00
memstick memstick: jmb38x_ms: use appropriate free function in jmb38x_ms_alloc_host() 2021-11-17 09:48:37 +01:00
message
mfd mfd: intel-lpss: Fix too early PM enablement in the ACPI ->probe() 2022-01-16 09:15:38 +01:00
misc lkdtm: Fix content of section containing lkdtm_rodata_do_nothing() 2022-01-27 09:19:28 +01:00
mmc mmc: sdhci-pci: Add PCI ID for Intel ADL 2022-01-16 09:15:38 +01:00
mtd mtd: rawnand: gpmi: Remove explicit default gpmi clock setting for i.MX6 2022-01-27 09:19:26 +01:00
mux
net can: softing_cs: softingcs_probe(): fix memleak on registration failure 2022-01-27 09:19:28 +01:00
nfc NFC: st21nfca: Fix memory leak in device probe and remove 2022-01-05 12:37:44 +01:00
ntb
nubus
nvdimm
nvme nvmet: use IOCB_NOWAIT only if the filesystem supports it 2021-12-01 09:23:33 +01:00
nvmem
of
opp opp: Fix return in _opp_add_static_v2() 2021-11-17 09:48:44 +01:00
oprofile
parisc
parport
pci PCI: Add function 1 DMA alias quirk for Marvell 88SE9125 SATA controller 2022-01-27 09:19:28 +01:00
pcmcia
perf
phy phy: qcom-qusb2: Fix a memory leak on probe 2021-11-17 09:48:43 +01:00
pinctrl pinctrl: mediatek: fix global-out-of-bounds issue 2021-12-29 12:23:37 +01:00
platform platform/x86: apple-gmux: use resource_size() with res 2022-01-05 12:37:43 +01:00
pnp
power power: reset: ltc2952: Fix use of floating point literals 2022-01-11 15:23:32 +01:00
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is disabled 2021-11-17 09:48:22 +01:00
remoteproc
reset reset: socfpga: add empty driver allowing consumers to probe 2021-11-17 09:48:20 +01:00
rpmsg
rtc rtc: cmos: take rtc_lock while reading from CMOS 2022-01-27 09:19:27 +01:00
s390 s390/cio: make ccw_device_dma_* more robust 2021-11-17 09:48:50 +01:00
sbus
scsi scsi: libiscsi: Fix UAF in iscsi_conn_get_param()/iscsi_conn_teardown() 2022-01-11 15:23:33 +01:00
sfi
sh maple: fix wrong return value of maple_bus_init(). 2021-11-26 10:47:17 +01:00
siox
slimbus
soc soc/tegra: fuse: Fix bitwise vs. logical OR warning 2021-12-22 09:29:37 +01:00
soundwire
spi spi: change clk_disable_unprepare to clk_unprepare 2021-12-29 12:23:34 +01:00
spmi
ssb
staging staging: greybus: fix stack size warning with UBSAN 2022-01-16 09:15:39 +01:00
target scsi: target: Fix alua_tg_pt_gps_count tracking 2021-11-26 10:47:16 +01:00
tc
tee tee: handle lookup of shm with reference count 0 2022-01-05 12:37:43 +01:00
thermal thermal: core: Reset previous low and high trip during thermal zone init 2021-12-08 09:01:09 +01:00
thunderbolt
tty serial: 8250_fintek: Fix garbled text for console 2021-12-29 12:23:33 +01:00
uio
usb USB: Fix "slab-out-of-bounds Write" bug in usb_hcd_poll_rh_status 2022-01-16 09:15:38 +01:00
vfio
vhost vhost/vsock: fix incorrect used length reported to the guest 2021-12-01 09:23:34 +01:00
video vgacon: Propagate console boot parameters before calling `vc_resize' 2021-12-08 09:01:13 +01:00
virt
virtio virtio_ring: Fix querying of maximum DMA mapping size for virtio device 2021-12-22 09:29:34 +01:00
visorbus
vlynq
vme
w1
watchdog ar7: fix kernel builds for compiler test 2021-11-17 09:48:46 +01:00
xen xen: detect uninitialized xenbus in xenbus_init 2021-12-01 09:23:28 +01:00
zorro
Kconfig
Makefile