Ville Syrjälä
4655a12b81
drm: Don't overwrite UNVERFIED mode status to OK
...
The way the mode probing works is this:
1. All modes currently on the mode list are marked as UNVERIFIED
2. New modes are on the probed_modes list (they start with
status OK)
3. Modes are moved from the probed_modes list to the actual
mode list. If a mode already on the mode list is deemed
to match one of the probed modes, the duplicate is dropped
and the mode status updated to OK. After this the
probed_modes list will be empty.
4. All modes on the mode list are verified to not violate any
constraints. Any that do are marked as such.
5. Any mode left with a non-OK status is pruned from the list,
with an appropriate debug message.
What all this means is that any mode on the original list that
didn't have a duplicate on the probed_modes list, should be left
with status UNVERFIED (or previously could have been left with
some other status, but never OK).
I broke that in
commit 05acaec334 ("drm: Reorganize probed mode validation")
by always assigning something to the mode->status during the validation
step. So any mode from the old list that still passed the validation
would be left on the list with status OK in the end.
Fix this by not doing the basic mode validation unless the mode
already has status OK (meaning it came from the probed_modes list,
or at least a duplicate of it was on that list). This way we will
correctly prune away any mode from the old mode list that didn't
appear on the probed_modes list.
Cc: stable@vger.kernel.org
Cc: Adam Jackson <ajax@redhat.com>
Fixes: 05acaec334 ("drm: Reorganize probed mode validation")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1449177255-9515-2-git-send-email-ville.syrjala@linux.intel.com
Testcase: igt/kms_force_connector_basic/prune-stale-modes
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93332
[danvet: Also applying to drm-misc to avoid too much conflict hell -
there's a big pile of patches from Ville on top of this one.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2015-12-15 11:00:10 +10:00
..
accessibility
acpi
Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
2015-12-04 11:30:45 -08:00
amba
android
ata
ata/sata_fsl.c: add ATA_FLAG_NO_LOG_PAGE to blacklist the controller for log page reads
2015-12-07 10:25:57 -05:00
atm
auxdisplay
base
drivers/base/memory.c: prohibit offlining of memory blocks with missing sections
2015-12-12 10:15:34 -08:00
bcma
block
Merge branch 'for-linus' of git://git.kernel.dk/linux-block
2015-12-12 10:24:00 -08:00
bluetooth
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-11-10 18:11:41 -08:00
bus
Merge branch 'x15-audio-fixes' into omap-for-v4.4/fixes
2015-11-12 09:58:21 -08:00
cdrom
char
ipmi: move timer init to before irq is setup
2015-12-09 13:13:06 -06:00
clk
ARM: SoC fixes for 4.4-rc
2015-12-12 16:43:44 -08:00
clocksource
clocksource: Mmio: remove artificial 32bit limitation
2015-12-10 19:37:18 +01:00
connector
mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd
2015-11-06 17:50:42 -08:00
cpufreq
ARM: SoC fixes for 4.4-rc
2015-12-12 16:43:44 -08:00
cpuidle
crypto
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2015-12-05 10:46:44 -08:00
dca
devfreq
dio
dma
dmaengine: at_hdmac: use %pad format string for dma_addr_t
2015-11-16 09:21:05 +05:30
dma-buf
edac
asm-generic cleanups
2015-11-06 14:22:15 -08:00
eisa
extcon
firewire
IEEE 1394 subsystem patch:
2015-11-11 10:21:34 -08:00
firmware
ARM: SoC driver updates for v4.4
2015-11-10 15:00:03 -08:00
fmc
fpga
fpga manager: Fix firmware resource leak on error
2015-11-24 15:25:46 -08:00
gpio
gpio: omap: drop omap1 mpuio specific irq_mask/unmask callbacks
2015-11-30 13:50:21 +01:00
gpu
drm: Don't overwrite UNVERFIED mode status to OK
2015-12-15 11:00:10 +10:00
hid
USB fixes for 4.4-rc5
2015-12-13 11:58:18 -08:00
hsi
hsi: controllers:remove redundant code
2015-10-30 16:10:40 +01:00
hv
drivers/hv: share Hyper-V SynIC constants with userspace
2015-11-04 16:24:33 +01:00
hwmon
hwmon: (scpi) skip unsupported sensors properly
2015-11-16 09:59:50 -08:00
hwspinlock
hwtracing
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
2015-11-13 20:04:17 -08:00
i2c
i2c: i801: add Intel Lewisburg device IDs
2015-11-20 16:22:21 +01:00
ide
mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM
2015-11-06 17:50:42 -08:00
idle
iio
iio: adc: spmi-vadc: add missing of_node_put
2015-11-21 18:24:44 +00:00
infiniband
IB/mlx5: Postpone remove_keys under knowledge of coming preemption
2015-12-08 16:55:31 -05:00
input
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2015-11-13 21:41:14 -08:00
iommu
s390/pci_dma: handle dma table failures
2015-11-09 09:10:49 +01:00
ipack
irqchip
irqchip/versatile-fpga: Fix PCI IRQ mapping on Versatile PB
2015-12-01 22:50:16 +01:00
isdn
isdn: Partially revert debug format string usage clean up
2015-11-25 11:49:58 -05:00
leds
spi: Updates for v4.4
2015-11-05 13:15:12 -08:00
lguest
lightnvm
lightnvm: do not compile in debugging by default
2015-12-07 09:14:20 -07:00
macintosh
mailbox
mailbox: mailbox-test: avoid reading iomem twice
2015-11-04 14:03:04 +05:30
mcb
md
dm btree: fix bufio buffer leaks in dm_btree_del() error path
2015-12-10 10:30:18 -05:00
media
various: fix pci_set_dma_mask return value checking
2015-11-20 16:17:32 -08:00
memory
ARM: SoC driver updates for v4.4
2015-11-10 15:00:03 -08:00
memstick
message
SCSI queue for 4.4.
2015-11-12 07:06:18 -05:00
mfd
asm-generic cleanups
2015-11-06 14:22:15 -08:00
misc
cxl: Set endianess of kernel contexts
2015-12-08 16:57:01 +11:00
mmc
mmc: remove bondage between REQ_META and reliable write
2015-11-09 14:04:52 +01:00
mtd
mtd: nand: fix shutdown/reboot for multi-chip systems
2015-11-16 10:51:39 -08:00
net
Series of 4.4-rc fixes
2015-12-10 14:42:22 -08:00
nfc
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-11-10 18:11:41 -08:00
ntb
NTB: fix 32-bit compiler warning
2015-11-08 16:24:43 -05:00
nubus
nvdimm
libnvdimm, pmem: fix size trim in pmem_direct_access()
2015-11-12 09:55:23 -08:00
nvme
lightnvm: replace req queue with nvmdev for lld
2015-12-07 09:14:19 -07:00
nvmem
of
of/irq: Export of_irq_find_parent again
2015-12-09 09:08:36 -06:00
oprofile
parisc
parisc iommu: fix panic due to trying to allocate too large region
2015-12-12 16:07:25 +01:00
parport
pci
PCI updates for v4.4:
2015-12-09 09:26:06 -08:00
pcmcia
perf
arm64 updates for 4.4:
2015-11-04 14:47:13 -08:00
phy
phy: qcom-ufs: fix build error when the component is built as a module
2015-11-09 17:44:24 -05:00
pinctrl
pinctrl: sh-pfc: sh7734: Add missing cfg macro parameter to fix build
2015-12-01 11:13:04 +01:00
platform
platform/chrome: Branch for v4.4
2015-11-13 21:53:18 -08:00
pnp
power
- New Device Support
2015-11-06 10:23:50 -08:00
powercap
pps
ps3
ptp
pwm
pwm: Changes for v4.4-rc1
2015-11-11 09:16:10 -08:00
rapidio
ras
regulator
spi: Updates for v4.4
2015-11-05 13:15:12 -08:00
remoteproc
remoteproc: fix memory leak of remoteproc ida cache layers
2015-11-26 17:44:28 +02:00
reset
rpmsg
rtc
rtc: ds1307: fix alarm reading at probe time
2015-11-26 18:11:26 +01:00
s390
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
2015-11-18 08:59:29 -08:00
sbus
scsi
SCSI fixes on 20151205
2015-12-06 08:02:25 -08:00
sfi
sh
drivers: sh: Get rid of CONFIG_ARCH_SHMOBILE_MULTI
2015-11-17 02:12:46 +09:00
sn
soc
Few Keystone fixes for 4.4-rcx
2015-11-25 23:48:12 +01:00
spi
Merge remote-tracking branches 'spi/fix/bcm63xx', 'spi/fix/doc', 'spi/fix/mediatek' and 'spi/fix/pl022' into spi-linus
2015-11-30 12:26:47 +00:00
spmi
char/misc drivers for 4.4-rc1
2015-11-04 22:15:15 -08:00
ssb
staging
Staging driver fixes for 4.4-rc5
2015-12-13 12:24:39 -08:00
target
target/stat: print full t10_wwn.model buffer
2015-11-28 21:23:13 -08:00
tc
thermal
imx: thermal: use CPU temperature grade info for thresholds
2015-11-23 16:38:40 -08:00
thunderbolt
tty
serial: export fsl8250_handle_irq
2015-11-20 16:19:54 -08:00
uio
usb
USB: add quirk for devices with broken LPM
2015-12-11 15:40:51 -08:00
uwb
driver core update for 4.4-rc1
2015-11-04 21:50:37 -08:00
vfio
Revert: "vfio: Include No-IOMMU mode"
2015-12-04 08:38:42 -07:00
vhost
vhost: replace % with & on data path
2015-12-07 17:28:10 +02:00
video
fbdev changes for 4.4
2015-11-10 10:00:09 -08:00
virt
virtio
virtio_ring: shadow available ring flags & index
2015-12-07 17:28:11 +02:00
vlynq
vme
char/misc drivers for 4.4-rc1
2015-11-04 22:15:15 -08:00
w1
power supply and reset changes for the v4.4 series
2015-11-05 12:28:15 -08:00
watchdog
watchdog: mtk_wdt: Use MODE_KEY when stopping the watchdog
2015-11-23 09:00:09 +01:00
xen
xen: bug fixes for 4.4-rc2
2015-11-26 11:42:25 -08:00
zorro
Kconfig
char/misc drivers for 4.4-rc1
2015-11-04 22:15:15 -08:00
Makefile
null_blk: register as a LightNVM device
2015-11-16 15:22:28 -07:00