From mboxrd@z Thu Jan 1 00:00:00 1970 From: Inki Dae Subject: Re: [PATCH] drm/exynos: Fix NULL pointer exception when suspending without components Date: Tue, 01 Jul 2014 17:39:02 +0900 Message-ID: <53B273A6.1010808@samsung.com> References: <1404134744-15852-1-git-send-email-k.kozlowski@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-reply-to: <1404134744-15852-1-git-send-email-k.kozlowski@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Krzysztof Kozlowski Cc: Kukjin Kim , Bartlomiej Zolnierkiewicz , Seung-Woo Kim , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Andrzej Hajda , Kyungmin Park , linux-samsung-soc@vger.kernel.org, stable@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Marek Szyprowski List-Id: linux-samsung-soc@vger.kernel.org T24gMjAxNOuFhCAwNuyblCAzMOydvCAyMjoyNSwgS3J6eXN6dG9mIEtvemxvd3NraSB3cm90ZToK PiBGaXggYSBOVUxMIHBvaW50ZXIgZXhjZXB0aW9uIHdoZW4gbWFpbiBleHlub3MgZHJtIGRyaXZl ciB3YXMgcHJvYmVkCj4gc3VjY2Vzc2Z1bGx5IGJ1dCBubyBjb21wb25lbnRzIHdlcmUgYWRkZWQg KGUuZy4gYnkgaW5jb21wbGV0ZSBEVFMpLiBJbgo+IHN1Y2ggY2FzZSB0aGUgZXh5bm9zX2RybV9s b2FkKCkgaXMgbmV2ZXIgY2FsbGVkIGFuZCBkcnZkYXRhIGlzIE5VTEwuCj4gCgpSaWdodCwgaXQn cyBnb29kIHJlcG9ydC4gQXBwbGllZC4KClRoYW5rcywKSW5raSBEYWUKCgo+IFRoZSBOVUxMIHBv aW50ZXIgZXhjZXB0aW9uIG1heSB0aGVvcmV0aWNhbGx5IGFsc28gaGFwcGVuIGFzIGEgZWZmZWN0 IG9mIHJhY2UgYmV0d2Vlbgo+IGFkZGluZyBjb21wb25lbnRzIGFuZCBtYWluIGRyaXZlcjogaWYg c3VzcGVuZCBvZiB0aGUgZHJpdmVyIGhhcHBlbnMKPiBiZWZvcmUgYWRkaW5nIGNvbXBvbmVudHMu Cj4gCj4gVHJhY2U6Cj4gWyAgICAxLjE5MDI5NV0gW2RybV0gSW5pdGlhbGl6ZWQgZHJtIDEuMS4w IDIwMDYwODEwCj4gWyAgICAxLjE5NTIwOV0gZXh5bm9zLWRybS1pcHAgZXh5bm9zLWRybS1pcHA6 IGRybSBpcHAgcmVnaXN0ZXJlZCBzdWNjZXNzZnVsbHkuCj4gKC4uLikKPiBbICAgMjQuMDAxNzQz XSBQTTogU3luY2luZyBmaWxlc3lzdGVtcyAuLi4gZG9uZS4KPiBbICAgMjQuMDAyMTc3XSBGcmVl emluZyB1c2VyIHNwYWNlIHByb2Nlc3NlcyAuLi4gKGVsYXBzZWQgMC4wMDAgc2Vjb25kcykgZG9u ZS4KPiBbICAgMjQuMDA3NDAzXSBGcmVlemluZyByZW1haW5pbmcgZnJlZXphYmxlIHRhc2tzIC4u LiAoZWxhcHNlZCAwLjAwMSBzZWNvbmRzKSBkb25lLgo+IFsgICAyNC4wMzI1NTldIFVuYWJsZSB0 byBoYW5kbGUga2VybmVsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBhdCB2aXJ0dWFsIGFkZHJl c3MgMDAwMDAxMzQKPiBbICAgMjQuMDM1MDA3XSBwZ2QgPSBkZWRkODAwMAo+IFsgICAyNC4wMzc3 MzRdIFswMDAwMDEzNF0gKnBnZD01ZWUxMzgzMSwgKnB0ZT0wMDAwMDAwMCwgKnBwdGU9MDAwMDAw MDAKPiBbICAgMjQuMDQzOTUzXSBJbnRlcm5hbCBlcnJvcjogT29wczogMTcgWyMxXSBQUkVFTVBU IFNNUCBBUk0KPiBbICAgMjQuMDQ5MzI5XSBNb2R1bGVzIGxpbmtlZCBpbjoKPiBbICAgMjQuMDUy MzcxXSBDUFU6IDAgUElEOiAxIENvbW06IHNoIE5vdCB0YWludGVkIDMuMTYuMC1yYzMtMDAwMzUt Z2ViYTIwYmJkZGUwNC1kaXJ0eSAjNTEKPiBbICAgMjQuMDYwMzU0XSB0YXNrOiBkZjQ3ODAwMCB0 aTogZGY0ODAwMDAgdGFzay50aTogZGY0ODAwMDAKPiBbICAgMjQuMDY1NzQzXSBQQyBpcyBhdCBt dXRleF9sb2NrKzB4MTAvMHg1MAo+IFsgICAyNC4wNjk3MzNdIExSIGlzIGF0IGRybV9tb2Rlc2V0 X2xvY2tfYWxsKzB4MzAvMHhiYwo+IFsgICAyNC4wNzQ1OTBdIHBjIDogWzxjMDQ4NTE2Yz5dICAg IGxyIDogWzxjMDJhMTRiND5dICAgIHBzcjogYTAwMDAwMTMKPiBbICAgMjQuMDc0NTkwXSBzcCA6 IGRmNDgxZGI4ICBpcCA6IDAwMDAwMDAwICBmcCA6IGMwNWU1MjRjCj4gWyAgIDI0LjA4NjA0NV0g cjEwOiAwMDAwMDAwMiAgcjkgOiBjMDJjMWZlNCAgcjggOiBkZWNhNWU0NAo+IFsgICAyNC4wOTEy NTNdIHI3IDogMDAwMDAwMDAgIHI2IDogMDAwMDAwMDAgIHI1IDogMDAwMDAxNGMgIHI0IDogMDAw MDAxMzQKPiBbICAgMjQuMDk3NzYzXSByMyA6IDAwMDAwMDAwICByMiA6IDAwMDAwMDAwICByMSA6 IDAwMDAwMDAwICByMCA6IDAwMDAwMTM0Cj4gWyAgIDI0LjEwNDI3NV0gRmxhZ3M6IE56Q3YgIElS UXMgb24gIEZJUXMgb24gIE1vZGUgU1ZDXzMyICBJU0EgQVJNICBTZWdtZW50IHVzZXIKPiBbICAg MjQuMTExMzkxXSBDb250cm9sOiAxMGM1M2M3ZCAgVGFibGU6IDVlZGQ4MDZhICBEQUM6IDAwMDAw MDE1Cj4gWyAgIDI0LjExNzEyMF0gUHJvY2VzcyBzaCAocGlkOiAxLCBzdGFjayBsaW1pdCA9IDB4 ZGY0ODAyNDApCj4gWyAgIDI0LjEyMjUwMl0gU3RhY2s6ICgweGRmNDgxZGI4IHRvIDB4ZGY0ODIw MDApCj4gWyAgIDI0LjEyNjg0M10gMWRhMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGVlMDFkODAgYzAyYTE0YjQKPiBbICAgMjQuMTM1MDA0 XSAxZGMwOiAwMDAwMDAwMCAwMDAwMDAwMCBjMDdhZmY5OCBjMDJhZWM3YyAwMDAwMDAwMiAwMDAw MDAwMCAwMDAwMDAwMCBjMDdhZmY5OAo+IFsgICAyNC4xNDMxNjRdIDFkZTA6IGRlY2E1ZTEwIGMw MmFlY2Y0IGMwMmFlY2Q0IGMwMmMyMDEwIDAwMDAwMDAwIGMwMmM5NDcwIDAwMDAwMDAwIDAwMDAw MDAwCj4gWyAgIDI0LjE1MTMyMl0gMWUwMDogMDAwMDAwMDAgMDAwMDAwMDAgZGVjYTVlMTAgZGVj YTVlMTAgMDAwMDAwMDAgYzA3YWZmOTggMDAwMDAwMDIgZGVjYTVlNDQKPiBbICAgMjQuMTU5NDgy XSAxZTIwOiBjMDZkOGY3OCBjMDZmYjgwMCBkZWNhNWU3OCBjMDJjYTY2MCBkZjdiYWYwMCAwMDdi MGFhMCBkZWNhNWUxMCBjMDZmYjdjOAo+IFsgICAyNC4xNjc2NDFdIDFlNDA6IGMwN2FmZjk4IDAw MDAwMDAwIDAwMDAwMDAyIGMwMmNiZTE4IDk3NTdhZWM1IDAwMDAwMDA1IDk3NTdhZWM1IDAwMDAw MDA1Cj4gWyAgIDI0LjE3NTgwMV0gMWU2MDogZGVkMWQzODAgMDAwMDAwMDMgMDAwMDAwMDMgYzA1 Yzc0ZDggZGVkMWQzODAgYzA3MjA5ZDQgYzA1Yzc1MTQgYzA3MTA1ZDgKPiBbICAgMjQuMTgzOTYw XSAxZTgwOiAwMWUyYTczOCBjMDA2OGE3NCAwMDAwMDAwMCBjMDVjNzUxNCBkZWQxZDM4MCBjMDcx YzZlMCAwMDAwMDAwNCBjMDcxMDVkOAo+IFsgICAyNC4xOTIxMTldIDFlYTA6IDAxZTJhNzM4IGMw NDdmMWUwIGMwNjAwY2MwIGRmNDgxZWM0IDAwMDAwMDAzIDAwMDAwMDAwIDAwMDAwMDAzIGMwNWM3 NGQ4Cj4gWyAgIDI0LjIwMDI3OF0gMWVjMDogZGVkMWQzODAgYzA3MWM2ZTAgYzA1Yzc1MTQgYzA3 MTA1ZDggMDFlMmE3MzggYzAwNjk0NDQgYzA2ZDkwNWMgMDAwMDAwMDMKPiBbICAgMjQuMjA4NDM4 XSAxZWUwOiAwMDAwMDAwMyBkZWQxZDM4MCBjMDZkOTA2NCAwMDAwMDAwNCBjMDVjM2ZjMCBjMDA2 N2Q0YyBkZjUzNWFiMCBkZWQxZDM4MAo+IFsgICAyNC4yMTY1OTZdIDFmMDA6IGRmNDgxZjgwIGRl ZDFkMzgwIDAwMDAwMDA0IGRlZDFkMWNjIGRlZDFkMWMwIGMwMjIxNzI0IDAwMDAwMDA0IGMwMTZj YTZjCj4gWyAgIDI0LjIyNDc1Nl0gMWYyMDogYzAxNmNhMjggMDAwMDAwMDAgMDAwMDAwMDAgYzAx NmMxZDQgMDAwMDAwMDAgMDAwMDAwMDAgYjZmMzcwMDAgZGY0ODFmODAKPiBbICAgMjQuMjMyOTE1 XSAxZjQwOiBkZWNlZGQ4MCAwMDAwMDAwNCBkZjQ4MDAwMCBkZjQ4MDAwMCBiNmYzNzAwMCBjMDEx MDkyMCBkZjQ3ODM5YyA2MDAwMDAxMwo+IFsgICAyNC4yNDEwNzRdIDFmNjA6IDAwMDAwMDAwIDAw MDAwMDAwIGRlY2VkZDgwIGRlY2VkZDgwIDAwMDAwMDA0IGRmNDgwMDAwIGI2ZjM3MDAwIGMwMTEw ZGE4Cj4gWyAgIDI0LjI0OTIzM10gMWY4MDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDQgYjZl ZGY1ZDggMDAwMDAwMDQgYjZmMzcwMDAgMDAwMDAwMDQgYzAwMGYyYTgKPiBbICAgMjQuMjU3Mzkz XSAxZmEwOiAwMDAwMTAwMCBjMDAwZjBlMCBiNmVkZjVkOCAwMDAwMDAwNCAwMDAwMDAwMSBiNmYz NzAwMCAwMDAwMDAwNCAwMDAwMDAwMAo+IFsgICAyNC4yNjU1NTFdIDFmYzA6IGI2ZWRmNWQ4IDAw MDAwMDA0IGI2ZjM3MDAwIDAwMDAwMDA0IDAwMDAwMDA0IDAwMDAwMDAxIDAwMDAwMDAwIDAxZTJh NzM4Cj4gWyAgIDI0LjI3MzcxMV0gMWZlMDogMDAwMDAwMDAgYmViYTBhMjAgYjZlMWY0ZjAgYjZl NzAyMmMgNjAwMDAwMTAgMDAwMDAwMDEgZmZmZmZmZmYgZmZmZmZmZmYKPiBbICAgMjQuMjgxODg1 XSBbPGMwNDg1MTZjPl0gKG11dGV4X2xvY2spIGZyb20gWzxjMDJhMTRiND5dIChkcm1fbW9kZXNl dF9sb2NrX2FsbCsweDMwLzB4YmMpCj4gWyAgIDI0LjI4OTk1MF0gWzxjMDJhMTRiND5dIChkcm1f bW9kZXNldF9sb2NrX2FsbCkgZnJvbSBbPGMwMmFlYzdjPl0gKGV4eW5vc19kcm1fc3VzcGVuZCsw eGMvMHg2NCkKPiBbICAgMjQuMjk4NjI3XSBbPGMwMmFlYzdjPl0gKGV4eW5vc19kcm1fc3VzcGVu ZCkgZnJvbSBbPGMwMmFlY2Y0Pl0gKGV4eW5vc19kcm1fc3lzX3N1c3BlbmQrMHgyMC8weDM0KQo+ IFsgICAyNC4zMDc1NjhdIFs8YzAyYWVjZjQ+XSAoZXh5bm9zX2RybV9zeXNfc3VzcGVuZCkgZnJv bSBbPGMwMmMyMDEwPl0gKHBsYXRmb3JtX3BtX3N1c3BlbmQrMHgyYy8weDU0KQo+IFsgICAyNC4z MTY1OTddIFs8YzAyYzIwMTA+XSAocGxhdGZvcm1fcG1fc3VzcGVuZCkgZnJvbSBbPGMwMmM5NDcw Pl0gKGRwbV9ydW5fY2FsbGJhY2srMHg0OC8weDE3MCkKPiBbICAgMjQuMzI1MTg4XSBbPGMwMmM5 NDcwPl0gKGRwbV9ydW5fY2FsbGJhY2spIGZyb20gWzxjMDJjYTY2MD5dIChfX2RldmljZV9zdXNw ZW5kKzB4MTI4LzB4MzljKQo+IFsgICAyNC4zMzM2MDZdIFs8YzAyY2E2NjA+XSAoX19kZXZpY2Vf c3VzcGVuZCkgZnJvbSBbPGMwMmNiZTE4Pl0gKGRwbV9zdXNwZW5kKzB4NWMvMHgzMTQpCj4gWyAg IDI0LjM0MTUwNl0gWzxjMDJjYmUxOD5dIChkcG1fc3VzcGVuZCkgZnJvbSBbPGMwMDY4YTc0Pl0g KHN1c3BlbmRfZGV2aWNlc19hbmRfZW50ZXIrMHg4Yy8weDU5OCkKPiBbICAgMjQuMzUwMTg1XSBb PGMwMDY4YTc0Pl0gKHN1c3BlbmRfZGV2aWNlc19hbmRfZW50ZXIpIGZyb20gWzxjMDA2OTQ0ND5d IChwbV9zdXNwZW5kKzB4NGM0LzB4NWQwKQo+IFsgICAyNC4zNTg4NjJdIFs8YzAwNjk0NDQ+XSAo cG1fc3VzcGVuZCkgZnJvbSBbPGMwMDY3ZDRjPl0gKHN0YXRlX3N0b3JlKzB4NzAvMHhkNCkKPiBb ICAgMjQuMzY2MTU2XSBbPGMwMDY3ZDRjPl0gKHN0YXRlX3N0b3JlKSBmcm9tIFs8YzAyMjE3MjQ+ XSAoa29ial9hdHRyX3N0b3JlKzB4MTQvMHgyMCkKPiBbICAgMjQuMzczODg1XSBbPGMwMjIxNzI0 Pl0gKGtvYmpfYXR0cl9zdG9yZSkgZnJvbSBbPGMwMTZjYTZjPl0gKHN5c2ZzX2tmX3dyaXRlKzB4 NDQvMHg0OCkKPiBbICAgMjQuMzgxODY3XSBbPGMwMTZjYTZjPl0gKHN5c2ZzX2tmX3dyaXRlKSBm cm9tIFs8YzAxNmMxZDQ+XSAoa2VybmZzX2ZvcF93cml0ZSsweGMwLzB4MTdjKQo+IFsgICAyNC4z OTAwMjddIFs8YzAxNmMxZDQ+XSAoa2VybmZzX2ZvcF93cml0ZSkgZnJvbSBbPGMwMTEwOTIwPl0g KHZmc193cml0ZSsweGEwLzB4MWM0KQo+IFsgICAyNC4zOTc3NTBdIFs8YzAxMTA5MjA+XSAodmZz X3dyaXRlKSBmcm9tIFs8YzAxMTBkYTg+XSAoU3lTX3dyaXRlKzB4NDAvMHg4YykKPiBbICAgMjQu NDA0NzgyXSBbPGMwMTEwZGE4Pl0gKFN5U193cml0ZSkgZnJvbSBbPGMwMDBmMGUwPl0gKHJldF9m YXN0X3N5c2NhbGwrMHgwLzB4M2MpCj4gWyAgIDI0LjQxMjMzMl0gQ29kZTogZTkyZDQwMTAgZTFh MDQwMDAgZjU3ZmYwNWIgZjU5MGYwMDAgKGUxOTAzZjlmKQo+IFsgICAyNC40MTg0NDhdIC0tLVsg ZW5kIHRyYWNlIGNmYTA2NjkwZWFiZThkZDUgXS0tLQo+IFsgICAyNC40MjMwMzJdIEtlcm5lbCBw YW5pYyAtIG5vdCBzeW5jaW5nOiBGYXRhbCBleGNlcHRpb24KPiBbICAgMjQuNDI4MjIwXSBDUFUx OiBzdG9wcGluZwo+IFsgICAyNC40MzA5MDVdIENQVTogMSBQSUQ6IDAgQ29tbTogc3dhcHBlci8x IFRhaW50ZWQ6IEcgICAgICBEICAgICAgIDMuMTYuMC1yYzMtMDAwMzUtZ2ViYTIwYmJkZGUwNC1k aXJ0eSAjNTEKPiBbICAgMjQuNDQwNTQ5XSBbPGMwMDE2NDQwPl0gKHVud2luZF9iYWNrdHJhY2Up IGZyb20gWzxjMDAxMjk0Yz5dIChzaG93X3N0YWNrKzB4MTAvMHgxNCkKPiBbICAgMjQuNDQ4MjY5 XSBbPGMwMDEyOTRjPl0gKHNob3dfc3RhY2spIGZyb20gWzxjMDQ4MTFlOD5dIChkdW1wX3N0YWNr KzB4ODAvMHhjYykKPiBbICAgMjQuNDU1NDcyXSBbPGMwNDgxMWU4Pl0gKGR1bXBfc3RhY2spIGZy b20gWzxjMDAxNDk1Yz5dIChoYW5kbGVfSVBJKzB4MTMwLzB4MTVjKQo+IFsgICAyNC40NjI4NTBd IFs8YzAwMTQ5NWM+XSAoaGFuZGxlX0lQSSkgZnJvbSBbPGMwMDA4NjJjPl0gKGdpY19oYW5kbGVf aXJxKzB4NjAvMHg2OCkKPiBbICAgMjQuNDcwNDAwXSBbPGMwMDA4NjJjPl0gKGdpY19oYW5kbGVf aXJxKSBmcm9tIFs8YzAwMTM0NDA+XSAoX19pcnFfc3ZjKzB4NDAvMHg3MCkKPiBbICAgMjQuNDc3 ODYwXSBFeGNlcHRpb24gc3RhY2soMHhkZjRiZGY4OCB0byAweGRmNGJkZmQwKQo+IFsgICAyNC40 ODI4OThdIGRmODA6ICAgICAgICAgICAgICAgICAgIGZmZmZmZmVkIDAwMDAwMDAwIDAwMDAwMDAw IDAwMDAwMDAwIGRmNGJjMDAwIGMwNmQwNDJjCj4gWyAgIDI0LjQ5MTA1OF0gZGZhMDogMDAwMDAw MDAgZmZmZmZmZWQgYzA2ZDAzYzAgMDAwMDAwMDAgYzA3MGMyODggMDAwMDAwMDAgMDAwMDAwMDAg ZGY0YmRmZDAKPiBbICAgMjQuNDk5MjE0XSBkZmMwOiBjMDAxMDMyNCBjMDAxMDMyOCA2MDAwMDAx MyBmZmZmZmZmZgo+IFsgICAyNC41MDQyNTRdIFs8YzAwMTM0NDA+XSAoX19pcnFfc3ZjKSBmcm9t IFs8YzAwMTAzMjg+XSAoYXJjaF9jcHVfaWRsZSsweDI4LzB4MzApCj4gWyAgIDI0LjUxMTYzNF0g WzxjMDAxMDMyOD5dIChhcmNoX2NwdV9pZGxlKSBmcm9tIFs8YzAwNWYxMTA+XSAoY3B1X3N0YXJ0 dXBfZW50cnkrMHgyYzQvMHgzZjApCj4gWyAgIDI0LjUxOTg3OF0gWzxjMDA1ZjExMD5dIChjcHVf c3RhcnR1cF9lbnRyeSkgZnJvbSBbPDQwMDA4NmM0Pl0gKDB4NDAwMDg2YzQpCj4gWyAgIDI0LjUy NjgyMV0gLS0tWyBlbmQgS2VybmVsIHBhbmljIC0gbm90IHN5bmNpbmc6IEZhdGFsIGV4Y2VwdGlv bgo+IAo+IFNpZ25lZC1vZmYtYnk6IEtyenlzenRvZiBLb3psb3dza2kgPGsua296bG93c2tpQHNh bXN1bmcuY29tPgo+IENjOiBBbmRyemVqIEhhamRhIDxhLmhhamRhQHNhbXN1bmcuY29tPgo+IENj OiBJbmtpIERhZSA8aW5raS5kYWVAc2Ftc3VuZy5jb20+Cj4gRml4ZXM6IGFmNjVjODA0ODc3MCAo ImRybS9leHlub3M6IENvbnNvbGlkYXRlIHN1c3BlbmQvcmVzdW1lIGluIGRybV9kcnYiKQo+IENj OiA8c3RhYmxlQHZnZXIua2VybmVsLm9yZz4KPiAKPiAtLS0KPiBQcm9iYWJseSBvdGhlciBEUk0g ZHJpdmVycyBtYXkgYmUgYWxzbyBhZmZlY3RlZCBieSB0aGlzIGlzc3VlIChlLmcuCj4gbXNtKS4K PiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Rydi5jIHwgNCArKy0t Cj4gIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4gCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuYyBiL2Ry aXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuYwo+IGluZGV4IGFiN2QxODIwNjNj My4uZTk4YTg4MmMxYmJhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5 bm9zX2RybV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9k cnYuYwo+IEBAIC0zNjIsNyArMzYyLDcgQEAgc3RhdGljIGludCBleHlub3NfZHJtX3N5c19zdXNw ZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2ID0g ZGV2X2dldF9kcnZkYXRhKGRldik7Cj4gIAlwbV9tZXNzYWdlX3QgbWVzc2FnZTsKPiAgCj4gLQlp ZiAocG1fcnVudGltZV9zdXNwZW5kZWQoZGV2KSkKPiArCWlmIChwbV9ydW50aW1lX3N1c3BlbmRl ZChkZXYpIHx8ICFkcm1fZGV2KQo+ICAJCXJldHVybiAwOwo+ICAKPiAgCW1lc3NhZ2UuZXZlbnQg PSBQTV9FVkVOVF9TVVNQRU5EOwo+IEBAIC0zNzMsNyArMzczLDcgQEAgc3RhdGljIGludCBleHlu b3NfZHJtX3N5c19yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQo+ICB7Cj4gIAlzdHJ1Y3QgZHJt X2RldmljZSAqZHJtX2RldiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+ICAKPiAtCWlmIChwbV9y dW50aW1lX3N1c3BlbmRlZChkZXYpKQo+ICsJaWYgKHBtX3J1bnRpbWVfc3VzcGVuZGVkKGRldikg fHwgIWRybV9kZXYpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+ICAJcmV0dXJuIGV4eW5vc19kcm1fcmVz dW1lKGRybV9kZXYpOwo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: inki.dae@samsung.com (Inki Dae) Date: Tue, 01 Jul 2014 17:39:02 +0900 Subject: [PATCH] drm/exynos: Fix NULL pointer exception when suspending without components In-Reply-To: <1404134744-15852-1-git-send-email-k.kozlowski@samsung.com> References: <1404134744-15852-1-git-send-email-k.kozlowski@samsung.com> Message-ID: <53B273A6.1010808@samsung.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 2014? 06? 30? 22:25, Krzysztof Kozlowski wrote: > Fix a NULL pointer exception when main exynos drm driver was probed > successfully but no components were added (e.g. by incomplete DTS). In > such case the exynos_drm_load() is never called and drvdata is NULL. > Right, it's good report. Applied. Thanks, Inki Dae > The NULL pointer exception may theoretically also happen as a effect of race between > adding components and main driver: if suspend of the driver happens > before adding components. > > Trace: > [ 1.190295] [drm] Initialized drm 1.1.0 20060810 > [ 1.195209] exynos-drm-ipp exynos-drm-ipp: drm ipp registered successfully. > (...) > [ 24.001743] PM: Syncing filesystems ... done. > [ 24.002177] Freezing user space processes ... (elapsed 0.000 seconds) done. > [ 24.007403] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done. > [ 24.032559] Unable to handle kernel NULL pointer dereference at virtual address 00000134 > [ 24.035007] pgd = dedd8000 > [ 24.037734] [00000134] *pgd=5ee13831, *pte=00000000, *ppte=00000000 > [ 24.043953] Internal error: Oops: 17 [#1] PREEMPT SMP ARM > [ 24.049329] Modules linked in: > [ 24.052371] CPU: 0 PID: 1 Comm: sh Not tainted 3.16.0-rc3-00035-geba20bbdde04-dirty #51 > [ 24.060354] task: df478000 ti: df480000 task.ti: df480000 > [ 24.065743] PC is at mutex_lock+0x10/0x50 > [ 24.069733] LR is at drm_modeset_lock_all+0x30/0xbc > [ 24.074590] pc : [] lr : [] psr: a0000013 > [ 24.074590] sp : df481db8 ip : 00000000 fp : c05e524c > [ 24.086045] r10: 00000002 r9 : c02c1fe4 r8 : deca5e44 > [ 24.091253] r7 : 00000000 r6 : 00000000 r5 : 0000014c r4 : 00000134 > [ 24.097763] r3 : 00000000 r2 : 00000000 r1 : 00000000 r0 : 00000134 > [ 24.104275] Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user > [ 24.111391] Control: 10c53c7d Table: 5edd806a DAC: 00000015 > [ 24.117120] Process sh (pid: 1, stack limit = 0xdf480240) > [ 24.122502] Stack: (0xdf481db8 to 0xdf482000) > [ 24.126843] 1da0: dee01d80 c02a14b4 > [ 24.135004] 1dc0: 00000000 00000000 c07aff98 c02aec7c 00000002 00000000 00000000 c07aff98 > [ 24.143164] 1de0: deca5e10 c02aecf4 c02aecd4 c02c2010 00000000 c02c9470 00000000 00000000 > [ 24.151322] 1e00: 00000000 00000000 deca5e10 deca5e10 00000000 c07aff98 00000002 deca5e44 > [ 24.159482] 1e20: c06d8f78 c06fb800 deca5e78 c02ca660 df7baf00 007b0aa0 deca5e10 c06fb7c8 > [ 24.167641] 1e40: c07aff98 00000000 00000002 c02cbe18 9757aec5 00000005 9757aec5 00000005 > [ 24.175801] 1e60: ded1d380 00000003 00000003 c05c74d8 ded1d380 c07209d4 c05c7514 c07105d8 > [ 24.183960] 1e80: 01e2a738 c0068a74 00000000 c05c7514 ded1d380 c071c6e0 00000004 c07105d8 > [ 24.192119] 1ea0: 01e2a738 c047f1e0 c0600cc0 df481ec4 00000003 00000000 00000003 c05c74d8 > [ 24.200278] 1ec0: ded1d380 c071c6e0 c05c7514 c07105d8 01e2a738 c0069444 c06d905c 00000003 > [ 24.208438] 1ee0: 00000003 ded1d380 c06d9064 00000004 c05c3fc0 c0067d4c df535ab0 ded1d380 > [ 24.216596] 1f00: df481f80 ded1d380 00000004 ded1d1cc ded1d1c0 c0221724 00000004 c016ca6c > [ 24.224756] 1f20: c016ca28 00000000 00000000 c016c1d4 00000000 00000000 b6f37000 df481f80 > [ 24.232915] 1f40: decedd80 00000004 df480000 df480000 b6f37000 c0110920 df47839c 60000013 > [ 24.241074] 1f60: 00000000 00000000 decedd80 decedd80 00000004 df480000 b6f37000 c0110da8 > [ 24.249233] 1f80: 00000000 00000000 00000004 b6edf5d8 00000004 b6f37000 00000004 c000f2a8 > [ 24.257393] 1fa0: 00001000 c000f0e0 b6edf5d8 00000004 00000001 b6f37000 00000004 00000000 > [ 24.265551] 1fc0: b6edf5d8 00000004 b6f37000 00000004 00000004 00000001 00000000 01e2a738 > [ 24.273711] 1fe0: 00000000 beba0a20 b6e1f4f0 b6e7022c 60000010 00000001 ffffffff ffffffff > [ 24.281885] [] (mutex_lock) from [] (drm_modeset_lock_all+0x30/0xbc) > [ 24.289950] [] (drm_modeset_lock_all) from [] (exynos_drm_suspend+0xc/0x64) > [ 24.298627] [] (exynos_drm_suspend) from [] (exynos_drm_sys_suspend+0x20/0x34) > [ 24.307568] [] (exynos_drm_sys_suspend) from [] (platform_pm_suspend+0x2c/0x54) > [ 24.316597] [] (platform_pm_suspend) from [] (dpm_run_callback+0x48/0x170) > [ 24.325188] [] (dpm_run_callback) from [] (__device_suspend+0x128/0x39c) > [ 24.333606] [] (__device_suspend) from [] (dpm_suspend+0x5c/0x314) > [ 24.341506] [] (dpm_suspend) from [] (suspend_devices_and_enter+0x8c/0x598) > [ 24.350185] [] (suspend_devices_and_enter) from [] (pm_suspend+0x4c4/0x5d0) > [ 24.358862] [] (pm_suspend) from [] (state_store+0x70/0xd4) > [ 24.366156] [] (state_store) from [] (kobj_attr_store+0x14/0x20) > [ 24.373885] [] (kobj_attr_store) from [] (sysfs_kf_write+0x44/0x48) > [ 24.381867] [] (sysfs_kf_write) from [] (kernfs_fop_write+0xc0/0x17c) > [ 24.390027] [] (kernfs_fop_write) from [] (vfs_write+0xa0/0x1c4) > [ 24.397750] [] (vfs_write) from [] (SyS_write+0x40/0x8c) > [ 24.404782] [] (SyS_write) from [] (ret_fast_syscall+0x0/0x3c) > [ 24.412332] Code: e92d4010 e1a04000 f57ff05b f590f000 (e1903f9f) > [ 24.418448] ---[ end trace cfa06690eabe8dd5 ]--- > [ 24.423032] Kernel panic - not syncing: Fatal exception > [ 24.428220] CPU1: stopping > [ 24.430905] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G D 3.16.0-rc3-00035-geba20bbdde04-dirty #51 > [ 24.440549] [] (unwind_backtrace) from [] (show_stack+0x10/0x14) > [ 24.448269] [] (show_stack) from [] (dump_stack+0x80/0xcc) > [ 24.455472] [] (dump_stack) from [] (handle_IPI+0x130/0x15c) > [ 24.462850] [] (handle_IPI) from [] (gic_handle_irq+0x60/0x68) > [ 24.470400] [] (gic_handle_irq) from [] (__irq_svc+0x40/0x70) > [ 24.477860] Exception stack(0xdf4bdf88 to 0xdf4bdfd0) > [ 24.482898] df80: ffffffed 00000000 00000000 00000000 df4bc000 c06d042c > [ 24.491058] dfa0: 00000000 ffffffed c06d03c0 00000000 c070c288 00000000 00000000 df4bdfd0 > [ 24.499214] dfc0: c0010324 c0010328 60000013 ffffffff > [ 24.504254] [] (__irq_svc) from [] (arch_cpu_idle+0x28/0x30) > [ 24.511634] [] (arch_cpu_idle) from [] (cpu_startup_entry+0x2c4/0x3f0) > [ 24.519878] [] (cpu_startup_entry) from [<400086c4>] (0x400086c4) > [ 24.526821] ---[ end Kernel panic - not syncing: Fatal exception > > Signed-off-by: Krzysztof Kozlowski > Cc: Andrzej Hajda > Cc: Inki Dae > Fixes: af65c8048770 ("drm/exynos: Consolidate suspend/resume in drm_drv") > Cc: > > --- > Probably other DRM drivers may be also affected by this issue (e.g. > msm). > --- > drivers/gpu/drm/exynos/exynos_drm_drv.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c > index ab7d182063c3..e98a882c1bba 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c > @@ -362,7 +362,7 @@ static int exynos_drm_sys_suspend(struct device *dev) > struct drm_device *drm_dev = dev_get_drvdata(dev); > pm_message_t message; > > - if (pm_runtime_suspended(dev)) > + if (pm_runtime_suspended(dev) || !drm_dev) > return 0; > > message.event = PM_EVENT_SUSPEND; > @@ -373,7 +373,7 @@ static int exynos_drm_sys_resume(struct device *dev) > { > struct drm_device *drm_dev = dev_get_drvdata(dev); > > - if (pm_runtime_suspended(dev)) > + if (pm_runtime_suspended(dev) || !drm_dev) > return 0; > > return exynos_drm_resume(drm_dev); > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757633AbaGAIj0 (ORCPT ); Tue, 1 Jul 2014 04:39:26 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:18113 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756047AbaGAIjQ (ORCPT ); Tue, 1 Jul 2014 04:39:16 -0400 MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 X-AuditID: cbfee691-b7f2f6d0000040c4-f8-53b273b15b63 Content-transfer-encoding: 8BIT Message-id: <53B273A6.1010808@samsung.com> Date: Tue, 01 Jul 2014 17:39:02 +0900 From: Inki Dae User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130803 Thunderbird/17.0.8 To: Krzysztof Kozlowski Cc: Joonyoung Shim , Seung-Woo Kim , Kyungmin Park , David Airlie , Kukjin Kim , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Marek Szyprowski , Bartlomiej Zolnierkiewicz , Andrzej Hajda , stable@vger.kernel.org Subject: Re: [PATCH] drm/exynos: Fix NULL pointer exception when suspending without components References: <1404134744-15852-1-git-send-email-k.kozlowski@samsung.com> In-reply-to: <1404134744-15852-1-git-send-email-k.kozlowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrDIsWRmVeSWpSXmKPExsWyRsSkWHdj8aZgg7tfFS1urTvHatF77iST xcYZ61ktrnx9z2bx4t5FFovXLwwtehdcZbM42/SG3WLT42usFpd3zWGzmHF+H5PF2iN32S0W bHzEaDFj8ks2Bz6P7d8esHrc7z7O5LF5Sb1H35ZVjB6fN8kFsEZx2aSk5mSWpRbp2yVwZdz4 f4Ox4Ld9xdvH7g2MX0y6GDk5JARMJA69vcQOYYtJXLi3nq2LkYtDSGApo8T8HU2MMEU9az6y QiSmM0rcXTyFBSTBKyAo8WPyPSCbg4NZQF7iyKVskDCzgLrEpHmLmCHqXzFK3G9/zQhRryVx pe0JK4jNIqAq8fn9bzCbDcieuOI+G4gtKhAm8eLVLmYQW0TAUOLg7u1MIIOYBX4xS0y4NY8V ZJmwQIJEX18GSI2QgLtE05TvYL2cAh4SO+5dYYI4upVD4uQiV4hdAhLfJh8Cu1NCQFZi0wFm iBJJiYMrbrBMYBSbheSbWQjfzELyzQJG5lWMoqkFyQXFSelFpnrFibnFpXnpesn5uZsYgTF7 +t+ziTsY7x+wPsSYDLRxIrOUaHI+MObzSuINjc2MLExNTI2NzC3NSBNWEudNf5QUJCSQnliS mp2aWpBaFF9UmpNafIiRiYNTqoHRTObJhebDylcbFt89Pj30rGb0NtNXlnzB778z1Z2z+h0S rpretHD9vqpXmnrKUbb3V18Oefxw2+P1nMl76o4tuHIua/J3FZuL096s+Hj05d2/BpkzZ9+U f2Qcz/C7UvNt/bdNj+R4H+/+dSNkxrndj0R4an0mzqxaEqbX/Hx6omJ8/cfqkG0TziuxFGck GmoxFxUnAgBbyt/p7wIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuphleLIzCtJLcpLzFFi42I5/e+xoO7G4k3BBmu2S1rcWneO1aL33Ekm i40z1rNaXPn6ns3ixb2LLBavXxha9C64ymZxtukNu8Wmx9dYLS7vmsNmMeP8PiaLtUfuslss 2PiI0WLG5JdsDnwe2789YPW4332cyWPzknqPvi2rGD0+b5ILYI1qYLTJSE1MSS1SSM1Lzk/J zEu3VfIOjneONzUzMNQ1tLQwV1LIS8xNtVVy8QnQdcvMATpUSaEsMacUKBSQWFyspG+HaUJo iJuuBUxjhK5vSBBcj5EBGkhYw5hx4/8NxoLf9hVvH7s3MH4x6WLk5JAQMJHoWfORFcIWk7hw bz1bFyMXh5DAdEaJu4unsIAkeAUEJX5Mvgdkc3AwC8hLHLmUDRJmFlCXmDRvETNE/StGifvt rxkh6rUkrrQ9ARvKIqAq8fn9bzCbDcieuOI+G4gtKhAm8eLVLmYQW0TAUOLg7u1MIIOYBX4x S0y4NY8VZJmwQIJEX18GSI2QgLtE05TvYL2cAh4SO+5dYZrAKDALyXmzEM6bheS8BYzMqxhF UwuSC4qT0nON9IoTc4tL89L1kvNzNzGCU8Iz6R2MqxosDjEKcDAq8fCeqN0YLMSaWFZcmXuI UYKDWUmElz1tU7AQb0piZVVqUX58UWlOavEhRlOg5yYyS4km5wPTVV5JvKGxiZmRpZG5oYWR sbmSOO/BVutAIYH0xJLU7NTUgtQimD4mDk6pBsbNiXJhzkb2m6Y8EN3doLT2/P7b3z6+su7y PfQq1kVr7SXes5uzj1gcfanceMxTs3v1mRDHIoHmB9deHGq7t/OPkXuC6dzXz5wjGW3TAx/1 1zamP33XL70jxPyCWcmbKUbTDsZ+Y10Z8J/jsKr9An3r9xx1EpO2OH/W0fzHusp+jZmWj7MW p4ISS3FGoqEWc1FxIgAnH4dSHwMAAA== DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2014년 06월 30일 22:25, Krzysztof Kozlowski wrote: > Fix a NULL pointer exception when main exynos drm driver was probed > successfully but no components were added (e.g. by incomplete DTS). In > such case the exynos_drm_load() is never called and drvdata is NULL. > Right, it's good report. Applied. Thanks, Inki Dae > The NULL pointer exception may theoretically also happen as a effect of race between > adding components and main driver: if suspend of the driver happens > before adding components. > > Trace: > [ 1.190295] [drm] Initialized drm 1.1.0 20060810 > [ 1.195209] exynos-drm-ipp exynos-drm-ipp: drm ipp registered successfully. > (...) > [ 24.001743] PM: Syncing filesystems ... done. > [ 24.002177] Freezing user space processes ... (elapsed 0.000 seconds) done. > [ 24.007403] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done. > [ 24.032559] Unable to handle kernel NULL pointer dereference at virtual address 00000134 > [ 24.035007] pgd = dedd8000 > [ 24.037734] [00000134] *pgd=5ee13831, *pte=00000000, *ppte=00000000 > [ 24.043953] Internal error: Oops: 17 [#1] PREEMPT SMP ARM > [ 24.049329] Modules linked in: > [ 24.052371] CPU: 0 PID: 1 Comm: sh Not tainted 3.16.0-rc3-00035-geba20bbdde04-dirty #51 > [ 24.060354] task: df478000 ti: df480000 task.ti: df480000 > [ 24.065743] PC is at mutex_lock+0x10/0x50 > [ 24.069733] LR is at drm_modeset_lock_all+0x30/0xbc > [ 24.074590] pc : [] lr : [] psr: a0000013 > [ 24.074590] sp : df481db8 ip : 00000000 fp : c05e524c > [ 24.086045] r10: 00000002 r9 : c02c1fe4 r8 : deca5e44 > [ 24.091253] r7 : 00000000 r6 : 00000000 r5 : 0000014c r4 : 00000134 > [ 24.097763] r3 : 00000000 r2 : 00000000 r1 : 00000000 r0 : 00000134 > [ 24.104275] Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user > [ 24.111391] Control: 10c53c7d Table: 5edd806a DAC: 00000015 > [ 24.117120] Process sh (pid: 1, stack limit = 0xdf480240) > [ 24.122502] Stack: (0xdf481db8 to 0xdf482000) > [ 24.126843] 1da0: dee01d80 c02a14b4 > [ 24.135004] 1dc0: 00000000 00000000 c07aff98 c02aec7c 00000002 00000000 00000000 c07aff98 > [ 24.143164] 1de0: deca5e10 c02aecf4 c02aecd4 c02c2010 00000000 c02c9470 00000000 00000000 > [ 24.151322] 1e00: 00000000 00000000 deca5e10 deca5e10 00000000 c07aff98 00000002 deca5e44 > [ 24.159482] 1e20: c06d8f78 c06fb800 deca5e78 c02ca660 df7baf00 007b0aa0 deca5e10 c06fb7c8 > [ 24.167641] 1e40: c07aff98 00000000 00000002 c02cbe18 9757aec5 00000005 9757aec5 00000005 > [ 24.175801] 1e60: ded1d380 00000003 00000003 c05c74d8 ded1d380 c07209d4 c05c7514 c07105d8 > [ 24.183960] 1e80: 01e2a738 c0068a74 00000000 c05c7514 ded1d380 c071c6e0 00000004 c07105d8 > [ 24.192119] 1ea0: 01e2a738 c047f1e0 c0600cc0 df481ec4 00000003 00000000 00000003 c05c74d8 > [ 24.200278] 1ec0: ded1d380 c071c6e0 c05c7514 c07105d8 01e2a738 c0069444 c06d905c 00000003 > [ 24.208438] 1ee0: 00000003 ded1d380 c06d9064 00000004 c05c3fc0 c0067d4c df535ab0 ded1d380 > [ 24.216596] 1f00: df481f80 ded1d380 00000004 ded1d1cc ded1d1c0 c0221724 00000004 c016ca6c > [ 24.224756] 1f20: c016ca28 00000000 00000000 c016c1d4 00000000 00000000 b6f37000 df481f80 > [ 24.232915] 1f40: decedd80 00000004 df480000 df480000 b6f37000 c0110920 df47839c 60000013 > [ 24.241074] 1f60: 00000000 00000000 decedd80 decedd80 00000004 df480000 b6f37000 c0110da8 > [ 24.249233] 1f80: 00000000 00000000 00000004 b6edf5d8 00000004 b6f37000 00000004 c000f2a8 > [ 24.257393] 1fa0: 00001000 c000f0e0 b6edf5d8 00000004 00000001 b6f37000 00000004 00000000 > [ 24.265551] 1fc0: b6edf5d8 00000004 b6f37000 00000004 00000004 00000001 00000000 01e2a738 > [ 24.273711] 1fe0: 00000000 beba0a20 b6e1f4f0 b6e7022c 60000010 00000001 ffffffff ffffffff > [ 24.281885] [] (mutex_lock) from [] (drm_modeset_lock_all+0x30/0xbc) > [ 24.289950] [] (drm_modeset_lock_all) from [] (exynos_drm_suspend+0xc/0x64) > [ 24.298627] [] (exynos_drm_suspend) from [] (exynos_drm_sys_suspend+0x20/0x34) > [ 24.307568] [] (exynos_drm_sys_suspend) from [] (platform_pm_suspend+0x2c/0x54) > [ 24.316597] [] (platform_pm_suspend) from [] (dpm_run_callback+0x48/0x170) > [ 24.325188] [] (dpm_run_callback) from [] (__device_suspend+0x128/0x39c) > [ 24.333606] [] (__device_suspend) from [] (dpm_suspend+0x5c/0x314) > [ 24.341506] [] (dpm_suspend) from [] (suspend_devices_and_enter+0x8c/0x598) > [ 24.350185] [] (suspend_devices_and_enter) from [] (pm_suspend+0x4c4/0x5d0) > [ 24.358862] [] (pm_suspend) from [] (state_store+0x70/0xd4) > [ 24.366156] [] (state_store) from [] (kobj_attr_store+0x14/0x20) > [ 24.373885] [] (kobj_attr_store) from [] (sysfs_kf_write+0x44/0x48) > [ 24.381867] [] (sysfs_kf_write) from [] (kernfs_fop_write+0xc0/0x17c) > [ 24.390027] [] (kernfs_fop_write) from [] (vfs_write+0xa0/0x1c4) > [ 24.397750] [] (vfs_write) from [] (SyS_write+0x40/0x8c) > [ 24.404782] [] (SyS_write) from [] (ret_fast_syscall+0x0/0x3c) > [ 24.412332] Code: e92d4010 e1a04000 f57ff05b f590f000 (e1903f9f) > [ 24.418448] ---[ end trace cfa06690eabe8dd5 ]--- > [ 24.423032] Kernel panic - not syncing: Fatal exception > [ 24.428220] CPU1: stopping > [ 24.430905] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G D 3.16.0-rc3-00035-geba20bbdde04-dirty #51 > [ 24.440549] [] (unwind_backtrace) from [] (show_stack+0x10/0x14) > [ 24.448269] [] (show_stack) from [] (dump_stack+0x80/0xcc) > [ 24.455472] [] (dump_stack) from [] (handle_IPI+0x130/0x15c) > [ 24.462850] [] (handle_IPI) from [] (gic_handle_irq+0x60/0x68) > [ 24.470400] [] (gic_handle_irq) from [] (__irq_svc+0x40/0x70) > [ 24.477860] Exception stack(0xdf4bdf88 to 0xdf4bdfd0) > [ 24.482898] df80: ffffffed 00000000 00000000 00000000 df4bc000 c06d042c > [ 24.491058] dfa0: 00000000 ffffffed c06d03c0 00000000 c070c288 00000000 00000000 df4bdfd0 > [ 24.499214] dfc0: c0010324 c0010328 60000013 ffffffff > [ 24.504254] [] (__irq_svc) from [] (arch_cpu_idle+0x28/0x30) > [ 24.511634] [] (arch_cpu_idle) from [] (cpu_startup_entry+0x2c4/0x3f0) > [ 24.519878] [] (cpu_startup_entry) from [<400086c4>] (0x400086c4) > [ 24.526821] ---[ end Kernel panic - not syncing: Fatal exception > > Signed-off-by: Krzysztof Kozlowski > Cc: Andrzej Hajda > Cc: Inki Dae > Fixes: af65c8048770 ("drm/exynos: Consolidate suspend/resume in drm_drv") > Cc: > > --- > Probably other DRM drivers may be also affected by this issue (e.g. > msm). > --- > drivers/gpu/drm/exynos/exynos_drm_drv.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c > index ab7d182063c3..e98a882c1bba 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c > @@ -362,7 +362,7 @@ static int exynos_drm_sys_suspend(struct device *dev) > struct drm_device *drm_dev = dev_get_drvdata(dev); > pm_message_t message; > > - if (pm_runtime_suspended(dev)) > + if (pm_runtime_suspended(dev) || !drm_dev) > return 0; > > message.event = PM_EVENT_SUSPEND; > @@ -373,7 +373,7 @@ static int exynos_drm_sys_resume(struct device *dev) > { > struct drm_device *drm_dev = dev_get_drvdata(dev); > > - if (pm_runtime_suspended(dev)) > + if (pm_runtime_suspended(dev) || !drm_dev) > return 0; > > return exynos_drm_resume(drm_dev); >