drm/i915: don't reference null pointer at i915_sink_crc
Reproducible by runtime suspending a Haswell machine with eDP + HDMI
outputs connected.
[ 209.600086] [drm:i915_runtime_suspend], Suspending device
[ 209.688435] BUG: unable to handle kernel NULL pointer dereference at
0000000000000060
[ 209.688500] IP: [<
ffffffffa0109d4e>] i915_sink_crc+0x6e/0xf0 [i915]
[ 209.688577] PGD
36aba067 PUD
35d7f067 PMD 0
[ 209.688613] Oops: 0000 [#1] SMP
[ 209.688641] Modules linked in: fuse ip6table_filter ip6_tables ebtable_nat ebtables iTCO_wdt iTCO_vendor_support x86_pkg_temp_thermal coretemp microcode serio_raw e1000e pcspkr i2c_i801 ptp mei_me mei lpc_ich mfd_core pps_core dm_crypt i915 i2c_algo_bit crc32_pclmul drm_kms_helper crc32c_intel drm ghash_clmulni_intel video
[ 209.688893] CPU: 1 PID: 1797 Comm: pm_pc8 Not tainted 3.13.0+ #118
[ 209.688937] Hardware name: Intel Corporation Shark Bay Client platform/WhiteTip Mountain 1, BIOS HSWLPTU1.86C.0133.R00.
1309172123 09/17/2013
[ 209.689023] task:
ffff88007fb4b690 ti:
ffff88007d9d2000 task.ti:
ffff88007d9d2000
[ 209.689074] RIP: 0010:[<
ffffffffa0109d4e>] [<
ffffffffa0109d4e>] i915_sink_crc+0x6e/0xf0 [i915]
[ 209.689169] RSP: 0018:
ffff88007d9d3e68 EFLAGS:
00010246
[ 209.689205] RAX:
0000000000000000 RBX:
ffff880036a03478 RCX:
ffff8800366c9770
[ 209.689252] RDX:
ffff88014325cf38 RSI:
ffff88007fb4bd08 RDI:
ffff88007fb4b690
[ 209.689299] RBP:
ffff88007d9d3e98 R08:
0000000000000000 R09:
0000000000000000
[ 209.689346] R10:
0000000000000001 R11:
0000000000000000 R12:
ffff8800366c9148
[ 209.689393] R13:
00000000ffffffed R14:
ffff88007d9d3f50 R15:
ffff880036a03478
[ 209.689441] FS:
00007f5a74bc29c0(0000) GS:
ffff88014f240000(0000) knlGS:
0000000000000000
[ 209.689494] CS: 0010 DS: 0000 ES: 0000 CR0:
0000000080050033
[ 209.689533] CR2:
0000000000000060 CR3:
0000000079d7e000 CR4:
00000000001407e0
[ 209.689580] Stack:
[ 209.689594]
0000000000001000 ffff880146083980 ffff880146083980 0000000000000000
[ 209.689649]
ffff880146083980 0000000000000001 ffff88007d9d3f00 ffffffff811d0744
[ 209.689702]
0000000000000046 00007fff7949fe20 ffff880036a034b8 0000000000000080
[ 209.689756] Call Trace:
[ 209.689778] [<
ffffffff811d0744>] seq_read+0x164/0x3e0
[ 209.689816] [<
ffffffff811ab165>] vfs_read+0x95/0x160
[ 209.689851] [<
ffffffff811abc79>] SyS_read+0x49/0xa0
[ 209.689888] [<
ffffffff810ef64c>] ? __audit_syscall_entry+0x9c/0xf0
[ 209.689933] [<
ffffffff81659412>] system_call_fastpath+0x16/0x1b
Testcase: igt/pm_pc8 (do a full run, it will fail at the debugfs-read subtest)
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
[danvet: Flip around NULL check for robustness.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>