From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v2 04/11] vpci/msix: add teardown cleanup Date: Tue, 17 Jul 2018 11:48:23 +0200 Message-ID: <20180717094830.54806-5-roger.pau@citrix.com> References: <20180717094830.54806-1-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ffMbk-000285-T0 for xen-devel@lists.xenproject.org; Tue, 17 Jul 2018 09:49:24 +0000 In-Reply-To: <20180717094830.54806-1-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org U28gdGhhdCBpbnRlcnJ1cHRzIGFyZSBwcm9wZXJseSBmcmVlZC4KClNpZ25lZC1vZmYtYnk6IFJv Z2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgotLS0KQ2M6IEFuZHJldyBDb29w ZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNjOiBHZW9yZ2UgRHVubGFwIDxHZW9yZ2Uu RHVubGFwQGV1LmNpdHJpeC5jb20+CkNjOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0 cml4LmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ2M6IEp1bGllbiBH cmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNjOiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtv bnJhZC53aWxrQG9yYWNsZS5jb20+CkNjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5p QGtlcm5lbC5vcmc+CkNjOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KQ2M6IFdlaSBMaXUgPHdl aS5saXUyQGNpdHJpeC5jb20+Ci0tLQpDaGFuZ2VzIHNpbmNlIHYxOgogLSBTaHVmZmxlIG9yZGVy IG9mIHRoZSB0ZWFyZG93biBmdW5jdGlvbi4KIC0gRnJlZSBtc2l4IGluIHRoZSB0ZWFyZG93biBm dW5jdGlvbi4KLS0tCiB4ZW4vZHJpdmVycy92cGNpL21zaXguYyB8IDU1ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiB4ZW4vZHJpdmVycy92cGNpL3ZwY2kuYyB8ICAx IC0KIDIgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS94ZW4vZHJpdmVycy92cGNpL21zaXguYyBiL3hlbi9kcml2ZXJzL3ZwY2kvbXNp eC5jCmluZGV4IGJlZmM0MTkyZDkuLjRmZDBiNjQzZGYgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJz L3ZwY2kvbXNpeC5jCisrKyBiL3hlbi9kcml2ZXJzL3ZwY2kvbXNpeC5jCkBAIC00MzYsMTEgKzQz Niw2IEBAIHN0YXRpYyBpbnQgaW5pdF9tc2l4KHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogICAgICAg ICB2cGNpX21zaXhfYXJjaF9pbml0X2VudHJ5KCZwZGV2LT52cGNpLT5tc2l4LT5lbnRyaWVzW2ld KTsKICAgICB9CiAKLSAgICByYyA9IHZwY2lfYWRkX3JlZ2lzdGVyKHBkZXYtPnZwY2ksIGNvbnRy b2xfcmVhZCwgY29udHJvbF93cml0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zaXhf Y29udHJvbF9yZWcobXNpeF9vZmZzZXQpLCAyLCBwZGV2LT52cGNpLT5tc2l4KTsKLSAgICBpZiAo IHJjICkKLSAgICAgICAgcmV0dXJuIHJjOwotCiAgICAgd3JpdGVfbG9jaygmZC0+YXJjaC5odm1f ZG9tYWluLm1zaXhfbG9jayk7CiAgICAgaWYgKCBsaXN0X2VtcHR5KCZkLT5hcmNoLmh2bV9kb21h aW4ubXNpeF90YWJsZXMpICkKICAgICAgICAgcmVnaXN0ZXJfbW1pb19oYW5kbGVyKGQsICZ2cGNp X21zaXhfdGFibGVfb3BzKTsKQEAgLTQ0OCw5ICs0NDMsNTcgQEAgc3RhdGljIGludCBpbml0X21z aXgoc3RydWN0IHBjaV9kZXYgKnBkZXYpCiAgICAgbGlzdF9hZGQoJnBkZXYtPnZwY2ktPm1zaXgt Pm5leHQsICZkLT5hcmNoLmh2bV9kb21haW4ubXNpeF90YWJsZXMpOwogICAgIHdyaXRlX3VubG9j aygmZC0+YXJjaC5odm1fZG9tYWluLm1zaXhfbG9jayk7CiAKKyAgICByYyA9IHZwY2lfYWRkX3Jl Z2lzdGVyKHBkZXYtPnZwY2ksIGNvbnRyb2xfcmVhZCwgY29udHJvbF93cml0ZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIG1zaXhfY29udHJvbF9yZWcobXNpeF9vZmZzZXQpLCAyLCBwZGV2 LT52cGNpLT5tc2l4KTsKKyAgICBpZiAoIHJjICkKKyAgICAgICAgLyogVGhlIHRlYXJkb3duIGZ1 bmN0aW9uIHdpbGwgZnJlZSB0aGUgbXNpeCBzdHJ1Y3QuICovCisgICAgICAgIHJldHVybiByYzsK KwogICAgIHJldHVybiAwOwogfQotUkVHSVNURVJfVlBDSV9JTklUKGluaXRfbXNpeCwgTlVMTCwg VlBDSV9QUklPUklUWV9ISUdIKTsKKworc3RhdGljIHZvaWQgdGVhcmRvd25fbXNpeChzdHJ1Y3Qg cGNpX2RldiAqcGRldikKK3sKKyAgICBzdHJ1Y3QgdnBjaV9tc2l4ICptc2l4ID0gcGRldi0+dnBj aS0+bXNpeDsKKyAgICB1bnNpZ25lZCBpbnQgaSwgcG9zOworICAgIHVpbnQxNl90IGNvbnRyb2w7 CisKKyAgICBpZiAoICFtc2l4ICkKKyAgICAgICAgcmV0dXJuOworCisgICAgd3JpdGVfbG9jaygm cGRldi0+ZG9tYWluLT5hcmNoLmh2bV9kb21haW4ubXNpeF9sb2NrKTsKKyAgICBsaXN0X2RlbCgm cGRldi0+dnBjaS0+bXNpeC0+bmV4dCk7CisgICAgd3JpdGVfdW5sb2NrKCZwZGV2LT5kb21haW4t PmFyY2guaHZtX2RvbWFpbi5tc2l4X2xvY2spOworCisgICAgaWYgKCAhbXNpeC0+ZW5hYmxlZCAp CisgICAgICAgIGdvdG8gb3V0OworCisgICAgLyogRGlzYWJsZSBNU0lYLiAqLworICAgIHBvcyA9 IHBjaV9maW5kX2NhcF9vZmZzZXQocGRldi0+c2VnLCBwZGV2LT5idXMsIFBDSV9TTE9UKHBkZXYt PmRldmZuKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9GVU5DKHBkZXYtPmRl dmZuKSwgUENJX0NBUF9JRF9NU0lYKTsKKyAgICBBU1NFUlQocG9zKTsKKyAgICBjb250cm9sID0g cGNpX2NvbmZfcmVhZDE2KHBkZXYtPnNlZywgcGRldi0+YnVzLCBQQ0lfU0xPVChwZGV2LT5kZXZm biksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lfRlVOQyhwZGV2LT5kZXZmbiks IG1zaXhfY29udHJvbF9yZWcocG9zKSk7CisgICAgcGNpX2NvbmZfd3JpdGUxNihwZGV2LT5zZWcs IHBkZXYtPmJ1cywgUENJX1NMT1QocGRldi0+ZGV2Zm4pLAorICAgICAgICAgICAgICAgICAgICAg UENJX0ZVTkMocGRldi0+ZGV2Zm4pLCBtc2l4X2NvbnRyb2xfcmVnKHBvcyksCisgICAgICAgICAg ICAgICAgICAgICAoY29udHJvbCAmIH5QQ0lfTVNJWF9GTEFHU19FTkFCTEUpKTsKKworICAgIGZv ciAoIGkgPSAwOyBpIDwgbXNpeC0+bWF4X2VudHJpZXM7IGkrKyApCisgICAgeworICAgICAgICBp bnQgcmMgPSB2cGNpX21zaXhfYXJjaF9kaXNhYmxlX2VudHJ5KCZtc2l4LT5lbnRyaWVzW2ldLCBw ZGV2KTsKKworICAgICAgICBpZiAoIHJjICYmIHJjICE9IC1FTk9FTlQgKQorICAgICAgICAgICAg Z3ByaW50ayhYRU5MT0dfV0FSTklORywKKyAgICAgICAgICAgICAgICAgICAgIiUwNHg6JTAyeDol MDJ4LiV1OiB1bmFibGUgdG8gZGlzYWJsZSBNU0lYIGVudHJ5ICV1OiAlZFxuIiwKKyAgICAgICAg ICAgICAgICAgICAgcGRldi0+c2VnLCBwZGV2LT5idXMsIFBDSV9TTE9UKHBkZXYtPmRldmZuKSwK KyAgICAgICAgICAgICAgICAgICAgUENJX0ZVTkMocGRldi0+ZGV2Zm4pLCBpLCByYyk7CisgICAg fQorCitvdXQ6CisgICAgeGZyZWUobXNpeCk7CisgICAgcGRldi0+dnBjaS0+bXNpeCA9IE5VTEw7 Cit9CitSRUdJU1RFUl9WUENJX0lOSVQoaW5pdF9tc2l4LCB0ZWFyZG93bl9tc2l4LCBWUENJX1BS SU9SSVRZX0hJR0gpOwogCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgpkaWZmIC0tZ2l0IGEveGVu L2RyaXZlcnMvdnBjaS92cGNpLmMgYi94ZW4vZHJpdmVycy92cGNpL3ZwY2kuYwppbmRleCA0MWZk MDg5OTA0Li42NzU0OGM0ZjQzIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy92cGNpL3ZwY2kuYwor KysgYi94ZW4vZHJpdmVycy92cGNpL3ZwY2kuYwpAQCAtNjAsNyArNjAsNiBAQCBzdGF0aWMgdm9p ZCB2cGNpX3JlbW92ZV9kZXZpY2VfbG9ja2VkKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogICAgICAg ICBsaXN0X2RlbCgmci0+bm9kZSk7CiAgICAgICAgIHhmcmVlKHIpOwogICAgIH0KLSAgICB4ZnJl ZShwZGV2LT52cGNpLT5tc2l4KTsKICAgICB4ZnJlZShwZGV2LT52cGNpLT5tc2kpOwogICAgIHhm cmVlKHBkZXYtPnZwY2kpOwogICAgIHBkZXYtPnZwY2kgPSBOVUxMOwotLSAKMi4xNy4xCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==