Date: Tue, 19 Apr 2022 12:18:25 +0000 From: Mahesh Vardhamanaiah <maheshmv@juniper.net> To: Hans Petter Selasky <hps@selasky.org>, Kamal Prasad <krprasad@juniper.net>, "freebsd-usb@freebsd.org" <freebsd-usb@freebsd.org> Cc: Steve Kiernan <stevek@juniper.net>, Justin Hibbits <jhibbits@juniper.net>, Kumara N Babu <bkumara@juniper.net>, Kristof Provost <kp@FreeBSD.org>, "Bjoern A. Zeeb" <bz@FreeBSD.org> Subject: RE: xhci data toggle out of sync Message-ID: <PH0PR05MB7782256322BA96569E14709BD5F29@PH0PR05MB7782.namprd05.prod.outlook.com> In-Reply-To: <3151db6c-80ae-8736-dcdb-9fecaf028318@selasky.org> References: <PH0PR05MB778212B54B636F87C246F62AD5F39@PH0PR05MB7782.namprd05.prod.outlook.com> <61bc4594-f2d3-17c4-42b5-0297ffd78fa3@selasky.org> <PH0PR05MB7782707B34F020611B7FA6C3D5F39@PH0PR05MB7782.namprd05.prod.outlook.com> <8f51424d-7d1a-9f0a-a0ba-27b02cab0942@selasky.org> <PH0PR05MB7782C512E3F29F34A546300BD5F29@PH0PR05MB7782.namprd05.prod.outlook.com> <459317b1-a87d-5f1d-3a52-83ceee48056d@selasky.org> <PH0PR05MB77828A618B7BAD70DB98C534D5F29@PH0PR05MB7782.namprd05.prod.outlook.com> <b6d72337-720c-2907-a3df-70fcb0c192d8@selasky.org> <PH0PR05MB7782636A101DD636745EC02ED5F29@PH0PR05MB7782.namprd05.prod.outlook.com> <6ace38e0-160f-e4ab-12d4-3af5c0113d1e@selasky.org> <33D78B28-EEFC-4A24-8E27-329CCA3782EF@juniper.net> <20e0397e-927e-c258-c26f-228cab9ece22@selasky.org> <PH0PR05MB77823ABEB1555B3AAE42D6B9D5F29@PH0PR05MB7782.namprd05.prod.outlook.com> <3151db6c-80ae-8736-dcdb-9fecaf028318@selasky.org>
next in thread | previous in thread | raw e-mail | index | archive | help
SGkgSFBTLA0KSSB0aGluayB0aGVyZSBpcyBzb21lIGNvbmZ1c2lvbiB0aGUgZXJyb3IgSSBhbSBw cmludGluZyBpcyBpbiBIRVggdmFsdWUgc28gdGhlIGRlY2ltYWwgZXJyb3IgY29kZSBpcyANCg0K VVNCX0VSUl9JT0VSUk9SLAkJLyogMTggKi8NCg0KDQpTb3JyeSBhYm91dCB0aGUgY29uZnVzaW9u Lg0KDQpUaGFua3MsDQpNYWhlc2gNCg0KDQoNCg0KSnVuaXBlciBCdXNpbmVzcyBVc2UgT25seQ0K DQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogSGFucyBQZXR0ZXIgU2VsYXNreSA8 aHBzQHNlbGFza3kub3JnPiANClNlbnQ6IFR1ZXNkYXksIEFwcmlsIDE5LCAyMDIyIDU6MTUgUE0N ClRvOiBNYWhlc2ggVmFyZGhhbWFuYWlhaCA8bWFoZXNobXZAanVuaXBlci5uZXQ+OyBLYW1hbCBQ cmFzYWQgPGtycHJhc2FkQGp1bmlwZXIubmV0PjsgZnJlZWJzZC11c2JAZnJlZWJzZC5vcmcNCkNj OiBTdGV2ZSBLaWVybmFuIDxzdGV2ZWtAanVuaXBlci5uZXQ+OyBKdXN0aW4gSGliYml0cyA8amhp YmJpdHNAanVuaXBlci5uZXQ+OyBLdW1hcmEgTiBCYWJ1IDxia3VtYXJhQGp1bmlwZXIubmV0Pjsg S3Jpc3RvZiBQcm92b3N0IDxrcEBGcmVlQlNELm9yZz47IEJqb2VybiBBLiBaZWViIDxiekBGcmVl QlNELm9yZz4NClN1YmplY3Q6IFJlOiB4aGNpIGRhdGEgdG9nZ2xlIG91dCBvZiBzeW5jDQoNCltF eHRlcm5hbCBFbWFpbC4gQmUgY2F1dGlvdXMgb2YgY29udGVudF0NCg0KDQpPbiA0LzE5LzIyIDEz OjM2LCBNYWhlc2ggVmFyZGhhbWFuYWlhaCB3cm90ZToNCj4gSGkgSFBTLA0KPg0KPiBQbGVhc2Ug ZmluZCB0aGUgZGlmZiBiZWxvdyBmb3IgdGhlIGVycm9yIHByaW50cy4NCj4NCj4NCj4gW21haGVz aG12QHN2bC1ic2R4LTAyIC9iL21haGVzaG12L3VzYl9pc3N1ZS9zcmNdJCBnaXQgZGlmZiANCj4g c3lzL2Rldi91c2IvY29udHJvbGxlci94aGNpLmMgZGlmZiAtLWdpdCANCj4gYS9zeXMvZGV2L3Vz Yi9jb250cm9sbGVyL3hoY2kuYyBiL3N5cy9kZXYvdXNiL2NvbnRyb2xsZXIveGhjaS5jIGluZGV4 IA0KPiA3MGE3M2RjYzk0Yy4uZmE3YzEwNjJhZGEgMTAwNjQ0DQo+IC0tLSBhL3N5cy9kZXYvdXNi L2NvbnRyb2xsZXIveGhjaS5jDQo+ICsrKyBiL3N5cy9kZXYvdXNiL2NvbnRyb2xsZXIveGhjaS5j DQo+IEBAIC0zODk1LDYgKzM4OTUsNyBAQCB4aGNpX2NvbmZpZ3VyZV9yZXNldF9lbmRwb2ludChz dHJ1Y3QgdXNiX3hmZXIgKnhmZXIpDQo+ICAgICAgICAgICAqIEdldCB0aGUgZW5kcG9pbnQgaW50 byB0aGUgc3RvcHBlZCBzdGF0ZSBhY2NvcmRpbmcgdG8gdGhlDQo+ICAgICAgICAgICAqIGVuZHBv aW50IGNvbnRleHQgc3RhdGUgZGlhZ3JhbSBpbiB0aGUgWEhDSSBzcGVjaWZpY2F0aW9uOg0KPiAg ICAgICAgICAgKi8NCj4gKyNpZiAwDQo+ICAgICAgICAgIHN3aXRjaCAoeGhjaV9nZXRfZW5kcG9p bnRfc3RhdGUodWRldiwgZXBubykpIHsNCj4gICAgICAgICAgY2FzZSBYSENJX0VQQ1RYXzBfRVBT VEFURV9ESVNBQkxFRDoNCj4gICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+IEBAIC0zOTA5LDgg KzM5MTAsMjUgQEAgeGhjaV9jb25maWd1cmVfcmVzZXRfZW5kcG9pbnQoc3RydWN0IHVzYl94ZmVy ICp4ZmVyKQ0KPiAgICAgICAgICAgICAgICAgIGVyciA9IHhoY2lfY21kX3N0b3BfZXAoc2MsIDAs IGVwbm8sIGluZGV4KTsNCj4gICAgICAgICAgICAgICAgICBpZiAoZXJyICE9IDApDQo+ICAgICAg ICAgICAgICAgICAgICAgICAgICBEUFJJTlRGKCJDb3VsZCBub3Qgc3RvcCBlbmRwb2ludCAldVxu IiwgDQo+IGVwbm8pOw0KPiArICAgICAgICAgICAgICAgLyoNCj4gKyAgICAgICAgICAgICAgICAq IE5lZWQgdG8gcmVzZXQgdGhlIGRhdGEgdG9nZ2xlLCBiZWNhdXNlIHN0b3ANCj4gKyAgICAgICAg ICAgICAgICAqIGVuZHBvaW50IGRvZXNuJ3QgZG8gdGhhdDoNCj4gKyAgICAgICAgICAgICAgICAq Lw0KPiArICAgICAgICAgICAgICAgZXJyID0geGhjaV9jbWRfcmVzZXRfZXAoc2MsIDAsIGVwbm8s IGluZGV4KTsNCj4gKyAgICAgICAgICAgICAgIGlmIChlcnIgIT0gMCkNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgRFBSSU5URigiTWFoZXNoIENvdWxkIG5vdCByZXNldCBlbmRwb2ludCANCj4g KyAldVxuIiwgZXBubyk7DQo+ICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+ICAgICAgICAgIH0N Cj4gKyNlbmRpZg0KPiArDQo+ICsgICAgICAgZGV2aWNlX3ByaW50ZihzYy0+c2NfYnVzLnBhcmVu dCwgIk1NViBlbmRwb2ludCAldSBzdGF0ZSAleFxuIiwgZXBubywgeGhjaV9nZXRfZW5kcG9pbnRf c3RhdGUodWRldiwgZXBubykpOw0KPiArICAgICAgIGVyciA9IHhoY2lfY21kX3N0b3BfZXAoc2Ms IDAsIGVwbm8sIGluZGV4KTsNCj4gKyAgICAgICBpZiAoZXJyICE9MCkNCj4gKyAgICAgICAgICAg ICAgIGRldmljZV9wcmludGYoc2MtPnNjX2J1cy5wYXJlbnQsICJNTVYgQ291bGQgbm90IHN0b3Ag DQo+ICsgZW5kcG9pbnQgJXUgZXJyICV4XG4iLCBlcG5vLCBlcnIpOw0KPiArDQo+ICsgICAgICAg ZXJyID0geGhjaV9jbWRfcmVzZXRfZXAoc2MsIDAsIGVwbm8sIGluZGV4KTsNCj4gKyAgICAgICBp ZiAoZXJyICE9MCkNCj4gKyAgICAgICAgICAgICAgIGRldmljZV9wcmludGYoc2MtPnNjX2J1cy5w YXJlbnQsICJNTVYgQ291bGQgbm90IHJlc2V0IA0KPiArIGVuZHBvaW50ICV1IGVyciAleFxuIiwg ZXBubywgZXJyKTsNCj4NCj4gICAgICAgICAgZXJyID0geGhjaV9jbWRfc2V0X3RyX2RlcXVldWVf cHRyKHNjLA0KPiAgICAgICAgICAgICAgKHBlcGV4dC0+cGh5c2FkZHIgKyAoc3RyZWFtX2lkICog c2l6ZW9mKHN0cnVjdCB4aGNpX3RyYikgDQo+ICoNCj4NCj4NCg0KSGksDQoNCkNhbiB5b3UgY2hl Y2sgb24geW91ciBzaWRlIHdoZXJlIHRoZSBVU0JfRVJSX05PX1BJUEUgY29tZXMgZnJvbT8gSSBj YW5ub3QgZmluZCBpdD8NCg0KeGhjaV9jbWRfcmVzZXRfZXAoKSBsb29rcyBsaWtlIHRoaXM6DQoN Cj4gc3RhdGljIHVzYl9lcnJvcl90DQo+IHhoY2lfY21kX3Jlc2V0X2VwKHN0cnVjdCB4aGNpX3Nv ZnRjICpzYywgdWludDhfdCBwcmVzZXJ2ZSwNCj4gICAgIHVpbnQ4X3QgZXBfaWQsIHVpbnQ4X3Qg c2xvdF9pZCkNCj4gew0KPiAgICAgICBzdHJ1Y3QgeGhjaV90cmIgdHJiOw0KPiAgICAgICB1aW50 MzJfdCB0ZW1wOw0KPg0KPiAgICAgICBEUFJJTlRGKCJcbiIpOw0KPg0KPiAgICAgICB0cmIucXdU cmIwID0gMDsNCj4gICAgICAgdHJiLmR3VHJiMiA9IDA7DQo+ICAgICAgIHRlbXAgPSBYSENJX1RS Ql8zX1RZUEVfU0VUKFhIQ0lfVFJCX1RZUEVfUkVTRVRfRVApIHwNCj4gICAgICAgICAgIFhIQ0lf VFJCXzNfU0xPVF9TRVQoc2xvdF9pZCkgfA0KPiAgICAgICAgICAgWEhDSV9UUkJfM19FUF9TRVQo ZXBfaWQpOw0KPg0KPiAgICAgICBpZiAocHJlc2VydmUpDQo+ICAgICAgICAgICAgICAgdGVtcCB8 PSBYSENJX1RSQl8zX1BSU1ZfQklUOw0KPg0KPiAgICAgICB0cmIuZHdUcmIzID0gaHRvbGUzMih0 ZW1wKTsNCj4NCj4gICAgICAgcmV0dXJuICh4aGNpX2RvX2NvbW1hbmQoc2MsICZ0cmIsIDEwMCAv KiBtcyAqLykpOyB9DQoNCj4gc3RhdGljIHVzYl9lcnJvcl90DQo+IHhoY2lfZG9fY29tbWFuZChz dHJ1Y3QgeGhjaV9zb2Z0YyAqc2MsIHN0cnVjdCB4aGNpX3RyYiAqdHJiLA0KPiAgICAgdWludDE2 X3QgdGltZW91dF9tcykNCj4gew0KPiAgICAgICBzdHJ1Y3QgdXNiX3BhZ2Vfc2VhcmNoIGJ1Zl9y ZXM7DQo+ICAgICAgIHN0cnVjdCB4aGNpX2h3X3Jvb3QgKnBod3I7DQo+ICAgICAgIHVpbnQ2NF90 IGFkZHI7DQo+ICAgICAgIHVpbnQzMl90IHRlbXA7DQo+ICAgICAgIHVpbnQ4X3QgaTsNCj4gICAg ICAgdWludDhfdCBqOw0KPiAgICAgICB1aW50OF90IHRpbWVvdXQgPSAwOw0KPiAgICAgICBpbnQg ZXJyOw0KPg0KPiAgICAgICBYSENJX0NNRF9BU1NFUlRfTE9DS0VEKHNjKTsNCj4NCj4gICAgICAg LyogZ2V0IGhhcmR3YXJlIHJvb3Qgc3RydWN0dXJlICovDQo+DQo+ICAgICAgIHVzYmRfZ2V0X3Bh Z2UoJnNjLT5zY19ody5yb290X3BjLCAwLCAmYnVmX3Jlcyk7DQo+DQo+ICAgICAgIHBod3IgPSBi dWZfcmVzLmJ1ZmZlcjsNCj4NCj4gICAgICAgLyogUXVldWUgY29tbWFuZCAqLw0KPg0KPiAgICAg ICBVU0JfQlVTX0xPQ0soJnNjLT5zY19idXMpOw0KPiByZXRyeToNCj4gICAgICAgaSA9IHNjLT5z Y19jb21tYW5kX2lkeDsNCj4gICAgICAgaiA9IHNjLT5zY19jb21tYW5kX2NjczsNCj4NCj4gICAg ICAgRFBSSU5URk4oMTAsICJjb21tYW5kWyV1XSA9ICV1ICgweCUwMTZsbHgsIDB4JTA4bHgsIDB4 JTA4bHgpXG4iLA0KPiAgICAgICAgICAgaSwgWEhDSV9UUkJfM19UWVBFX0dFVChsZTMydG9oKHRy Yi0+ZHdUcmIzKSksDQo+ICAgICAgICAgICAobG9uZyBsb25nKWxlNjR0b2godHJiLT5xd1RyYjAp LA0KPiAgICAgICAgICAgKGxvbmcpbGUzMnRvaCh0cmItPmR3VHJiMiksDQo+ICAgICAgICAgICAo bG9uZylsZTMydG9oKHRyYi0+ZHdUcmIzKSk7DQo+DQo+ICAgICAgIHBod3ItPmh3cl9jb21tYW5k c1tpXS5xd1RyYjAgPSB0cmItPnF3VHJiMDsNCj4gICAgICAgcGh3ci0+aHdyX2NvbW1hbmRzW2ld LmR3VHJiMiA9IHRyYi0+ZHdUcmIyOw0KPg0KPiAgICAgICB1c2JfcGNfY3B1X2ZsdXNoKCZzYy0+ c2NfaHcucm9vdF9wYyk7DQo+DQo+ICAgICAgIHRlbXAgPSB0cmItPmR3VHJiMzsNCj4NCj4gICAg ICAgaWYgKGopDQo+ICAgICAgICAgICAgICAgdGVtcCB8PSBodG9sZTMyKFhIQ0lfVFJCXzNfQ1lD TEVfQklUKTsNCj4gICAgICAgZWxzZQ0KPiAgICAgICAgICAgICAgIHRlbXAgJj0gfmh0b2xlMzIo WEhDSV9UUkJfM19DWUNMRV9CSVQpOw0KPg0KPiAgICAgICB0ZW1wICY9IH5odG9sZTMyKFhIQ0lf VFJCXzNfVENfQklUKTsNCj4NCj4gICAgICAgcGh3ci0+aHdyX2NvbW1hbmRzW2ldLmR3VHJiMyA9 IHRlbXA7DQo+DQo+ICAgICAgIHVzYl9wY19jcHVfZmx1c2goJnNjLT5zY19ody5yb290X3BjKTsN Cj4NCj4gICAgICAgYWRkciA9IGJ1Zl9yZXMucGh5c2FkZHI7DQo+ICAgICAgIGFkZHIgKz0gKHVp bnRwdHJfdCkmKChzdHJ1Y3QgeGhjaV9od19yb290ICopMCktPmh3cl9jb21tYW5kc1tpXTsNCj4N Cj4gICAgICAgc2MtPnNjX2NtZF9hZGRyID0gaHRvbGU2NChhZGRyKTsNCj4NCj4gICAgICAgaSsr Ow0KPg0KPiAgICAgICBpZiAoaSA9PSAoWEhDSV9NQVhfQ09NTUFORFMgLSAxKSkgew0KPg0KPiAg ICAgICAgICAgICAgIGlmIChqKSB7DQo+ICAgICAgICAgICAgICAgICAgICAgICB0ZW1wID0gaHRv bGUzMihYSENJX1RSQl8zX1RDX0JJVCB8DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgWEhD SV9UUkJfM19UWVBFX1NFVChYSENJX1RSQl9UWVBFX0xJTkspIHwNCj4gICAgICAgICAgICAgICAg ICAgICAgICAgICBYSENJX1RSQl8zX0NZQ0xFX0JJVCk7DQo+ICAgICAgICAgICAgICAgfSBlbHNl IHsNCj4gICAgICAgICAgICAgICAgICAgICAgIHRlbXAgPSBodG9sZTMyKFhIQ0lfVFJCXzNfVENf QklUIHwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICBYSENJX1RSQl8zX1RZUEVfU0VUKFhI Q0lfVFJCX1RZUEVfTElOSykpOw0KPiAgICAgICAgICAgICAgIH0NCj4NCj4gICAgICAgICAgICAg ICBwaHdyLT5od3JfY29tbWFuZHNbaV0uZHdUcmIzID0gdGVtcDsNCj4NCj4gICAgICAgICAgICAg ICB1c2JfcGNfY3B1X2ZsdXNoKCZzYy0+c2NfaHcucm9vdF9wYyk7DQo+DQo+ICAgICAgICAgICAg ICAgaSA9IDA7DQo+ICAgICAgICAgICAgICAgaiBePSAxOw0KPiAgICAgICB9DQo+DQo+ICAgICAg IHNjLT5zY19jb21tYW5kX2lkeCA9IGk7DQo+ICAgICAgIHNjLT5zY19jb21tYW5kX2NjcyA9IGo7 DQo+DQo+ICAgICAgIFhXUklURTQoc2MsIGRvb3IsIFhIQ0lfRE9PUkJFTEwoMCksIDApOw0KPg0K PiAgICAgICBlcnIgPSBjdl90aW1lZHdhaXQoJnNjLT5zY19jbWRfY3YsICZzYy0+c2NfYnVzLmJ1 c19tdHgsDQo+ICAgICAgICAgICBVU0JfTVNfVE9fVElDS1ModGltZW91dF9tcykpOw0KPg0KPiAg ICAgICAvKg0KPiAgICAgICAgKiBJbiBzb21lIGVycm9yIGNhc2VzIGV2ZW50IGludGVycnVwdHMg YXJlIG5vdCBnZW5lcmF0ZWQuDQo+ICAgICAgICAqIFBvbGwgb25lIHRpbWUgdG8gc2VlIGlmIHRo ZSBjb21tYW5kIGhhcyBjb21wbGV0ZWQuDQo+ICAgICAgICAqLw0KPiAgICAgICBpZiAoZXJyICE9 IDAgJiYgeGhjaV9pbnRlcnJ1cHRfcG9sbChzYykgIT0gMCkgew0KPiAgICAgICAgICAgICAgIERQ UklOVEYoIkNvbW1hbmQgd2FzIGNvbXBsZXRlZCB3aGVuIHBvbGxpbmdcbiIpOw0KPiAgICAgICAg ICAgICAgIGVyciA9IDA7DQo+ICAgICAgIH0NCj4gICAgICAgaWYgKGVyciAhPSAwKSB7DQo+ICAg ICAgICAgICAgICAgRFBSSU5URigiQ29tbWFuZCB0aW1lb3V0IVxuIik7DQo+ICAgICAgICAgICAg ICAgLyoNCj4gICAgICAgICAgICAgICAgKiBBZnRlciBzb21lIHdlZWtzIG9mIGNvbnRpbnVvdXMg b3BlcmF0aW9uLCBpdCBoYXMNCj4gICAgICAgICAgICAgICAgKiBiZWVuIG9ic2VydmVkIHRoYXQg dGhlIEFTTWVkaWEgVGVjaG5vbG9neSwgQVNNMTA0Mg0KPiAgICAgICAgICAgICAgICAqIFN1cGVy U3BlZWQgVVNCIEhvc3QgQ29udHJvbGxlciBjYW4gc3VkZGVubHkgc3RvcA0KPiAgICAgICAgICAg ICAgICAqIGFjY2VwdGluZyBjb21tYW5kcyB2aWEgdGhlIGNvbW1hbmQgcXVldWUuIFRyeSB0bw0K PiAgICAgICAgICAgICAgICAqIGZpcnN0IHJlc2V0IHRoZSBjb21tYW5kIHF1ZXVlLiBJZiB0aGF0 IGZhaWxzIGRvIGENCj4gICAgICAgICAgICAgICAgKiBob3N0IGNvbnRyb2xsZXIgcmVzZXQuDQo+ ICAgICAgICAgICAgICAgICovDQo+ICAgICAgICAgICAgICAgaWYgKHRpbWVvdXQgPT0gMCAmJg0K PiAgICAgICAgICAgICAgICAgICB4aGNpX3Jlc2V0X2NvbW1hbmRfcXVldWVfbG9ja2VkKHNjKSA9 PSAwKSB7DQo+ICAgICAgICAgICAgICAgICAgICAgICB0ZW1wID0gbGUzMnRvaCh0cmItPmR3VHJi Myk7DQo+DQo+ICAgICAgICAgICAgICAgICAgICAgICAvKg0KPiAgICAgICAgICAgICAgICAgICAg ICAgICogQXZvaWQgaW5maW5pdGUgWEhDSSByZXNldCBsb29wcyBpZiB0aGUgc2V0DQo+ICAgICAg ICAgICAgICAgICAgICAgICAgKiBhZGRyZXNzIGNvbW1hbmQgZmFpbHMgdG8gcmVzcG9uZCBkdWUg dG8gYQ0KPiAgICAgICAgICAgICAgICAgICAgICAgICogbm9uLWVudW1lcmF0aW5nIGRldmljZToN Cj4gICAgICAgICAgICAgICAgICAgICAgICAqLw0KPiAgICAgICAgICAgICAgICAgICAgICAgaWYg KFhIQ0lfVFJCXzNfVFlQRV9HRVQodGVtcCkgPT0gWEhDSV9UUkJfVFlQRV9BRERSRVNTX0RFVklD RSAmJg0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICh0ZW1wICYgWEhDSV9UUkJfM19CU1Jf QklUKSA9PSAwKSB7DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERQUklOVEYoIlNl dCBhZGRyZXNzIHRpbWVvdXRcbiIpOw0KPiAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsN Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dCA9IDE7DQo+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcmV0cnk7DQo+ICAgICAgICAgICAgICAgICAgICAg ICB9DQo+ICAgICAgICAgICAgICAgfSBlbHNlIHsNCj4gICAgICAgICAgICAgICAgICAgICAgIERQ UklOVEYoIkNvbnRyb2xsZXIgcmVzZXQhXG4iKTsNCj4gICAgICAgICAgICAgICAgICAgICAgIHVz Yl9idXNfcmVzZXRfYXN5bmNfbG9ja2VkKCZzYy0+c2NfYnVzKTsNCj4gICAgICAgICAgICAgICB9 DQo+ICAgICAgICAgICAgICAgZXJyID0gVVNCX0VSUl9USU1FT1VUOw0KPiAgICAgICAgICAgICAg IHRyYi0+ZHdUcmIyID0gMDsNCj4gICAgICAgICAgICAgICB0cmItPmR3VHJiMyA9IDA7DQo+ICAg ICAgIH0gZWxzZSB7DQo+ICAgICAgICAgICAgICAgdGVtcCA9IGxlMzJ0b2goc2MtPnNjX2NtZF9y ZXN1bHRbMF0pOw0KPiAgICAgICAgICAgICAgIGlmIChYSENJX1RSQl8yX0VSUk9SX0dFVCh0ZW1w KSAhPSBYSENJX1RSQl9FUlJPUl9TVUNDRVNTKQ0KPiAgICAgICAgICAgICAgICAgICAgICAgZXJy ID0gVVNCX0VSUl9JT0VSUk9SOw0KPg0KPiAgICAgICAgICAgICAgIHRyYi0+ZHdUcmIyID0gc2Mt PnNjX2NtZF9yZXN1bHRbMF07DQo+ICAgICAgICAgICAgICAgdHJiLT5kd1RyYjMgPSBzYy0+c2Nf Y21kX3Jlc3VsdFsxXTsNCj4gICAgICAgfQ0KPg0KPiAgICAgICBVU0JfQlVTX1VOTE9DSygmc2Mt PnNjX2J1cyk7DQo+DQo+ICAgICAgIHJldHVybiAoZXJyKTsNCj4gfQ0KDQotLUhQUw0K
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi? <PH0PR05MB7782256322BA96569E14709BD5F29>