Nvidia Linux driver hangs with EQ overflow continuing while hotplugging second monitor with 2560x108

I have Lenovo Y500 laptop with Nvidia Geforce 650M and external monitor AOC 29" Q2963PM
It’s perfectly connected and works well at native resolution of 2560x1080 if plugged before X start. Only the thing I need to do is to add “ModeValidation” “HDMI-0:NoMaxPClkCheck” option since driver complains that pixel clock is more than maximum supported by device.
My problem is X just hangs with a tons of errors in the log , if I’m trying to connect at 2560x1080 resolution after X already was started. Here is a testcase I’m running:

  1. Add option Option “ModeValidation” “HDMI-0:NoMaxPClkCheck” to the device settings , since driver complains about maximum pixel clock
  2. Start KDM and then KDE via systemd service: systemctl start kdm . Wait until kde started.
  3. Connect monitor
  4. Run Xranr command to activate monitor: xranr --output HDMI-0 --mode 2560x1080 (or let kde automaticallly plug it)
    -> Expected result: monitor will be connected and behave the same way as for coldplug connect before X
    -> Actual behavior : X just hangs. Only the way to restart is ctrl-alt-sys-rq . Also xorg log contain a lot of errors like EQ overflow continuing. 200 events have been dropped.

I could state that hotplugging works well if I’m using 1920x1080 resolution. Problem just happens with 2560x1080.
If I’m removing NoMaxPClkCheck xrandr does not allow me to add 2560x1080 mode then and fails with Bad attribute error then.

My System Is:
Gentoo 64 bit 3.16 kernel
Nvidia Drivers 343.13
xorg server 1.16.0

These are logs collected with ModeDebug=True:

  1. Xorg log when monitor hotplugged after X with a lot of errors http://bit.ly/1r4vK7u
  2. Xorg log when monitor cold plugged before X start. it’s successfull: http://bit.ly/1A6HcAg
  3. Link to nvidia-bug-report.log.gz: http://bit.ly/1pKlEVo
  4. There is a link to my xorg.conf.d parts: http://bit.ly/1uESd8S

Here is one more log http://bit.ly/1q5Vr13 while hotplugging monitor without NoMaxPClkCheck option:
[ 1665.622] (–) NVIDIA(0): DFP-1: Internal TMDS
[ 1665.622] (–) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 1665.622] (–) NVIDIA(GPU-0): — EDID for DFP-1 —
[ 1665.622] (–) NVIDIA(GPU-0): No EDID Available.
[ 1665.622] (–) NVIDIA(GPU-0): — End of EDID for DFP-1 —

And this is a snip from the log but during coldplugging:
[ 9383.369] (–) NVIDIA(0): AOC 2963 (DFP-1): Internal TMDS
[ 9383.369] (–) NVIDIA(0): DPY-EDID-51024f75-67d6-8d46-78da-6e5da61da72e
[ 9383.369] (–) NVIDIA(GPU-0): AOC 2963 (DFP-1): 340.0 MHz maximum pixel clock

It’s visible that while hotplugging nvidia driver does not read EDID for DFP-1(HDMI-0)
And it looks like a key problem to me
Due to that it just sets default pixel clock to 165.
Why such situation happens and EDID is not being read as needed?

It’s an actually bug.
Nvidia confirmed it in following ticket:
Will wait for fix.