Bug#1143161: linux-image-6.12.96+deb13-amd64: X does not start on DisplayPort of NVIDIA Quadro 600 with nouveau

Takashi Yano <[email protected]> Fri, 31 Jul 2026 14:28:51 +0900
Newsgroups gmane.linux.debian.ports.amd64
Message-ID <178547573138.1525.16706623360585844071.reportbug__26066.1139198177$1785476502$gmane$org@debian-usb>
This is a multi-part MIME message sent by reportbug.


--===============2556951238765252477==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Package: src:linux
Version: 6.12.96-1
Severity: normal
Tags: patch
X-Debbugs-Cc: [email protected]
User: [email protected]
Usertags: amd64

Dear Maintainer,

   * What led up to the situation?
     When starting X on NVIDIA Quadro 600 DisplayPort, X does not start correctly
     and does not show screen. I am using nouveau. This also happen with
       Quadro 600 / 2000 / 4000
       Quadro FX 1800
     The issue does not happen if DVI output is used.

   * What exactly did you do (or not do) that was effective (or
     ineffective)?
     Using another mother board does not help.
     After some effort, I found that the attached patch resolves the issue.
     This essentially reverts a5a7379f6d9d ("drm/nouveau/kms/nv50-: split DP
     disable+enable into two modesets") and adds a workaround for Quadro FX
     1800.

   * What was the outcome of this action?
     Without the patch, X does not start correctly, while it starts correctly
     with the patch.

   * What outcome did you expect instead?
     X starts correctly and the screen is shown up.

-- Package-specific info:
** Version:
Linux version 6.12.96+deb13-amd64 ([email protected]) (x86_64-linux-gnu-gcc-14 (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT_DYNAMIC Debian 6.12.96-1 (2026-07-20)

** Command line:
BOOT_IMAGE=/boot/vmlinuz-6.12.96+deb13-amd64 root=UUID=896bb234-340d-4aeb-ac35-4ab240861dd6 ro quiet

** Not tainted

** Kernel log:
[   43.131447] nouveau 0000:01:00.0: disp: 	0804: 00841190              
[   43.131452] nouveau 0000:01:00.0: disp: 	0808: 00000000              
[   43.131458] nouveau 0000:01:00.0: disp: 	080c: 00000000              
[   43.131464] nouveau 0000:01:00.0: disp: 	0810: 00000000              
[   43.131470] nouveau 0000:01:00.0: disp: 	0814: 08ae0fa0              
[   43.131476] nouveau 0000:01:00.0: disp: 	0818: 0004008f              
[   43.131482] nouveau 0000:01:00.0: disp: 	081c: 00070097              
[   43.131488] nouveau 0000:01:00.0: disp: 	0820: 08770f97              
[   43.131494] nouveau 0000:01:00.0: disp: 	0824: 00000001              
[   43.131500] nouveau 0000:01:00.0: disp: 	0828: 00000384              
[   43.131507] nouveau 0000:01:00.0: disp: 	082c: 00000000              
[   43.131512] nouveau 0000:01:00.0: disp: 	0830: 00000000              
[   43.131517] nouveau 0000:01:00.0: disp: 	0838: 00000000              
[   43.131523] nouveau 0000:01:00.0: disp: 	0840: 00000000              
[   43.131529] nouveau 0000:01:00.0: disp: 	0844: 00000430              
[   43.131534] nouveau 0000:01:00.0: disp: 	0848: 00000000              
[   43.131540] nouveau 0000:01:00.0: disp: 	084c: 00000000              
[   43.131546] nouveau 0000:01:00.0: disp: 	085c: 00000000 -> f0000001
[   43.131552] nouveau 0000:01:00.0: disp: 	0860: 00000000              
[   43.131558] nouveau 0000:01:00.0: disp: 	0864: 00000000              
[   43.131563] nouveau 0000:01:00.0: disp: 	0868: 08700f00              
[   43.131570] nouveau 0000:01:00.0: disp: 	086c: 00103c00              
[   43.131575] nouveau 0000:01:00.0: disp: 	0870: 0000cf00              
[   43.131580] nouveau 0000:01:00.0: disp: 	0874: 00000000              
[   43.131586] nouveau 0000:01:00.0: disp: 	0878: 00000000              
[   43.131592] nouveau 0000:01:00.0: disp: 	0880: 20000000 -> 85000000
[   43.131598] nouveau 0000:01:00.0: disp: 	0884: 00000000 -> 00000460
[   43.131604] nouveau 0000:01:00.0: disp: 	089c: 00000000 -> f0000001
[   43.131610] nouveau 0000:01:00.0: disp: 	08a0: 00000002              
[   43.131616] nouveau 0000:01:00.0: disp: 	08a4: 00000000              
[   43.131622] nouveau 0000:01:00.0: disp: 	08a8: 00040000              
[   43.131628] nouveau 0000:01:00.0: disp: 	08c0: 00000000              
[   43.131634] nouveau 0000:01:00.0: disp: 	08c4: 00000000              
[   43.131640] nouveau 0000:01:00.0: disp: 	08c8: 08700f00              
[   43.131646] nouveau 0000:01:00.0: disp: 	08d4: 00000000              
[   43.131652] nouveau 0000:01:00.0: disp: 	08d8: 08700f00              
[   43.131658] nouveau 0000:01:00.0: disp: 	08dc: 08700f00              
[   43.131664] nouveau 0000:01:00.0: disp: 	0900: 00000301              
[   43.131670] nouveau 0000:01:00.0: disp: 	0904: 00000100              
[   43.131676] nouveau 0000:01:00.0: disp: 	0910: 00000000              
[   43.131682] nouveau 0000:01:00.0: disp: 	0914: 00000000              
[   43.131684] nouveau 0000:01:00.0: disp: Core - HEAD 1:
[   43.131690] nouveau 0000:01:00.0: disp: 	0c00: 00000000              
[   43.131695] nouveau 0000:01:00.0: disp: 	0c04: 00000000              
[   43.131700] nouveau 0000:01:00.0: disp: 	0c08: 00000000              
[   43.131705] nouveau 0000:01:00.0: disp: 	0c0c: 00000000              
[   43.131710] nouveau 0000:01:00.0: disp: 	0c10: 00000000              
[   43.131715] nouveau 0000:01:00.0: disp: 	0c14: 00050008              
[   43.131719] nouveau 0000:01:00.0: disp: 	0c18: 00000001              
[   43.131724] nouveau 0000:01:00.0: disp: 	0c1c: 00010003              
[   43.131729] nouveau 0000:01:00.0: disp: 	0c20: 00030004              
[   43.131734] nouveau 0000:01:00.0: disp: 	0c24: 00000001              
[   43.131739] nouveau 0000:01:00.0: disp: 	0c28: 00000000              
[   43.131743] nouveau 0000:01:00.0: disp: 	0c2c: 00000000              
[   43.131748] nouveau 0000:01:00.0: disp: 	0c30: 00000000              
[   43.131753] nouveau 0000:01:00.0: disp: 	0c38: 00000000              
[   43.131758] nouveau 0000:01:00.0: disp: 	0c40: 00000000              
[   43.131763] nouveau 0000:01:00.0: disp: 	0c44: 00000000              
[   43.131767] nouveau 0000:01:00.0: disp: 	0c48: 00000000              
[   43.131772] nouveau 0000:01:00.0: disp: 	0c4c: 00000000              
[   43.131777] nouveau 0000:01:00.0: disp: 	0c5c: 00000000              
[   43.131782] nouveau 0000:01:00.0: disp: 	0c60: 00000000              
[   43.131787] nouveau 0000:01:00.0: disp: 	0c64: 00000000              
[   43.131792] nouveau 0000:01:00.0: disp: 	0c68: 00000000              
[   43.131796] nouveau 0000:01:00.0: disp: 	0c6c: 00000000              
[   43.131801] nouveau 0000:01:00.0: disp: 	0c70: 0000e900              
[   43.131806] nouveau 0000:01:00.0: disp: 	0c74: 00000000              
[   43.131811] nouveau 0000:01:00.0: disp: 	0c78: 00000000              
[   43.131816] nouveau 0000:01:00.0: disp: 	0c80: 20000000              
[   43.131820] nouveau 0000:01:00.0: disp: 	0c84: 00000000              
[   43.131825] nouveau 0000:01:00.0: disp: 	0c9c: 00000000              
[   43.131830] nouveau 0000:01:00.0: disp: 	0ca0: 00000000              
[   43.131835] nouveau 0000:01:00.0: disp: 	0ca4: 00000000              
[   43.131840] nouveau 0000:01:00.0: disp: 	0ca8: 00040000              
[   43.131844] nouveau 0000:01:00.0: disp: 	0cc0: 00000000              
[   43.131849] nouveau 0000:01:00.0: disp: 	0cc4: 00000000              
[   43.131854] nouveau 0000:01:00.0: disp: 	0cc8: 00000000              
[   43.131859] nouveau 0000:01:00.0: disp: 	0cd4: 00000000              
[   43.131864] nouveau 0000:01:00.0: disp: 	0cd8: 00000000              
[   43.131868] nouveau 0000:01:00.0: disp: 	0cdc: 00000000              
[   43.131873] nouveau 0000:01:00.0: disp: 	0d00: 00000300              
[   43.131878] nouveau 0000:01:00.0: disp: 	0d04: 00000100              
[   43.131883] nouveau 0000:01:00.0: disp: 	0d10: 00000000              
[   43.131888] nouveau 0000:01:00.0: disp: 	0d14: 00000000              
[   45.275603] nouveau 0000:01:00.0: drm: base-0: timeout
[   47.295207] nouveau 0000:01:00.0: drm: base-0: timeout
[   49.332717] nouveau 0000:01:00.0: drm: base-0: timeout
[   51.468374] nouveau 0000:01:00.0: drm: base-0: timeout
[   53.478009] nouveau 0000:01:00.0: drm: base-0: timeout
[   71.945952] nouveau 0000:01:00.0: drm: base-0: timeout
[  132.347533] nouveau 0000:01:00.0: drm: base-0: timeout
[  192.392525] nouveau 0000:01:00.0: drm: base-0: timeout
[  252.378905] nouveau 0000:01:00.0: drm: base-0: timeout
[  254.381116] nouveau 0000:01:00.0: drm: base-0: timeout
[  312.399467] nouveau 0000:01:00.0: drm: base-0: timeout
[  372.393470] nouveau 0000:01:00.0: drm: base-0: timeout
[  432.394605] nouveau 0000:01:00.0: drm: base-0: timeout
[  492.394034] nouveau 0000:01:00.0: drm: base-0: timeout
[  494.396255] nouveau 0000:01:00.0: drm: base-0: timeout
[  552.400593] nouveau 0000:01:00.0: drm: base-0: timeout

** Model information
sys_vendor: THIRDWAVE Diginnos CORPORATION
product_name: Diginnos PC
product_version: System Version
chassis_vendor: Chassis Manufacture
chassis_version: Chassis Version
bios_vendor: American Megatrends Inc.
bios_version: 2305
board_vendor: ASUSTeK COMPUTER INC.
board_name: B85M-E
board_version: Rev X.0x

** Configuration for modprobe:
blacklist b43
blacklist b43legacy
blacklist b44
blacklist bcma
blacklist brcm80211
blacklist brcmsmac
blacklist ssb
blacklist arkfb
blacklist aty128fb
blacklist atyfb
blacklist radeonfb
blacklist cirrusfb
blacklist cyber2000fb
blacklist kyrofb
blacklist matroxfb_base
blacklist mb862xxfb
blacklist neofb
blacklist pm2fb
blacklist pm3fb
blacklist s3fb
blacklist savagefb
blacklist sisfb
blacklist tdfxfb
blacklist tridentfb
blacklist vt8623fb
blacklist microcode
options snd_pcsp index=-2
options cx88_alsa index=-2
options snd_atiixp_modem index=-2
options snd_intel8x0m index=-2
options snd_via82xx_modem index=-2
options bonding max_bonds=0
options dummy numdummies=0
options ifb numifbs=0

** Loaded modules:
qrtr
binfmt_misc
intel_rapl_msr
intel_rapl_common
x86_pkg_temp_thermal
intel_powerclamp
coretemp
kvm_intel
snd_hda_codec_realtek
kvm
snd_hda_codec_generic
snd_hda_codec_hdmi
snd_hda_scodec_component
sg
snd_hda_intel
joydev
snd_intel_dspcfg
snd_intel_sdw_acpi
irqbypass
snd_hda_codec
crct10dif_pclmul
snd_hda_core
ghash_clmulni_intel
sha512_ssse3
snd_hwdep
sha256_ssse3
snd_pcm
sha1_ssse3
mei_wdt
snd_timer
aesni_intel
mei_hdcp
snd
gf128mul
crypto_simd
mei_pxp
soundcore
eeepc_wmi
asus_wmi
mei_me
cryptd
at24
mei
ppdev
sparse_keymap
platform_profile
battery
rapl
rfkill
wmi_bmof
intel_cstate
intel_uncore
parport_pc
pcspkr
parport
evdev
efi_pstore
configfs
nfnetlink
ip_tables
x_tables
autofs4
ext4
crc16
mbcache
jbd2
crc32c_generic
sd_mod
hid_logitech_hidpp
uas
usb_storage
scsi_mod
hid_logitech_dj
scsi_common
hid_generic
usbhid
hid
nouveau
mxm_wmi
drm_gpuvm
drm_exec
gpu_sched
i2c_algo_bit
drm_display_helper
cec
rc_core
drm_ttm_helper
r8169
ttm
iTCO_wdt
intel_pmc_bxt
drm_kms_helper
realtek
iTCO_vendor_support
xhci_pci
mdio_devres
ehci_pci
xhci_hcd
watchdog
libphy
ehci_hcd
drm
i2c_i801
usbcore
crc32_pclmul
crc32c_intel
i2c_smbus
lpc_ich
usb_common
fan
video
wmi
button

** Network interface configuration:
*** /etc/network/interfaces:

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

allow-hotplug enp2s0
iface enp2s0 inet dhcp

allow-hotplug enx02644d4e335c
iface enx02644d4e335c inet dhcp

iface enp2s0 inet6 auto

** Network status:
*** IP interfaces and addresses:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether f8:32:e4:a2:0c:3a brd ff:ff:ff:ff:ff:ff
    altname enxf832e4a20c3a
    inet 192.168.0.169/24 brd 192.168.0.255 scope global dynamic noprefixroute enp3s0
       valid_lft 85852sec preferred_lft 85852sec
    inet6 2405:6582:2ea0:803:24e8:4d05:4434:e1a5/64 scope global dynamic noprefixroute 
       valid_lft 10112sec preferred_lft 8312sec
    inet6 fe80::9e45:7a97:8b17:4901/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

*** Device statistics:
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
enp3s0:  931499    8635    0  402    0     0          0      1320   928405    7461    0    0    0     0       0          0


** PCI devices:
00:00.0 Host bridge [0600]: Intel Corporation 4th Gen Core Processor DRAM Controller [8086:0c00] (rev 06)
	Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
	Latency: 0
	Capabilities: <access denied>
	Kernel driver in use: hsw_uncore

00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller [8086:0c01] (rev 06) (prog-if 00 [Normal decode])
	Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 24
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: e000-efff [size=4K] [16-bit]
	Memory behind bridge: f6000000-f70fffff [size=17M] [32-bit]
	Prefetchable memory behind bridge: e8000000-f1ffffff [size=160M] [32-bit]
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR+ NoISA- VGA+ VGA16+ MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: <access denied>
	Kernel driver in use: pcieport

00:14.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI [8086:8c31] (rev 05) (prog-if 30 [XHCI])
	Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 27
	Region 0: Memory at f7100000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: <access denied>
	Kernel driver in use: xhci_hcd
	Kernel modules: xhci_pci

00:16.0 Communication controller [0780]: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 [8086:8c3a] (rev 04)
	Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 30
	Region 0: Memory at f711a000 (64-bit, non-prefetchable) [size=16]
	Capabilities: <access denied>
	Kernel driver in use: mei_me
	Kernel modules: mei_me

00:1a.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 [8086:8c2d] (rev 05) (prog-if 20 [EHCI])
	Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 20
	Region 0: Memory at f7117000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: <access denied>
	Kernel driver in use: ehci-pci
	Kernel modules: ehci_pci

00:1b.0 Audio device [0403]: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller [8086:8c20] (rev 05) (prog-if 00 [HDA compatible])
	Subsystem: ASUSTeK Computer Inc. Device [1043:8576]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 31
	Region 0: Memory at f7110000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel

00:1c.0 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 [8086:8c10] (rev d5) (prog-if 00 [Normal decode])
	Subsystem: ASUSTeK Computer Inc. ASUS H81I-PLUS [1043:8534]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 25
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
	I/O behind bridge: 2000-2fff [size=4K] [16-bit]
	Memory behind bridge: e0000000-e01fffff [size=2M] [32-bit]
	Prefetchable memory behind bridge: e0200000-e03fffff [size=2M] [32-bit]
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16+ MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: <access denied>
	Kernel driver in use: pcieport

00:1c.2 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 [8086:8c14] (rev d5) (prog-if 00 [Normal decode])
	Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin C routed to IRQ 26
	Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
	I/O behind bridge: d000-dfff [size=4K] [16-bit]
	Memory behind bridge: [disabled] [32-bit]
	Prefetchable memory behind bridge: f2100000-f21fffff [size=1M] [32-bit]
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16+ MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: <access denied>
	Kernel driver in use: pcieport

00:1d.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 [8086:8c26] (rev 05) (prog-if 20 [EHCI])
	Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 23
	Region 0: Memory at f7116000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: <access denied>
	Kernel driver in use: ehci-pci
	Kernel modules: ehci_pci

00:1f.0 ISA bridge [0601]: Intel Corporation B85 Express LPC Controller [8086:8c50] (rev 05)
	Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Capabilities: <access denied>
	Kernel driver in use: lpc_ich
	Kernel modules: lpc_ich

00:1f.3 SMBus [0c05]: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller [8086:8c22] (rev 05)
	Subsystem: ASUSTeK Computer Inc. Device [1043:8534]
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin C routed to IRQ 18
	Region 0: Memory at f7115000 (64-bit, non-prefetchable) [size=256]
	Region 4: I/O ports at f000 [size=32]
	Kernel driver in use: i801_smbus
	Kernel modules: i2c_i801

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108GL [Quadro 600] [10de:0df8] (rev a1) (prog-if 00 [VGA controller])
	Subsystem: NVIDIA Corporation Device [10de:0835]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 29
	Region 0: Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
	Region 1: Memory at e8000000 (64-bit, prefetchable) [size=128M]
	Region 3: Memory at f0000000 (64-bit, prefetchable) [size=32M]
	Region 5: I/O ports at e000 [size=128]
	Expansion ROM at 000c0000 [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel driver in use: nouveau
	Kernel modules: nouveau

01:00.1 Audio device [0403]: NVIDIA Corporation GF108 High Definition Audio Controller [10de:0bea] (rev a1) (prog-if 00 [HDA compatible])
	Subsystem: NVIDIA Corporation Device [10de:0835]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin B routed to IRQ 17
	Region 0: Memory at f7080000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel

03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 09)
	Subsystem: ASUSTeK Computer Inc. P8 series motherboard [1043:8505]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 18
	Region 0: I/O ports at d000 [size=256]
	Region 2: Memory at f2104000 (64-bit, prefetchable) [size=4K]
	Region 4: Memory at f2100000 (64-bit, prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: r8169
	Kernel modules: r8169


** USB devices:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 346d:5678 USB Disk 20
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 8087:8008 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 8087:8000 Intel Corp. Integrated Rate Matching Hub


-- System Information:
Debian Release: 13.6
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.12.96+deb13-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages linux-image-6.12.96+deb13-amd64 depends on:
ii  initramfs-tools [linux-initramfs-tool]  0.148.4
ii  kmod                                    34.2-2
ii  linux-base                              4.12.1

Versions of packages linux-image-6.12.96+deb13-amd64 recommends:
ii  apparmor  4.1.0-1

Versions of packages linux-image-6.12.96+deb13-amd64 suggests:
pn  debian-kernel-handbook  <none>
ii  firmware-linux-free     20241210-2
ii  grub-efi-amd64          2.12-9+deb13u2
pn  linux-doc-6.12          <none>

Versions of packages linux-image-6.12.96+deb13-amd64 is related to:
pn  firmware-amd-graphics      <none>
pn  firmware-atheros           <none>
pn  firmware-bnx2              <none>
pn  firmware-bnx2x             <none>
ii  firmware-brcm80211         20250410-2
pn  firmware-cavium            <none>
pn  firmware-cirrus            <none>
ii  firmware-intel-graphics    20250410-2
ii  firmware-intel-misc        20250410-2
pn  firmware-intel-sound       <none>
pn  firmware-ipw2x00           <none>
pn  firmware-ivtv              <none>
ii  firmware-iwlwifi           20250410-2
pn  firmware-libertas          <none>
pn  firmware-marvell-prestera  <none>
ii  firmware-mediatek          20250410-2
ii  firmware-misc-nonfree      20250410-2
pn  firmware-myricom           <none>
pn  firmware-netronome         <none>
pn  firmware-netxen            <none>
ii  firmware-nvidia-graphics   20250410-2
pn  firmware-qcom-soc          <none>
pn  firmware-qlogic            <none>
ii  firmware-realtek           20250410-2
pn  firmware-samsung           <none>
pn  firmware-siano             <none>
pn  firmware-ti-connectivity   <none>
pn  xen-hypervisor             <none>

-- no debconf information


-- The patch for this issue --

>From 28bcd74f209e3de7a3908864758861b756f41bf2 Mon Sep 17 00:00:00 2001
From: root <root@debian2>
Date: Fri, 31 Jul 2026 14:08:45 +0900
Subject: [PATCH] drm/nouveau/nv50: Fix DP SST regression on Fermi and restore
 NV50/Tesla DP bring-up

A regression was introduced in commit a5a7379f6d9d ("nv50-: split DP
disable+enable into two modesets"), causing Quadro 600 (GF108, Fermi) to
fail X startup.  Kernel 6.1.0-51 works correctly, so this is a regression.

Reverting a5a7379f6d9d restores correct behaviour on Quadro 600, but
breaks NV50/Tesla boards such as Quadro FX 1800 (G94).  On NV50/Tesla,
the DP SOR/MMIO block requires a core update during DP SST enable; without
it, the first modeset faults the MMIO block and even text mode fails to
appear.

This patch reverts the DP-SST portion of a5a7379f6d9d, and adds a one-time
core update when a DP output is first used.  This preserves the correct
behaviour on NV50/Tesla while restoring the original DP SST sequence
required by Fermi and later generations.

Tested on:
  - NV50/Tesla: Quadro FX 1800 (G94)
  - Fermi:      Quadro 600 / 2000 / 4000
  - Kepler:     Quadro K420 / K600
  - Maxwell:    Quadro K620

All tested boards now perform DP SST modeset correctly, without MMIO FAULT
or INVALID_STATE, and Quadro 600 regression is resolved.

Fixes: a5a7379f6d9d ("drm/nouveau/kms/nv50-: split DP disable+enable into two modesets")
Signed-off-by: Takashi Yano <[email protected]>
---
 drivers/gpu/drm/nouveau/dispnv50/atom.h |  1 +
 drivers/gpu/drm/nouveau/dispnv50/core.h |  1 +
 drivers/gpu/drm/nouveau/dispnv50/disp.c | 18 ++++++++++++++++--
 3 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/dispnv50/atom.h b/drivers/gpu/drm/nouveau/dispnv50/atom.h
index b43c4f9bbcdf..1bcfb2f16053 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/atom.h
+++ b/drivers/gpu/drm/nouveau/dispnv50/atom.h
@@ -12,6 +12,7 @@ struct nv50_atom {
 	struct list_head outp;
 	bool lock_core;
 	bool flush_disable;
+	bool need_update_core;
 };
 
 #define nv50_head_atom(p) container_of((p), struct nv50_head_atom, state)
diff --git a/drivers/gpu/drm/nouveau/dispnv50/core.h b/drivers/gpu/drm/nouveau/dispnv50/core.h
index f75088186fba..0dd8a50d262e 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/core.h
+++ b/drivers/gpu/drm/nouveau/dispnv50/core.h
@@ -9,6 +9,7 @@ struct nv50_core {
 	const struct nv50_core_func *func;
 	struct nv50_dmac chan;
 	bool assign_windows;
+	bool updated_for_dp;
 };
 
 int nv50_core_new(struct nouveau_drm *, struct nv50_core **);
diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c
index eed579a6c858..c6fbbf4b146f 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
@@ -2244,6 +2244,17 @@ nv50_disp_atomic_commit_tail(struct drm_atomic_state *state)
 			memset(interlock, 0x00, sizeof(interlock));
 
 			flushed = true;
+		} else if (atom->need_update_core) {
+			/* Workaround for MMIO FAULT on Quadro FX 1800 */
+			/* A part of nv50_disp_atomic_commit_core() */
+			struct nv50_disp *disp = nv50_disp(drm->dev);
+			struct nv50_core *core = disp->core;
+			core->func->ntfy_init(disp->sync, NV50_DISP_CORE_NTFY);
+			core->func->update(core, interlock, true);
+			if (core->func->ntfy_wait_done(disp->sync, NV50_DISP_CORE_NTFY,
+						disp->core->chan.base.device))
+				NV_ERROR(drm, "core notifier timeout\n");
+			core->updated_for_dp = true;
 		}
 	}
 
@@ -2517,9 +2528,12 @@ nv50_disp_outp_atomic_check_clr(struct nv50_atom *atom,
 		if (IS_ERR(outp))
 			return PTR_ERR(outp);
 
-		if (outp->encoder->encoder_type == DRM_MODE_ENCODER_DPMST ||
-		    nouveau_encoder(outp->encoder)->dcb->type == DCB_OUTPUT_DP)
+		if (outp->encoder->encoder_type == DRM_MODE_ENCODER_DPMST)
 			atom->flush_disable = true;
+		struct nv50_disp *disp = nv50_disp(outp->encoder->dev);
+		if (nouveau_encoder(outp->encoder)->dcb->type == DCB_OUTPUT_DP &&
+		    !disp->core->updated_for_dp)
+			atom->need_update_core = true;
 		outp->clr.ctrl = true;
 		atom->lock_core = true;
 	}
-- 
2.47.3

--===============2556951238765252477==
Content-Type: application/mbox
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="0001-drm-nouveau-nv50-Fix-DP-SST-regression-on-Fermi-and-.patch"

RnJvbSAyOGJjZDc0ZjIwOWUzZGU3YTM5MDg4NjQ3NTg4NjFiNzU2ZjQxYmYyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiByb290IDxyb290QGRlYmlhbjI+CkRhdGU6IEZyaSwgMzEgSnVs
IDIwMjYgMTQ6MDg6NDUgKzA5MDAKU3ViamVjdDogW1BBVENIXSBkcm0vbm91dmVhdS9udjUwOiBG
aXggRFAgU1NUIHJlZ3Jlc3Npb24gb24gRmVybWkgYW5kIHJlc3RvcmUKIE5WNTAvVGVzbGEgRFAg
YnJpbmctdXAKCkEgcmVncmVzc2lvbiB3YXMgaW50cm9kdWNlZCBpbiBjb21taXQgYTVhNzM3OWY2
ZDlkICgibnY1MC06IHNwbGl0IERQCmRpc2FibGUrZW5hYmxlIGludG8gdHdvIG1vZGVzZXRzIiks
IGNhdXNpbmcgUXVhZHJvIDYwMCAoR0YxMDgsIEZlcm1pKSB0bwpmYWlsIFggc3RhcnR1cC4gIEtl
cm5lbCA2LjEuMC01MSB3b3JrcyBjb3JyZWN0bHksIHNvIHRoaXMgaXMgYSByZWdyZXNzaW9uLgoK
UmV2ZXJ0aW5nIGE1YTczNzlmNmQ5ZCByZXN0b3JlcyBjb3JyZWN0IGJlaGF2aW91ciBvbiBRdWFk
cm8gNjAwLCBidXQKYnJlYWtzIE5WNTAvVGVzbGEgYm9hcmRzIHN1Y2ggYXMgUXVhZHJvIEZYIDE4
MDAgKEc5NCkuICBPbiBOVjUwL1Rlc2xhLAp0aGUgRFAgU09SL01NSU8gYmxvY2sgcmVxdWlyZXMg
YSBjb3JlIHVwZGF0ZSBkdXJpbmcgRFAgU1NUIGVuYWJsZTsgd2l0aG91dAppdCwgdGhlIGZpcnN0
IG1vZGVzZXQgZmF1bHRzIHRoZSBNTUlPIGJsb2NrIGFuZCBldmVuIHRleHQgbW9kZSBmYWlscyB0
bwphcHBlYXIuCgpUaGlzIHBhdGNoIHJldmVydHMgdGhlIERQLVNTVCBwb3J0aW9uIG9mIGE1YTcz
NzlmNmQ5ZCwgYW5kIGFkZHMgYSBvbmUtdGltZQpjb3JlIHVwZGF0ZSB3aGVuIGEgRFAgb3V0cHV0
IGlzIGZpcnN0IHVzZWQuICBUaGlzIHByZXNlcnZlcyB0aGUgY29ycmVjdApiZWhhdmlvdXIgb24g
TlY1MC9UZXNsYSB3aGlsZSByZXN0b3JpbmcgdGhlIG9yaWdpbmFsIERQIFNTVCBzZXF1ZW5jZQpy
ZXF1aXJlZCBieSBGZXJtaSBhbmQgbGF0ZXIgZ2VuZXJhdGlvbnMuCgpUZXN0ZWQgb246CiAgLSBO
VjUwL1Rlc2xhOiBRdWFkcm8gRlggMTgwMCAoRzk0KQogIC0gRmVybWk6ICAgICAgUXVhZHJvIDYw
MCAvIDIwMDAgLyA0MDAwCiAgLSBLZXBsZXI6ICAgICBRdWFkcm8gSzQyMCAvIEs2MDAKICAtIE1h
eHdlbGw6ICAgIFF1YWRybyBLNjIwCgpBbGwgdGVzdGVkIGJvYXJkcyBub3cgcGVyZm9ybSBEUCBT
U1QgbW9kZXNldCBjb3JyZWN0bHksIHdpdGhvdXQgTU1JTyBGQVVMVApvciBJTlZBTElEX1NUQVRF
LCBhbmQgUXVhZHJvIDYwMCByZWdyZXNzaW9uIGlzIHJlc29sdmVkLgoKRml4ZXM6IGE1YTczNzlm
NmQ5ZCAoImRybS9ub3V2ZWF1L2ttcy9udjUwLTogc3BsaXQgRFAgZGlzYWJsZStlbmFibGUgaW50
byB0d28gbW9kZXNldHMiKQpTaWduZWQtb2ZmLWJ5OiBUYWthc2hpIFlhbm8gPHRha2FzaGkueWFu
b0BuaWZ0eS5uZS5qcD4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9hdG9t
LmggfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9jb3JlLmggfCAgMSAr
CiBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9kaXNwLmMgfCAxOCArKysrKysrKysr
KysrKysrLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo
LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9hdG9tLmgg
Yi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9hdG9tLmgKaW5kZXggYjQzYzRmOWJi
Y2RmLi4xYmNmYjJmMTYwNTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rp
c3BudjUwL2F0b20uaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9hdG9t
LmgKQEAgLTEyLDYgKzEyLDcgQEAgc3RydWN0IG52NTBfYXRvbSB7CiAJc3RydWN0IGxpc3RfaGVh
ZCBvdXRwOwogCWJvb2wgbG9ja19jb3JlOwogCWJvb2wgZmx1c2hfZGlzYWJsZTsKKwlib29sIG5l
ZWRfdXBkYXRlX2NvcmU7CiB9OwogCiAjZGVmaW5lIG52NTBfaGVhZF9hdG9tKHApIGNvbnRhaW5l
cl9vZigocCksIHN0cnVjdCBudjUwX2hlYWRfYXRvbSwgc3RhdGUpCmRpZmYgLS1naXQgYS9kcml2
ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9jb3JlLmggYi9kcml2ZXJzL2dwdS9kcm0vbm91
dmVhdS9kaXNwbnY1MC9jb3JlLmgKaW5kZXggZjc1MDg4MTg2ZmJhLi4wZGQ4YTUwZDI2MmUgMTAw
NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2NvcmUuaAorKysgYi9k
cml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9jb3JlLmgKQEAgLTksNiArOSw3IEBAIHN0
cnVjdCBudjUwX2NvcmUgewogCWNvbnN0IHN0cnVjdCBudjUwX2NvcmVfZnVuYyAqZnVuYzsKIAlz
dHJ1Y3QgbnY1MF9kbWFjIGNoYW47CiAJYm9vbCBhc3NpZ25fd2luZG93czsKKwlib29sIHVwZGF0
ZWRfZm9yX2RwOwogfTsKIAogaW50IG52NTBfY29yZV9uZXcoc3RydWN0IG5vdXZlYXVfZHJtICos
IHN0cnVjdCBudjUwX2NvcmUgKiopOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZl
YXUvZGlzcG52NTAvZGlzcC5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvZGlz
cC5jCmluZGV4IGVlZDU3OWE2Yzg1OC4uYzZmYmJmNGIxNDZmIDEwMDY0NAotLS0gYS9kcml2ZXJz
L2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9kaXNwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25v
dXZlYXUvZGlzcG52NTAvZGlzcC5jCkBAIC0yMjQ0LDYgKzIyNDQsMTcgQEAgbnY1MF9kaXNwX2F0
b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJCQltZW1z
ZXQoaW50ZXJsb2NrLCAweDAwLCBzaXplb2YoaW50ZXJsb2NrKSk7CiAKIAkJCWZsdXNoZWQgPSB0
cnVlOworCQl9IGVsc2UgaWYgKGF0b20tPm5lZWRfdXBkYXRlX2NvcmUpIHsKKwkJCS8qIFdvcmth
cm91bmQgZm9yIE1NSU8gRkFVTFQgb24gUXVhZHJvIEZYIDE4MDAgKi8KKwkJCS8qIEEgcGFydCBv
ZiBudjUwX2Rpc3BfYXRvbWljX2NvbW1pdF9jb3JlKCkgKi8KKwkJCXN0cnVjdCBudjUwX2Rpc3Ag
KmRpc3AgPSBudjUwX2Rpc3AoZHJtLT5kZXYpOworCQkJc3RydWN0IG52NTBfY29yZSAqY29yZSA9
IGRpc3AtPmNvcmU7CisJCQljb3JlLT5mdW5jLT5udGZ5X2luaXQoZGlzcC0+c3luYywgTlY1MF9E
SVNQX0NPUkVfTlRGWSk7CisJCQljb3JlLT5mdW5jLT51cGRhdGUoY29yZSwgaW50ZXJsb2NrLCB0
cnVlKTsKKwkJCWlmIChjb3JlLT5mdW5jLT5udGZ5X3dhaXRfZG9uZShkaXNwLT5zeW5jLCBOVjUw
X0RJU1BfQ09SRV9OVEZZLAorCQkJCQkJZGlzcC0+Y29yZS0+Y2hhbi5iYXNlLmRldmljZSkpCisJ
CQkJTlZfRVJST1IoZHJtLCAiY29yZSBub3RpZmllciB0aW1lb3V0XG4iKTsKKwkJCWNvcmUtPnVw
ZGF0ZWRfZm9yX2RwID0gdHJ1ZTsKIAkJfQogCX0KIApAQCAtMjUxNyw5ICsyNTI4LDEyIEBAIG52
NTBfZGlzcF9vdXRwX2F0b21pY19jaGVja19jbHIoc3RydWN0IG52NTBfYXRvbSAqYXRvbSwKIAkJ
aWYgKElTX0VSUihvdXRwKSkKIAkJCXJldHVybiBQVFJfRVJSKG91dHApOwogCi0JCWlmIChvdXRw
LT5lbmNvZGVyLT5lbmNvZGVyX3R5cGUgPT0gRFJNX01PREVfRU5DT0RFUl9EUE1TVCB8fAotCQkg
ICAgbm91dmVhdV9lbmNvZGVyKG91dHAtPmVuY29kZXIpLT5kY2ItPnR5cGUgPT0gRENCX09VVFBV
VF9EUCkKKwkJaWYgKG91dHAtPmVuY29kZXItPmVuY29kZXJfdHlwZSA9PSBEUk1fTU9ERV9FTkNP
REVSX0RQTVNUKQogCQkJYXRvbS0+Zmx1c2hfZGlzYWJsZSA9IHRydWU7CisJCXN0cnVjdCBudjUw
X2Rpc3AgKmRpc3AgPSBudjUwX2Rpc3Aob3V0cC0+ZW5jb2Rlci0+ZGV2KTsKKwkJaWYgKG5vdXZl
YXVfZW5jb2RlcihvdXRwLT5lbmNvZGVyKS0+ZGNiLT50eXBlID09IERDQl9PVVRQVVRfRFAgJiYK
KwkJICAgICFkaXNwLT5jb3JlLT51cGRhdGVkX2Zvcl9kcCkKKwkJCWF0b20tPm5lZWRfdXBkYXRl
X2NvcmUgPSB0cnVlOwogCQlvdXRwLT5jbHIuY3RybCA9IHRydWU7CiAJCWF0b20tPmxvY2tfY29y
ZSA9IHRydWU7CiAJfQotLSAKMi40Ny4zCgo=

--===============2556951238765252477==--