From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Hellstrom Subject: [PATCH 28/28] drm/vmwgfx: Fix crash when unloading vmwgfx v2 Date: Wed, 12 Aug 2015 22:43:17 -0700 Message-ID: <1439444597-4664-29-git-send-email-thellstrom@vmware.com> References: <1439444597-4664-1-git-send-email-thellstrom@vmware.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx6.bahnhof.se (mx6.bahnhof.se [213.80.101.16]) by gabe.freedesktop.org (Postfix) with ESMTPS id DA7426E331 for ; Wed, 12 Aug 2015 23:00:38 -0700 (PDT) Received: from localhost (mf.bahnhof.se [213.80.101.20]) by mx6-reinject (Postfix) with ESMTP id 5EF13441CE for ; Thu, 13 Aug 2015 07:43:37 +0200 (CEST) Received: from mf3.bahnhof.se ([127.0.0.1]) by localhost (mf3.bahnhof.se [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TM-zC0DCAnLX for ; Thu, 13 Aug 2015 07:43:29 +0200 (CEST) Received: from mail.shipmail.org (h-5-150-198-217.na.cust.bahnhof.se [5.150.198.217]) by mf3.bahnhof.se (Postfix) with ESMTP id 2D58E3E8CDB for ; Thu, 13 Aug 2015 07:43:28 +0200 (CEST) Received: from mail.shipmail.org (lin0.kontor.shipmail.org [127.0.0.1]) by mail.shipmail.org (Postfix) with ESMTP id 5600E3F400E for ; Thu, 13 Aug 2015 07:43:27 +0200 (CEST) Received: from localhost.localdomain (lin0.kontor.shipmail.org [127.0.0.1]) by mail.shipmail.org (Postfix) with ESMTP id 4407C3F400D for ; Thu, 13 Aug 2015 07:43:27 +0200 (CEST) In-Reply-To: <1439444597-4664-1-git-send-email-thellstrom@vmware.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogU2luY2xhaXIgWWVoIDxzeWVoQHZtd2FyZS5jb20+CgpUaGlzIHBhdGNoIGZpeGVzIHR3 byBpc3N1ZXMuICBPbmUsIHdoZW4gYSBzdXJmYWNlIGlzIGEgcHJveHkgZm9yIGEgRE1BCmJ1ZmZl ciwgaXQgaG9sZHMgYW4gZXh0cmEgcmVmZXJlbmNlIHRoYXQgbmVlZHMgdG8gYmUgY2xlYXJlZC4K ClR3bywgd2hlbiBmYmRldiBpcyBlbmFibGVkLCB3ZSBuZWVkIHRvIHVucGluIHRoZSBmcmFtZWJ1 ZmZlciBiZWZvcmUKdW5sb2FkaW5nIHRoZSBkcml2ZXIuICBUaGlzIGlzIGRvbmUgYnkgYSBjYWxs IHRvIHZtd19mYl9vZmYoKS4KCnYyCk1vdmVkIHVucmVmZXJlbmNpbmcgc3VyZmFjZSB0byBmcm9t IHZtd19mcmFtZWJ1ZmZlcl9zdXJmYWNlX2Rlc3Ryb3koKQp0byB2bXdfa21zX25ld19mcmFtZWJ1 ZmZlcigpCgpBZGRlZCAic3RydWN0IHZtd19mcmFtZWJ1ZmZlciAqdmZiID0gTlVMTDsiIHRvIHNp bGVuY2UgYSBjb21waWxlcgp3YXJuaW5nLgoKUmVtb3ZlZCBlcnJvciBjaGVja2luZyBhZnRlciBj YWxsaW5nIHZtd19zdXJmYWNlL2RtYWJ1Zl9yZWZlcmVuY2UoKQoKU2lnbmVkLW9mZi1ieTogU2lu Y2xhaXIgWWVoIDxzeWVoQHZtd2FyZS5jb20+ClNpZ25lZC1vZmYtYnk6IFRob21hcyBIZWxsc3Ry b20gPHRoZWxsc3Ryb21Adm13YXJlLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Zt d2dmeF9kcnYuYyB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jIHwg NDIgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2Vk LCAxOSBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13 Z2Z4X2Rydi5jCmluZGV4IGJjNDIzNWYuLjY1ZTM1NjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS92bXdnZngvdm13Z2Z4X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13 Z2Z4X2Rydi5jCkBAIC05MTUsNiArOTE1LDcgQEAgc3RhdGljIGludCB2bXdfZHJpdmVyX3VubG9h ZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlkcm1faHRfcmVtb3ZlKCZkZXZfcHJpdi0+Y3R4 LnJlc19odCk7CiAJdmZyZWUoZGV2X3ByaXYtPmN0eC5jbWRfYm91bmNlKTsKIAlpZiAoZGV2X3By aXYtPmVuYWJsZV9mYikgeworCQl2bXdfZmJfb2ZmKGRldl9wcml2KTsKIAkJdm13X2ZiX2Nsb3Nl KGRldl9wcml2KTsKIAkJdm13X2ZpZm9fcmVzb3VyY2VfZGVjKGRldl9wcml2KTsKIAkJdm13X3N2 Z2FfZGlzYWJsZShkZXZfcHJpdik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4 L3Ztd2dmeF9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jCmluZGV4 IDhiOGFlMjAuLjM0ZDA0YmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13 Z2Z4X2ttcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jCkBAIC01 MzksMTkgKzUzOSwxMyBAQCBzdGF0aWMgaW50IHZtd19rbXNfbmV3X2ZyYW1lYnVmZmVyX3N1cmZh Y2Uoc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiwKIAkJZ290byBvdXRfZXJyMTsKIAl9CiAK LQlpZiAoIXZtd19zdXJmYWNlX3JlZmVyZW5jZShzdXJmYWNlKSkgewotCQlEUk1fRVJST1IoImZh aWxlZCB0byByZWZlcmVuY2Ugc3VyZmFjZSAlcFxuIiwgc3VyZmFjZSk7Ci0JCXJldCA9IC1FSU5W QUw7Ci0JCWdvdG8gb3V0X2VycjI7Ci0JfQotCiAJLyogWFhYIGdldCB0aGUgZmlyc3QgMyBmcm9t IHRoZSBzdXJmYWNlIGluZm8gKi8KIAl2ZmJzLT5iYXNlLmJhc2UuYml0c19wZXJfcGl4ZWwgPSBt b2RlX2NtZC0+YnBwOwogCXZmYnMtPmJhc2UuYmFzZS5waXRjaGVzWzBdID0gbW9kZV9jbWQtPnBp dGNoOwogCXZmYnMtPmJhc2UuYmFzZS5kZXB0aCA9IG1vZGVfY21kLT5kZXB0aDsKIAl2ZmJzLT5i YXNlLmJhc2Uud2lkdGggPSBtb2RlX2NtZC0+d2lkdGg7CiAJdmZicy0+YmFzZS5iYXNlLmhlaWdo dCA9IG1vZGVfY21kLT5oZWlnaHQ7Ci0JdmZicy0+c3VyZmFjZSA9IHN1cmZhY2U7CisJdmZicy0+ c3VyZmFjZSA9IHZtd19zdXJmYWNlX3JlZmVyZW5jZShzdXJmYWNlKTsKIAl2ZmJzLT5iYXNlLnVz ZXJfaGFuZGxlID0gbW9kZV9jbWQtPmhhbmRsZTsKIAl2ZmJzLT5pc19kbWFidWZfcHJveHkgPSBp c19kbWFidWZfcHJveHk7CiAKQEAgLTU2MCwxMyArNTU0LDEyIEBAIHN0YXRpYyBpbnQgdm13X2tt c19uZXdfZnJhbWVidWZmZXJfc3VyZmFjZShzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9wcml2LAog CXJldCA9IGRybV9mcmFtZWJ1ZmZlcl9pbml0KGRldiwgJnZmYnMtPmJhc2UuYmFzZSwKIAkJCQkg ICAmdm13X2ZyYW1lYnVmZmVyX3N1cmZhY2VfZnVuY3MpOwogCWlmIChyZXQpCi0JCWdvdG8gb3V0 X2VycjM7CisJCWdvdG8gb3V0X2VycjI7CiAKIAlyZXR1cm4gMDsKIAotb3V0X2VycjM6Ci0Jdm13 X3N1cmZhY2VfdW5yZWZlcmVuY2UoJnN1cmZhY2UpOwogb3V0X2VycjI6CisJdm13X3N1cmZhY2Vf dW5yZWZlcmVuY2UoJnN1cmZhY2UpOwogCWtmcmVlKHZmYnMpOwogb3V0X2VycjE6CiAJcmV0dXJu IHJldDsKQEAgLTgzNiwzMiArODI5LDI1IEBAIHN0YXRpYyBpbnQgdm13X2ttc19uZXdfZnJhbWVi dWZmZXJfZG1hYnVmKHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCWdvdG8gb3V0X2Vy cjE7CiAJfQogCi0JaWYgKCF2bXdfZG1hYnVmX3JlZmVyZW5jZShkbWFidWYpKSB7Ci0JCURSTV9F UlJPUigiZmFpbGVkIHRvIHJlZmVyZW5jZSBkbWFidWYgJXBcbiIsIGRtYWJ1Zik7Ci0JCXJldCA9 IC1FSU5WQUw7Ci0JCWdvdG8gb3V0X2VycjI7Ci0JfQotCiAJdmZiZC0+YmFzZS5iYXNlLmJpdHNf cGVyX3BpeGVsID0gbW9kZV9jbWQtPmJwcDsKIAl2ZmJkLT5iYXNlLmJhc2UucGl0Y2hlc1swXSA9 IG1vZGVfY21kLT5waXRjaDsKIAl2ZmJkLT5iYXNlLmJhc2UuZGVwdGggPSBtb2RlX2NtZC0+ZGVw dGg7CiAJdmZiZC0+YmFzZS5iYXNlLndpZHRoID0gbW9kZV9jbWQtPndpZHRoOwogCXZmYmQtPmJh c2UuYmFzZS5oZWlnaHQgPSBtb2RlX2NtZC0+aGVpZ2h0OwogCXZmYmQtPmJhc2UuZG1hYnVmID0g dHJ1ZTsKLQl2ZmJkLT5idWZmZXIgPSBkbWFidWY7CisJdmZiZC0+YnVmZmVyID0gdm13X2RtYWJ1 Zl9yZWZlcmVuY2UoZG1hYnVmKTsKIAl2ZmJkLT5iYXNlLnVzZXJfaGFuZGxlID0gbW9kZV9jbWQt PmhhbmRsZTsKIAkqb3V0ID0gJnZmYmQtPmJhc2U7CiAKIAlyZXQgPSBkcm1fZnJhbWVidWZmZXJf aW5pdChkZXYsICZ2ZmJkLT5iYXNlLmJhc2UsCiAJCQkJICAgJnZtd19mcmFtZWJ1ZmZlcl9kbWFi dWZfZnVuY3MpOwogCWlmIChyZXQpCi0JCWdvdG8gb3V0X2VycjM7CisJCWdvdG8gb3V0X2VycjI7 CiAKIAlyZXR1cm4gMDsKIAotb3V0X2VycjM6Ci0Jdm13X2RtYWJ1Zl91bnJlZmVyZW5jZSgmZG1h YnVmKTsKIG91dF9lcnIyOgorCXZtd19kbWFidWZfdW5yZWZlcmVuY2UoJmRtYWJ1Zik7CiAJa2Zy ZWUodmZiZCk7CiBvdXRfZXJyMToKIAlyZXR1cm4gcmV0OwpAQCAtODg2LDcgKzg3Miw3IEBAIHZt d19rbXNfbmV3X2ZyYW1lYnVmZmVyKHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQli b29sIG9ubHlfMmQsCiAJCQljb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kICptb2RlX2NtZCkK IHsKLQlzdHJ1Y3Qgdm13X2ZyYW1lYnVmZmVyICp2ZmI7CisJc3RydWN0IHZtd19mcmFtZWJ1ZmZl ciAqdmZiID0gTlVMTDsKIAlib29sIGlzX2RtYWJ1Zl9wcm94eSA9IGZhbHNlOwogCWludCByZXQ7 CiAKQEAgLTkwNiwxNSArODkyLDIzIEBAIHZtd19rbXNfbmV3X2ZyYW1lYnVmZmVyKHN0cnVjdCB2 bXdfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJfQogCiAJLyogQ3JlYXRlIHRoZSBuZXcgZnJhbWVidWZm ZXIgZGVwZW5kaW5nIG9uZSB3aGF0IHdlIGhhdmUgKi8KLQlpZiAoc3VyZmFjZSkKKwlpZiAoc3Vy ZmFjZSkgewogCQlyZXQgPSB2bXdfa21zX25ld19mcmFtZWJ1ZmZlcl9zdXJmYWNlKGRldl9wcml2 LCBzdXJmYWNlLCAmdmZiLAogCQkJCQkJICAgICAgbW9kZV9jbWQsCiAJCQkJCQkgICAgICBpc19k bWFidWZfcHJveHkpOwotCWVsc2UgaWYgKGRtYWJ1ZikKKworCQkvKgorCQkgKiB2bXdfY3JlYXRl X2RtYWJ1Zl9wcm94eSgpIGFkZHMgYSByZWZlcmVuY2UgdGhhdCBpcyBubyBsb25nZXIKKwkJICog bmVlZGVkCisJCSAqLworCQlpZiAoaXNfZG1hYnVmX3Byb3h5KQorCQkJdm13X3N1cmZhY2VfdW5y ZWZlcmVuY2UoJnN1cmZhY2UpOworCX0gZWxzZSBpZiAoZG1hYnVmKSB7CiAJCXJldCA9IHZtd19r bXNfbmV3X2ZyYW1lYnVmZmVyX2RtYWJ1ZihkZXZfcHJpdiwgZG1hYnVmLCAmdmZiLAogCQkJCQkJ ICAgICBtb2RlX2NtZCk7Ci0JZWxzZQorCX0gZWxzZSB7CiAJCUJVRygpOworCX0KIAogCWlmIChy ZXQpCiAJCXJldHVybiBFUlJfUFRSKHJldCk7Ci0tIAoyLjEuMAoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==