Wayne Lin
4ecba33ec8
drm/dp_mst: Remove VCPI while disabling topology mgr
...
[ Upstream commit 64e62bdf04ab8529f45ed0a85122c703035dec3a ]
[Why]
This patch is trying to address the issue observed when hotplug DP
daisy chain monitors.
e.g.
src-mstb-mstb-sst -> src (unplug) mstb-mstb-sst -> src-mstb-mstb-sst
(plug in again)
Once unplug a DP MST capable device, driver will call
drm_dp_mst_topology_mgr_set_mst() to disable MST. In this function,
it cleans data of topology manager while disabling mst_state. However,
it doesn't clean up the proposed_vcpis of topology manager.
If proposed_vcpi is not reset, once plug in MST daisy chain monitors
later, code will fail at checking port validation while trying to
allocate payloads.
When MST capable device is plugged in again and try to allocate
payloads by calling drm_dp_update_payload_part1(), this
function will iterate over all proposed virtual channels to see if
any proposed VCPI's num_slots is greater than 0. If any proposed
VCPI's num_slots is greater than 0 and the port which the
specific virtual channel directed to is not in the topology, code then
fails at the port validation. Since there are stale VCPI allocations
from the previous topology enablement in proposed_vcpi[], code will fail
at port validation and reurn EINVAL.
[How]
Clean up the data of stale proposed_vcpi[] and reset mgr->proposed_vcpis
to NULL while disabling mst in drm_dp_mst_topology_mgr_set_mst().
Changes since v1:
*Add on more details in commit message to describe the issue which the
patch is trying to fix
Signed-off-by: Wayne Lin <Wayne.Lin@amd.com>
[added cc to stable]
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191205090043.7580-1-Wayne.Lin@amd.com
Cc: <stable@vger.kernel.org> # v3.17+
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-02-11 04:34:16 -08:00
..
accessibility
acpi
ACPI / battery: Deal better with neither design nor full capacity not being reported
2020-02-11 04:33:59 -08:00
amba
android
binder: Handle start==NULL in binder_update_page_range()
2019-12-13 08:52:52 +01:00
ata
ahci: Do not export local variable ahci_em_messages
2020-01-27 14:51:07 +01:00
atm
atm: eni: fix uninitialized variable warning
2020-02-01 09:37:09 +00:00
auxdisplay
base
PM: core: Fix handling of devices deleted during system-wide resume
2020-02-11 04:34:03 -08:00
bcma
bcma: fix incorrect update of BCMA_CORE_PCI_MDIO_DATA
2020-01-27 14:51:09 +01:00
block
signal: Allow cifs and drbd to receive their terminating signals
2020-01-27 14:51:05 +01:00
bluetooth
Bluetooth: btusb: fix PM leak in error case of setup
2020-01-09 10:19:04 +01:00
bus
bus: ti-sysc: Fix sysc_unprepare() when no clocks have been allocated
2020-01-27 14:50:36 +01:00
cdrom
cdrom: respect device capabilities during opening action
2020-01-04 19:13:12 +01:00
char
ttyprintk: fix a potential deadlock in interrupt context issue
2020-02-05 14:43:39 +00:00
clk
clk: tegra: Mark fuse clock as critical
2020-02-11 04:34:11 -08:00
clocksource
clocksource/drivers/exynos_mct: Fix error path in timer resources initialization
2020-01-27 14:50:27 +01:00
connector
cpufreq
cpufreq: brcmstb-avs-cpufreq: Fix types for voltage/frequency
2020-01-27 14:50:53 +01:00
cpuidle
cpuidle: Do not unset the driver if it is there already
2019-12-17 20:35:00 +01:00
crypto
crypto: picoxcell - adjust the position of tasklet_init and fix missed tasklet_kill
2020-02-11 04:34:05 -08:00
dax
dca
devfreq
PM / devfreq: Add new name attribute for sysfs
2020-02-05 14:43:34 +00:00
dio
dma
dmaengine: ti: edma: fix missed failure handling
2020-01-27 14:51:22 +01:00
dma-buf
dma-buf: Fix memory leak in sync_file_merge()
2019-12-21 10:57:38 +01:00
edac
EDAC/mc: Fix edac_mc_find() in case no device is found
2020-01-27 14:50:48 +01:00
eisa
extcon
extcon: sm5502: Reset registers during initialization
2019-12-31 16:35:11 +01:00
firewire
net: add annotations on hh->hh_len lockless accesses
2020-01-09 10:19:09 +01:00
firmware
firmware: dmi: Fix unlikely out-of-bounds read in save_mem_devices
2020-01-27 14:51:19 +01:00
fmc
fpga
fpga: altera-ps-spi: Fix getting of optional confd gpio
2019-09-21 07:16:53 +02:00
fsi
fsi: sbefifo: Don't fail operations when in SBE IPL state
2020-01-27 14:51:00 +01:00
gnss
gpio
gpio: max77620: Add missing dependency on GPIOLIB_IRQCHIP
2020-02-01 09:37:09 +00:00
gpu
drm/dp_mst: Remove VCPI while disabling topology mgr
2020-02-11 04:34:16 -08:00
hid
HID: steam: Fix input device disappearing
2020-02-01 09:37:09 +00:00
hsi
hv
hv_balloon: Balloon up according to request page number
2020-02-11 04:34:01 -08:00
hwmon
hwmon: (nct7802) Fix voltage limits to wrong registers
2020-01-29 16:43:21 +01:00
hwspinlock
hwtracing
coresight: tmc-etf: Do not call smp_processor_id from preemptible
2020-01-29 16:43:23 +01:00
i2c
i2c: stm32f7: report dma error during probe
2020-01-27 14:51:21 +01:00
ide
idle
iio
iio: st_gyro: Correct data for LSM9DS0 gyro
2020-02-01 09:37:04 +00:00
infiniband
IB/core: Fix ODP get user pages flow
2020-02-11 04:34:13 -08:00
input
Input: sun4i-ts - add a check for devm_thermal_zone_of_sensor_register
2020-01-29 16:43:20 +01:00
iommu
iommu/amd: Support multiple PCI DMA aliases in IRQ Remapping
2020-02-01 09:37:10 +00:00
ipack
irqchip
irqchip: Place CONFIG_SIFIVE_PLIC into the menu
2020-01-23 08:21:36 +01:00
isdn
staging: gigaset: add endpoint-type sanity check
2019-12-17 20:34:33 +01:00
leds
led: triggers: Fix dereferencing of null pointer
2020-01-27 14:51:10 +01:00
lightnvm
lightnvm: pblk: fix lock order in pblk_rb_tear_down_check
2020-01-27 14:50:45 +01:00
macintosh
macintosh/windfarm_smu_sat: Fix debug output
2019-12-01 09:16:37 +01:00
mailbox
mailbox: qcom-apcs: fix max_register value
2020-01-27 14:51:14 +01:00
mcb
md
bcache: add readahead cache policy options via sysfs interface
2020-02-11 04:34:08 -08:00
media
media: rc: ensure lirc is initialized before registering input device
2020-02-11 04:34:08 -08:00
memory
memory: tegra: Don't invoke Tegra30+ specific memory timing setup on Tegra20
2020-01-27 14:50:13 +01:00
memstick
memstick: jmb38x_ms: Fix an error handling path in 'jmb38x_ms_probe()'
2019-10-29 09:20:07 +01:00
message
scsi: mptfusion: Fix double fetch bug in ioctl
2020-01-23 08:21:28 +01:00
mfd
mfd: rn5t618: Mark ADC control register volatile
2020-02-11 04:34:14 -08:00
misc
mei: me: add comet point (lake) H device ids
2020-02-01 09:37:04 +00:00
mmc
mmc: sdhci-of-at91: fix memleak on clk_get failure
2020-02-11 04:34:00 -08:00
mtd
ubi: Fix an error pointer dereference in error handling code
2020-02-11 04:34:14 -08:00
mux
net
net: dsa: b53: Always use dev->vlan_enabled in b53_configure_vlan()
2020-02-11 04:34:16 -08:00
nfc
NFC: pn544: Adjust indentation in pn544_hci_check_presence
2020-02-11 04:34:12 -08:00
ntb
ntb_hw_switchtec: potential shift wrapping bug in switchtec_ntb_init_sndev()
2020-01-27 14:50:55 +01:00
nubus
nvdimm
libnvdimm/btt: fix variable 'rc' set but not used
2020-01-04 19:13:00 +01:00
nvme
nvme: retain split access workaround for capability reads
2020-01-27 14:51:16 +01:00
nvmem
nvmem: imx-ocotp: Change TIMING calculation to u-boot algorithm
2020-01-27 14:50:58 +01:00
of
of: Add OF_DMA_DEFAULT_COHERENT & select it on powerpc
2020-02-11 04:34:03 -08:00
opp
OPP: Fix missing debugfs supply directory for OPPs
2020-01-27 14:50:04 +01:00
oprofile
parisc
parisc: Disable HP HSC-PCI Cards to prevent kernel crash
2019-10-05 13:10:04 +02:00
parport
parport: load lowlevel driver if ports not found
2019-12-31 16:36:01 +01:00
pci
PCI: keystone: Fix link training retries initiation
2020-02-11 04:34:00 -08:00
pcmcia
perf
phy
phy: qualcomm: Adjust indentation in read_poll_timeout
2020-02-11 04:34:12 -08:00
pinctrl
pinctrl: iproc-gpio: Fix incorrect pinconf configurations
2020-01-27 14:51:12 +01:00
platform
platform/x86: intel_scu_ipc: Fix interrupt support
2020-02-11 04:33:57 -08:00
pnp
power
power: supply: ltc2941-battery-gauge: fix use-after-free
2020-02-11 04:34:02 -08:00
powercap
pps
ps3
ptp
ptp: free ptp device pin descriptors properly
2020-01-23 08:21:35 +01:00
pwm
pwm: meson: Don't disable PWM when setting duty repeatedly
2020-01-27 14:50:47 +01:00
rapidio
drivers/rapidio/rio_cm.c: fix potential oops in riocm_ch_listen()
2020-01-27 14:50:31 +01:00
ras
regulator
regulator: tps65086: Fix tps65086_ldoa1_ranges for selector 0xB
2020-01-27 14:50:33 +01:00
remoteproc
remoteproc: qcom: q6v5-mss: Add missing regulator for MSM8996
2020-01-27 14:50:10 +01:00
reset
reset: Fix memory leak in reset_control_array_put()
2019-12-05 09:19:36 +01:00
rpmsg
rpmsg: glink: Free pending deferred work on remove
2019-12-21 10:57:30 +01:00
rtc
rtc: pcf2127: bugfix: read rtc disables watchdog
2020-01-27 14:51:07 +01:00
s390
s390/qeth: Fix initialization of vnicc cmd masks during set online
2020-01-27 14:51:18 +01:00
sbus
scsi
scsi: ufs: Recheck bkops level if bkops is disabled
2020-02-11 04:34:12 -08:00
sfi
sh
siox
slimbus
slimbus: ngd: Fix build error on x86
2019-12-13 08:51:54 +01:00
sn
soc
soc: ti: wkup_m3_ipc: Fix race condition with rproc_boot
2020-02-05 14:43:41 +00:00
soundwire
soundwire: intel: fix PDI/stream mapping for Bulk
2019-12-31 16:35:55 +01:00
spi
spi: spi-dw: Add lock protect dw_spi rx/tx to prevent concurrent calls
2020-02-01 09:37:08 +00:00
spmi
ssb
staging
staging: vt6656: Fix false Tx excessive retries reporting.
2020-02-01 09:37:03 +00:00
target
scsi: RDMA/isert: Fix a recently introduced regression related to logout
2020-01-29 16:43:21 +01:00
tc
tee
tee: optee: Fix compilation issue with nommu
2020-02-05 14:43:50 +00:00
thermal
thermal: cpu_cooling: Actually trace CPU load in thermal_power_cpu_get_power
2020-01-27 14:50:48 +01:00
thunderbolt
thunderbolt: Power cycle the router if NVM authentication fails
2019-12-05 09:21:27 +01:00
tty
serial: 8250_bcm2835aux: Fix line mismatch on driver unbind
2020-02-01 09:37:03 +00:00
uio
driver: uio: fix possible use-after-free in __uio_register_device
2020-01-27 14:50:17 +01:00
usb
usb: gadget: f_ecm: Use atomic_t to track in-flight request
2020-02-11 04:33:56 -08:00
uwb
vfio
vfio/mdev: Fix aborting mdev child device removal if one fails
2020-01-27 14:50:46 +01:00
vhost
vhost/test: stop device before reset
2020-01-27 14:51:19 +01:00
video
backlight: pwm_bl: Fix heuristic to determine number of brightness levels
2020-01-27 14:50:58 +01:00
virt
virt: vbox: fix memory leak in hgcm_call_preprocess_linaddr
2019-11-06 13:06:04 +01:00
virtio
virtio-balloon: fix managed page counts when migrating pages between zones
2019-12-17 20:34:43 +01:00
visorbus
vlynq
vme
w1
w1: IAD Register is yet readable trough iad sys file. Fix snprintf (%u for unsigned, count for max size).
2019-12-01 09:16:22 +01:00
watchdog
watchdog: fix UAF in reboot notifier handling in watchdog core code
2020-02-11 04:34:08 -08:00
xen
xen/balloon: Support xend-based toolstack take two
2020-02-11 04:34:08 -08:00
zorro
Kconfig
Makefile