From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH] drm/radeon: Avoid double gpu reset by adding a timeout on IB ring tests. Date: Sun, 24 Jan 2016 10:49:00 +0100 Message-ID: <56A49E0C.1060105@vodafone.de> References: <1453616332-30763-1-git-send-email-matthew@mjdsystems.ca> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from pegasos-out.vodafone.de (pegasos-out.vodafone.de [80.84.1.38]) by gabe.freedesktop.org (Postfix) with ESMTP id 6B2556E3C6 for ; Sun, 24 Jan 2016 01:49:09 -0800 (PST) In-Reply-To: <1453616332-30763-1-git-send-email-matthew@mjdsystems.ca> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Matthew Dawson , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org QW0gMjQuMDEuMjAxNiB1bSAwNzoxOCBzY2hyaWViIE1hdHRoZXcgRGF3c29uOgo+IFdoZW4gdGhl IHJhZGVvbiBkcml2ZXIgcmVzZXRzIGEgZ3B1LCBpdCBhdHRlbXB0cyB0byB0ZXN0IHdoZXRoZXIg YWxsIHRoZQo+IHJpbmdzIGNhbiBzdWNjZXNzZnVsbHkgaGFuZGxlIGFuIElCLiAgSWYgdGhlc2Ug cmluZ3MgZmFpbCB0byByZXNwb25kLCB0aGUKPiBwcm9jZXNzIHdpbGwgd2FpdCBmb3JldmVyLiAg QW5vdGhlciBncHUgcmVzZXQgY2FuJ3QgaGFwcGVuIGF0IHRoaXMgcG9pbnQsCj4gYXMgdGhlIGN1 cnJlbnQgcmVzZXQgaG9sZHMgYSBsb2NrIHJlcXVpcmVkIHRvIGRvIHNvLiAgSW5zdGVhZCwgbWFr ZSBhbGwKPiB0aGUgSUIgdGVzdHMgcnVuIHdpdGggYSB0aW1lb3V0LCBzbyB0aGUgc3lzdGVtIGNh biBhdHRlbXB0IHRvIHJlY292ZXIKPiBpbiB0aGlzIGNhc2UuCj4KPiBXaGlsZSB0aGlzIGRvZXNu J3QgZml4IHRoZSB1bmRlcmx5aW5nIGlzc3VlIHdpdGggY2FyZCByZXNldHMgZmFpbGluZywgaXQK PiBnaXZlcyB0aGUgc3lzdGVtIGEgaGlnaGVyIGNoYW5jZSBvZiByZWNvdmVyaW5nLiAgVGhlc2Ug dGltZW91dHMgaGF2ZSBiZWVuCj4gY29uZmlybWVkIHRvIGhlbHAgYm90aCBhIFRhdGhpIGFuZCBI YXdhaWkgY2FyZCByZWNvdmVyIGFmdGVyIGEgZ3B1IHJlc2V0Lgo+Cj4gSSBoYXZlbid0IGJlZW4g YWJsZSB0byB0ZXN0IHRoaXMgb24gb3RoZXIgY2FyZHMsIGJ1dCBldmVyeXRoaW5nIGNvbXBpbGVz Lgo+IEkgd2Fzbid0IHN1cmUgd2hhdCB0byB1c2UgZm9yIGEgdGltZW91dCB2YWx1ZSwgc28gZm9y IG5vdyBJJ3ZlIHVzZWQKPiByYWRlb25fbG9ja3VwX3RpbWVvdXQuICBXaGVuIHRoYXQgaXMgMCwg dGhlIHRpbWVvdXQgZnVuY3Rpb25hbGl0eSBpbiB0aGlzCj4gcGF0Y2ggaXMgYWxzbyBkaXNhYmxl ZC4KPgo+IFRoaXMgYWxzbyBhZGRzIGEgbmV3IGZ1bmN0aW9uLCByYWRlb25fZmVuY2Vfd2FpdF90 aW1lb3V0LCB0aGF0IGJlaGF2ZXMgbGlrZQo+IHJhZGVvbl9mZW5jZV93YWl0IGV4Y2VwdCBhbGxv d2luZyBhIGRpZmZlcmVudCB0aW1lb3V0IHZhbHVlIHRvIGJlIHBhc3NlZCB0bwo+IHJhZGVvbl9m ZW5jZV93YWl0X3NlcV90aW1lb3V0Lgo+Cj4gU2lnbmVkLW9mZi1ieTogTWF0dGhldyBEYXdzb24g PG1hdHRoZXdAbWpkc3lzdGVtcy5jYT4KClJlYWxseSBnb29kIGlkZWEsIGJ1dCBwbGVhc2UgZG9u J3QgdXNlIHJhZGVvbl9sb2NrdXBfdGltZW91dCBmb3IgdGhpcyAKY2F1c2UgdGhlIDEwIHNlY29u ZHMgZGVmYXVsdCBvZiB0aGF0IGlzIHdheSB0byBsb25nLiBJbnN0ZWFkIGp1c3QgdXNlIGEgCmZp eGVkLCBsZXQncyBzYXkgMTAwbXMgdGltZW91dCBkZWZpbmVkIGluIHJhZGVvbi5oLgoKQWxzbyBk b24ndCBkZWZpbmUgb3VyIG93biByYWRlb25fZmVuY2Vfd2FpdF90aW1lb3V0LCBqdXN0IHVzZSAK ZmVuY2Vfd2FpdF90aW1lb3V0KCZmZW5jZS0+YmFzZSwgUkFERU9OX0lCX1RFU1RfVElNRU9VVCkg Zm9yIHRoaXMuCgpBcGFydCBmcm9tIHRoYXQgdGhlIGlkZWEgbG9va3MgcmVhbGx5IGdvb2QgdG8g bWUuCgpSZWdhcmRzLApDaHJpc3RpYW4uCgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9jaWtfc2RtYS5jICAgICB8ICAzICsrLQo+ICAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMTAw LmMgICAgICAgICB8ICAzICsrLQo+ICAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwLmMgICAg ICAgICB8ICAzICsrLQo+ICAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwX2RtYS5jICAgICB8 ICAzICsrLQo+ICAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaCAgICAgICB8ICAxICsK PiAgIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ZlbmNlLmMgfCAyNSArKysrKysrKysr KysrKysrKysrKysrLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl92Y2UuYyAg IHwgIDMgKystCj4gICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3V2ZF92MV8wLmMgICAgIHwgIDMg KystCj4gICA4IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0p Cj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9jaWtfc2RtYS5jIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9jaWtfc2RtYS5jCj4gaW5kZXggZDE2ZjJlZS4uMDE0ZjVjYSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2Npa19zZG1hLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL2Npa19zZG1hLmMKPiBAQCAtNzM3LDcgKzczNyw4IEBAIGlu dCBjaWtfc2RtYV9pYl90ZXN0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFk ZW9uX3JpbmcgKnJpbmcpCj4gICAJCURSTV9FUlJPUigicmFkZW9uOiBmYWlsZWQgdG8gc2NoZWR1 bGUgaWIgKCVkKS5cbiIsIHIpOwo+ICAgCQlyZXR1cm4gcjsKPiAgIAl9Cj4gLQlyID0gcmFkZW9u X2ZlbmNlX3dhaXQoaWIuZmVuY2UsIGZhbHNlKTsKPiArCXIgPSByYWRlb25fZmVuY2Vfd2FpdF90 aW1lb3V0KGliLmZlbmNlLCBmYWxzZSwgbXNlY3NfdG9famlmZmllcygKPiArCQkocmFkZW9uX2xv Y2t1cF90aW1lb3V0KSA/IHJhZGVvbl9sb2NrdXBfdGltZW91dCA6IE1BWF9TQ0hFRFVMRV9USU1F T1VUKSk7Cj4gICAJaWYgKHIpIHsKPiAgIAkJRFJNX0VSUk9SKCJyYWRlb246IGZlbmNlIHdhaXQg ZmFpbGVkICglZCkuXG4iLCByKTsKPiAgIAkJcmV0dXJuIHI7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcjEwMC5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMTAwLmMK PiBpbmRleCA1ZWFlMGE4Li41Mzg2YzA5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vcjEwMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMTAwLmMKPiBAQCAt MzczMiw3ICszNzMyLDggQEAgaW50IHIxMDBfaWJfdGVzdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAq cmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nKQo+ICAgCQlEUk1fRVJST1IoInJhZGVvbjog ZmFpbGVkIHRvIHNjaGVkdWxlIGliICglZCkuXG4iLCByKTsKPiAgIAkJZ290byBmcmVlX2liOwo+ ICAgCX0KPiAtCXIgPSByYWRlb25fZmVuY2Vfd2FpdChpYi5mZW5jZSwgZmFsc2UpOwo+ICsJciA9 IHJhZGVvbl9mZW5jZV93YWl0X3RpbWVvdXQoaWIuZmVuY2UsIGZhbHNlLCBtc2Vjc190b19qaWZm aWVzKAo+ICsJCShyYWRlb25fbG9ja3VwX3RpbWVvdXQpID8gcmFkZW9uX2xvY2t1cF90aW1lb3V0 IDogTUFYX1NDSEVEVUxFX1RJTUVPVVQpKTsKPiAgIAlpZiAocikgewo+ICAgCQlEUk1fRVJST1Io InJhZGVvbjogZmVuY2Ugd2FpdCBmYWlsZWQgKCVkKS5cbiIsIHIpOwo+ICAgCQlnb3RvIGZyZWVf aWI7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jIGIvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yNjAwLmMKPiBpbmRleCBjYzJmZGYwLi44ZmJlNWQ3IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yNjAwLmMKPiBAQCAtMzM4MSw3ICszMzgxLDggQEAgaW50IHI2MDBfaWJfdGVz dChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nKQo+ ICAgCQlEUk1fRVJST1IoInJhZGVvbjogZmFpbGVkIHRvIHNjaGVkdWxlIGliICglZCkuXG4iLCBy KTsKPiAgIAkJZ290byBmcmVlX2liOwo+ICAgCX0KPiAtCXIgPSByYWRlb25fZmVuY2Vfd2FpdChp Yi5mZW5jZSwgZmFsc2UpOwo+ICsJciA9IHJhZGVvbl9mZW5jZV93YWl0X3RpbWVvdXQoaWIuZmVu Y2UsIGZhbHNlLCBtc2Vjc190b19qaWZmaWVzKAo+ICsJCShyYWRlb25fbG9ja3VwX3RpbWVvdXQp ID8gcmFkZW9uX2xvY2t1cF90aW1lb3V0IDogTUFYX1NDSEVEVUxFX1RJTUVPVVQpKTsKPiAgIAlp ZiAocikgewo+ICAgCQlEUk1fRVJST1IoInJhZGVvbjogZmVuY2Ugd2FpdCBmYWlsZWQgKCVkKS5c biIsIHIpOwo+ICAgCQlnb3RvIGZyZWVfaWI7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcjYwMF9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMF9kbWEuYwo+ IGluZGV4IGQyZGQyOWEuLjNmZjYxNGQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yNjAwX2RtYS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwX2RtYS5j Cj4gQEAgLTM2OCw3ICszNjgsOCBAQCBpbnQgcjYwMF9kbWFfaWJfdGVzdChzdHJ1Y3QgcmFkZW9u X2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nKQo+ICAgCQlEUk1fRVJST1Io InJhZGVvbjogZmFpbGVkIHRvIHNjaGVkdWxlIGliICglZCkuXG4iLCByKTsKPiAgIAkJcmV0dXJu IHI7Cj4gICAJfQo+IC0JciA9IHJhZGVvbl9mZW5jZV93YWl0KGliLmZlbmNlLCBmYWxzZSk7Cj4g KwlyID0gcmFkZW9uX2ZlbmNlX3dhaXRfdGltZW91dChpYi5mZW5jZSwgZmFsc2UsIG1zZWNzX3Rv X2ppZmZpZXMoCj4gKwkJKHJhZGVvbl9sb2NrdXBfdGltZW91dCkgPyByYWRlb25fbG9ja3VwX3Rp bWVvdXQgOiBNQVhfU0NIRURVTEVfVElNRU9VVCkpOwo+ICAgCWlmIChyKSB7Cj4gICAJCURSTV9F UlJPUigicmFkZW9uOiBmZW5jZSB3YWl0IGZhaWxlZCAoJWQpLlxuIiwgcik7Cj4gICAJCXJldHVy biByOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaAo+IGluZGV4IDVhZTZkYjkuLjBiNjk4YjYgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaAo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKPiBAQCAtMzgyLDYgKzM4Miw3IEBAIHZvaWQgcmFk ZW9uX2ZlbmNlX2RyaXZlcl9mb3JjZV9jb21wbGV0aW9uKHN0cnVjdCByYWRlb25fZGV2aWNlICpy ZGV2LCBpbnQgcmluZyk7Cj4gICBpbnQgcmFkZW9uX2ZlbmNlX2VtaXQoc3RydWN0IHJhZGVvbl9k ZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRlb25fZmVuY2UgKipmZW5jZSwgaW50IHJpbmcpOwo+ICAg dm9pZCByYWRlb25fZmVuY2VfcHJvY2VzcyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50 IHJpbmcpOwo+ICAgYm9vbCByYWRlb25fZmVuY2Vfc2lnbmFsZWQoc3RydWN0IHJhZGVvbl9mZW5j ZSAqZmVuY2UpOwo+ICtpbnQgcmFkZW9uX2ZlbmNlX3dhaXRfdGltZW91dChzdHJ1Y3QgcmFkZW9u X2ZlbmNlICpmZW5jZSwgYm9vbCBpbnRlcnJ1cHRpYmxlLCBsb25nIHRpbWVvdXQpOwo+ICAgaW50 IHJhZGVvbl9mZW5jZV93YWl0KHN0cnVjdCByYWRlb25fZmVuY2UgKmZlbmNlLCBib29sIGludGVy cnVwdGlibGUpOwo+ICAgaW50IHJhZGVvbl9mZW5jZV93YWl0X25leHQoc3RydWN0IHJhZGVvbl9k ZXZpY2UgKnJkZXYsIGludCByaW5nKTsKPiAgIGludCByYWRlb25fZmVuY2Vfd2FpdF9lbXB0eShz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IHJpbmcpOwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9mZW5jZS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fZmVuY2UuYwo+IGluZGV4IDA1ODE1YzQuLjlmZWM4MDUgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZmVuY2UuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2ZlbmNlLmMKPiBAQCAtNTI3LDcgKzUyNyw3IEBAIHN0YXRpYyBs b25nIHJhZGVvbl9mZW5jZV93YWl0X3NlcV90aW1lb3V0KHN0cnVjdCByYWRlb25fZGV2aWNlICpy ZGV2LAo+ICAgfQo+ICAgCj4gICAvKioKPiAtICogcmFkZW9uX2ZlbmNlX3dhaXQgLSB3YWl0IGZv ciBhIGZlbmNlIHRvIHNpZ25hbAo+ICsgKiByYWRlb25fZmVuY2Vfd2FpdF90aW1lb3V0IC0gd2Fp dCBmb3IgYSBmZW5jZSB0byBzaWduYWwgd2l0aCB0aW1lb3V0Cj4gICAgKgo+ICAgICogQGZlbmNl OiByYWRlb24gZmVuY2Ugb2JqZWN0Cj4gICAgKiBAaW50cjogdXNlIGludGVycnVwdGlibGUgc2xl ZXAKPiBAQCAtNTM1LDkgKzUzNSwxMCBAQCBzdGF0aWMgbG9uZyByYWRlb25fZmVuY2Vfd2FpdF9z ZXFfdGltZW91dChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKPiAgICAqIFdhaXQgZm9yIHRo ZSByZXF1ZXN0ZWQgZmVuY2UgdG8gc2lnbmFsIChhbGwgYXNpY3MpLgo+ICAgICogQGludHIgc2Vs ZWN0cyB3aGV0aGVyIHRvIHVzZSBpbnRlcnJ1cHRhYmxlICh0cnVlKSBvciBub24taW50ZXJydXB0 YWJsZQo+ICAgICogKGZhbHNlKSBzbGVlcCB3aGVuIHdhaXRpbmcgZm9yIHRoZSBmZW5jZS4KPiAr ICogQHRpbWVvdXQ6IG1heGltdW0gdGltZSB0byB3YWl0LCBvciBNQVhfU0NIRURVTEVfVElNRU9V VCBmb3IgaW5maW5pdGUgd2FpdAo+ICAgICogUmV0dXJucyAwIGlmIHRoZSBmZW5jZSBoYXMgcGFz c2VkLCBlcnJvciBmb3IgYWxsIG90aGVyIGNhc2VzLgo+ICAgICovCj4gLWludCByYWRlb25fZmVu Y2Vfd2FpdChzdHJ1Y3QgcmFkZW9uX2ZlbmNlICpmZW5jZSwgYm9vbCBpbnRyKQo+ICtpbnQgcmFk ZW9uX2ZlbmNlX3dhaXRfdGltZW91dChzdHJ1Y3QgcmFkZW9uX2ZlbmNlICpmZW5jZSwgYm9vbCBp bnRyLCBsb25nIHRpbWVvdXQpCj4gICB7Cj4gICAJdWludDY0X3Qgc2VxW1JBREVPTl9OVU1fUklO R1NdID0ge307Cj4gICAJbG9uZyByOwo+IEBAIC01NTIsOSArNTUzLDExIEBAIGludCByYWRlb25f ZmVuY2Vfd2FpdChzdHJ1Y3QgcmFkZW9uX2ZlbmNlICpmZW5jZSwgYm9vbCBpbnRyKQo+ICAgCQly ZXR1cm4gZmVuY2Vfd2FpdCgmZmVuY2UtPmJhc2UsIGludHIpOwo+ICAgCj4gICAJc2VxW2ZlbmNl LT5yaW5nXSA9IGZlbmNlLT5zZXE7Cj4gLQlyID0gcmFkZW9uX2ZlbmNlX3dhaXRfc2VxX3RpbWVv dXQoZmVuY2UtPnJkZXYsIHNlcSwgaW50ciwgTUFYX1NDSEVEVUxFX1RJTUVPVVQpOwo+ICsJciA9 IHJhZGVvbl9mZW5jZV93YWl0X3NlcV90aW1lb3V0KGZlbmNlLT5yZGV2LCBzZXEsIGludHIsIHRp bWVvdXQpOwo+ICAgCWlmIChyIDwgMCkgewo+ICAgCQlyZXR1cm4gcjsKPiArCX0gZWxzZSBpZiAo ciA9PSAwKSB7Cj4gKwkJcmV0dXJuIC1FVElNRURPVVQ7Cj4gICAJfQo+ICAgCj4gICAJciA9IGZl bmNlX3NpZ25hbCgmZmVuY2UtPmJhc2UpOwo+IEBAIC01NjQsNiArNTY3LDIyIEBAIGludCByYWRl b25fZmVuY2Vfd2FpdChzdHJ1Y3QgcmFkZW9uX2ZlbmNlICpmZW5jZSwgYm9vbCBpbnRyKQo+ICAg fQo+ICAgCj4gICAvKioKPiArICogcmFkZW9uX2ZlbmNlX3dhaXQgLSB3YWl0IGZvciBhIGZlbmNl IHRvIHNpZ25hbAo+ICsgKgo+ICsgKiBAZmVuY2U6IHJhZGVvbiBmZW5jZSBvYmplY3QKPiArICog QGludHI6IHVzZSBpbnRlcnJ1cHRpYmxlIHNsZWVwCj4gKyAqCj4gKyAqIFdhaXQgZm9yIHRoZSBy ZXF1ZXN0ZWQgZmVuY2UgdG8gc2lnbmFsIChhbGwgYXNpY3MpLgo+ICsgKiBAaW50ciBzZWxlY3Rz IHdoZXRoZXIgdG8gdXNlIGludGVycnVwdGFibGUgKHRydWUpIG9yIG5vbi1pbnRlcnJ1cHRhYmxl Cj4gKyAqIChmYWxzZSkgc2xlZXAgd2hlbiB3YWl0aW5nIGZvciB0aGUgZmVuY2UuCj4gKyAqIFJl dHVybnMgMCBpZiB0aGUgZmVuY2UgaGFzIHBhc3NlZCwgZXJyb3IgZm9yIGFsbCBvdGhlciBjYXNl cy4KPiArICovCj4gK2ludCByYWRlb25fZmVuY2Vfd2FpdChzdHJ1Y3QgcmFkZW9uX2ZlbmNlICpm ZW5jZSwgYm9vbCBpbnRyKQo+ICt7Cj4gKwlyZXR1cm4gcmFkZW9uX2ZlbmNlX3dhaXRfdGltZW91 dChmZW5jZSwgaW50ciwgTUFYX1NDSEVEVUxFX1RJTUVPVVQpOwo+ICt9Cj4gKwo+ICsvKioKPiAg ICAqIHJhZGVvbl9mZW5jZV93YWl0X2FueSAtIHdhaXQgZm9yIGEgZmVuY2UgdG8gc2lnbmFsIG9u IGFueSByaW5nCj4gICAgKgo+ICAgICogQHJkZXY6IHJhZGVvbiBkZXZpY2UgcG9pbnRlcgo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl92Y2UuYyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX3ZjZS5jCj4gaW5kZXggN2ViMWFlNy4uN2Q4MGRhZCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl92Y2UuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3ZjZS5jCj4gQEAgLTgxMCw3ICs4MTAsOCBAQCBp bnQgcmFkZW9uX3ZjZV9pYl90ZXN0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3Qg cmFkZW9uX3JpbmcgKnJpbmcpCj4gICAJCWdvdG8gZXJyb3I7Cj4gICAJfQo+ICAgCj4gLQlyID0g cmFkZW9uX2ZlbmNlX3dhaXQoZmVuY2UsIGZhbHNlKTsKPiArCXIgPSByYWRlb25fZmVuY2Vfd2Fp dF90aW1lb3V0KGZlbmNlLCBmYWxzZSwgbXNlY3NfdG9famlmZmllcygKPiArCQkocmFkZW9uX2xv Y2t1cF90aW1lb3V0KSA/IHJhZGVvbl9sb2NrdXBfdGltZW91dCA6IE1BWF9TQ0hFRFVMRV9USU1F T1VUKSk7Cj4gICAJaWYgKHIpIHsKPiAgIAkJRFJNX0VSUk9SKCJyYWRlb246IGZlbmNlIHdhaXQg ZmFpbGVkICglZCkuXG4iLCByKTsKPiAgIAl9IGVsc2Ugewo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3V2ZF92MV8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3V2ZF92 MV8wLmMKPiBpbmRleCBjNmIxY2JjLi4zNWNhYTg5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vdXZkX3YxXzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vdXZk X3YxXzAuYwo+IEBAIC01MjIsNyArNTIyLDggQEAgaW50IHV2ZF92MV8wX2liX3Rlc3Qoc3RydWN0 IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRlb25fcmluZyAqcmluZykKPiAgIAkJZ290 byBlcnJvcjsKPiAgIAl9Cj4gICAKPiAtCXIgPSByYWRlb25fZmVuY2Vfd2FpdChmZW5jZSwgZmFs c2UpOwo+ICsJciA9IHJhZGVvbl9mZW5jZV93YWl0X3RpbWVvdXQoZmVuY2UsIGZhbHNlLCBtc2Vj c190b19qaWZmaWVzKAo+ICsJCShyYWRlb25fbG9ja3VwX3RpbWVvdXQpID8gcmFkZW9uX2xvY2t1 cF90aW1lb3V0IDogTUFYX1NDSEVEVUxFX1RJTUVPVVQpKTsKPiAgIAlpZiAocikgewo+ICAgCQlE Uk1fRVJST1IoInJhZGVvbjogZmVuY2Ugd2FpdCBmYWlsZWQgKCVkKS5cbiIsIHIpOwo+ICAgCQln b3RvIGVycm9yOwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK