RE: [EXT] [PATCH 39/65] media: imx-jpeg: Access v4l2_fh from file
Ming Qian <[email protected]> Tue, 5 Aug 2025 01:58:01 +0000
| Newsgroups | gmane.linux.ports.tegra,gmane.linux.drivers.video-input-infrastructure,gmane.linux.kernel,gmane.linux.documentation,gmane.linux.ports.arm.kernel,gmane.linux.ports.arm.mediatek,gmane.linux.kernel.renesas-soc,gmane.linux.ports.arm.msm,gmane.linux.kernel.samsung-soc,gmane.linux.usb.general,gmane.linux.ports.arm.rockchip,gmane.comp.video.mjpeg.user |
|---|---|
| Message-ID | <PAXPR04MB82541D50F538EECA4EE244BFE722A@PAXPR04MB8254.eurprd04.prod.outlook.com> |
DQoNCj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPkZyb206IEphY29wbyBNb25kaSA8amFj b3BvLm1vbmRpQGlkZWFzb25ib2FyZC5jb20+DQo+U2VudDogU2F0dXJkYXksIEF1Z3VzdCAyLCAy MDI1IDU6MjMgUE0NCj5UbzogTWF1cm8gQ2FydmFsaG8gQ2hlaGFiIDxtY2hlaGFiQGtlcm5lbC5v cmc+OyBEZXZhcnNoIFRoYWtrYXINCj48ZGV2YXJzaHRAdGkuY29tPjsgQmVub2l0IFBhcnJvdCA8 YnBhcnJvdEB0aS5jb20+OyBIYW5zIFZlcmt1aWwNCj48aHZlcmt1aWxAa2VybmVsLm9yZz47IE1p a2UgSXNlbHkgPGlzZWx5QHBvYm94LmNvbT47IExhdXJlbnQgUGluY2hhcnQNCj48bGF1cmVudC5w aW5jaGFydEBpZGVhc29uYm9hcmQuY29tPjsgSGFucyBkZSBHb2VkZSA8aGFuc2dAa2VybmVsLm9y Zz47DQo+UGFydGhpYmFuIFZlZXJhc29vcmFuIDxwYXJ0aGliYW4udmVlcmFzb29yYW5AbWljcm9j aGlwLmNvbT47IENocmlzdGlhbg0KPkdyb21tIDxjaHJpc3RpYW4uZ3JvbW1AbWljcm9jaGlwLmNv bT47IEdyZWcgS3JvYWgtSGFydG1hbg0KPjxncmVna2hAbGludXhmb3VuZGF0aW9uLm9yZz47IEFs ZXggU2hpIDxhbGV4c0BrZXJuZWwub3JnPjsgWWFudGVuZyBTaQ0KPjxzaS55YW50ZW5nQGxpbnV4 LmRldj47IERvbmdsaWFuZyBNdSA8ZHptOTFAaHVzdC5lZHUuY24+OyBKb25hdGhhbg0KPkNvcmJl dCA8Y29yYmV0QGx3bi5uZXQ+OyBUb21hc3ogRmlnYSA8dGZpZ2FAY2hyb21pdW0ub3JnPjsgTWFy ZWsNCj5Tenlwcm93c2tpIDxtLnN6eXByb3dza2lAc2Ftc3VuZy5jb20+OyBBbmR5IFdhbGxzDQo+ PGF3YWxsc0BtZC5tZXRyb2Nhc3QubmV0PjsgTWljaGFlbCBUcmV0dGVyIDxtLnRyZXR0ZXJAcGVu Z3V0cm9uaXguZGU+Ow0KPlBlbmd1dHJvbml4IEtlcm5lbCBUZWFtIDxrZXJuZWxAcGVuZ3V0cm9u aXguZGU+OyBCaW4gTGl1DQo+PGJpbi5saXVAbWVkaWF0ZWsuY29tPjsgTWF0dGhpYXMgQnJ1Z2dl ciA8bWF0dGhpYXMuYmdnQGdtYWlsLmNvbT47DQo+QW5nZWxvR2lvYWNjaGlubyBEZWwgUmVnbm8g PGFuZ2Vsb2dpb2FjY2hpbm8uZGVscmVnbm9AY29sbGFib3JhLmNvbT47DQo+RG1pdHJ5IE9zaXBl bmtvIDxkaWdldHhAZ21haWwuY29tPjsgVGhpZXJyeSBSZWRpbmcNCj48dGhpZXJyeS5yZWRpbmdA Z21haWwuY29tPjsgSm9uYXRoYW4gSHVudGVyIDxqb25hdGhhbmhAbnZpZGlhLmNvbT47DQo+TWly ZWxhIFJhYnVsZWEgPG1pcmVsYS5yYWJ1bGVhQG54cC5jb20+OyBTaGF3biBHdW8NCj48c2hhd25n dW9Aa2VybmVsLm9yZz47IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT47IEZh YmlvDQo+RXN0ZXZhbSA8ZmVzdGV2YW1AZ21haWwuY29tPjsgS2llcmFuIEJpbmdoYW0NCj48a2ll cmFuLmJpbmdoYW0rcmVuZXNhc0BpZGVhc29uYm9hcmQuY29tPjsgTWljaGFsIFNpbWVrDQo+PG1p Y2hhbC5zaW1la0BhbWQuY29tPjsgTWluZyBRaWFuIDxtaW5nLnFpYW5AbnhwLmNvbT47IEVhZ2xl IFpob3UNCj48ZWFnbGUuemhvdUBueHAuY29tPjsgWGF2aWVyIFJvdW1lZ3VlIChPU1MpDQo+PHhh dmllci5yb3VtZWd1ZUBvc3MubnhwLmNvbT47IFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0 cm9uaXguZGU+Ow0KPlZpa2FzaCBHYXJvZGlhIDxxdWljX3ZnYXJvZGlhQHF1aWNpbmMuY29tPjsg RGlrc2hpdGEgQWdhcndhbA0KPjxxdWljX2Rpa3NoaXRhQHF1aWNpbmMuY29tPjsgQWJoaW5hdiBL dW1hciA8YWJoaW5hdi5rdW1hckBsaW51eC5kZXY+Ow0KPkJyeWFuIE8nRG9ub2dodWUgPGJyeWFu Lm9kb25vZ2h1ZUBsaW5hcm8ub3JnPjsgU3lsd2VzdGVyIE5hd3JvY2tpDQo+PHN5bHZlc3Rlci5u YXdyb2NraUBnbWFpbC5jb20+OyBKZXJuZWogU2tyYWJlYyA8amVybmVqLnNrcmFiZWNAZ21haWwu Y29tPjsNCj5DaGVuLVl1IFRzYWkgPHdlbnNAY3NpZS5vcmc+OyBTYW11ZWwgSG9sbGFuZCA8c2Ft dWVsQHNob2xsYW5kLm9yZz47DQo+RGFuaWVsIEFsbWVpZGEgPGRhbmllbC5hbG1laWRhQGNvbGxh Ym9yYS5jb20+OyBOZWlsIEFybXN0cm9uZw0KPjxuZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3JnPjsg S2V2aW4gSGlsbWFuIDxraGlsbWFuQGJheWxpYnJlLmNvbT47IEplcm9tZQ0KPkJydW5ldCA8amJy dW5ldEBiYXlsaWJyZS5jb20+OyBNYXJ0aW4gQmx1bWVuc3RpbmdsDQo+PG1hcnRpbi5ibHVtZW5z dGluZ2xAZ29vZ2xlbWFpbC5jb20+OyBOYXMgQ2h1bmcNCj48bmFzLmNodW5nQGNoaXBzbm1lZGlh LmNvbT47IEphY2tzb24gTGVlDQo+PGphY2tzb24ubGVlQGNoaXBzbm1lZGlhLmNvbT47IE1pbmdo c2l1IFRzYWkNCj48bWluZ2hzaXUudHNhaUBtZWRpYXRlay5jb20+OyBIb3Vsb25nIFdlaSA8aG91 bG9uZy53ZWlAbWVkaWF0ZWsuY29tPjsNCj5BbmRyZXctQ1QgQ2hlbiA8YW5kcmV3LWN0LmNoZW5A bWVkaWF0ZWsuY29tPjsgVGlmZmFueSBMaW4NCj48dGlmZmFueS5saW5AbWVkaWF0ZWsuY29tPjsg WXVuZmVpIERvbmcgPHl1bmZlaS5kb25nQG1lZGlhdGVrLmNvbT47DQo+R2VlcnQgVXl0dGVyaG9l dmVuIDxnZWVydCtyZW5lc2FzQGdsaWRlci5iZT47IE1hZ251cyBEYW1tDQo+PG1hZ251cy5kYW1t QGdtYWlsLmNvbT47IE1pa2hhaWwgVWx5YW5vdg0KPjxtaWtoYWlsLnVseWFub3ZAY29nZW50ZW1i ZWRkZWQuY29tPjsgSmFjb2IgQ2hlbiA8amFjb2ItDQo+Y2hlbkBpb3R3cnQuY29tPjsgRXplcXVp ZWwgR2FyY2lhIDxlemVxdWllbEB2YW5ndWFyZGlhc3VyLmNvbS5hcj47IEhlaWtvDQo+U3R1ZWJu ZXIgPGhlaWtvQHNudGVjaC5kZT47IERldGxldiBDYXNhbm92YQ0KPjxkZXRsZXYuY2FzYW5vdmFA Y29sbGFib3JhLmNvbT47IEtyenlzenRvZiBLb3psb3dza2kgPGtyemtAa2VybmVsLm9yZz47DQo+ QWxpbSBBa2h0YXIgPGFsaW0uYWtodGFyQHNhbXN1bmcuY29tPjsgU3lsd2VzdGVyIE5hd3JvY2tp DQo+PHMubmF3cm9ja2lAc2Ftc3VuZy5jb20+OyDFgXVrYXN6IFN0ZWxtYWNoIDxsLnN0ZWxtYWNo QHNhbXN1bmcuY29tPjsNCj5BbmRyemVqIFBpZXRyYXNpZXdpY3ogPGFuZHJ6ZWp0cDIwMTBAZ21h aWwuY29tPjsgSmFjZWsgQW5hc3pld3NraQ0KPjxqYWNlay5hbmFzemV3c2tpQGdtYWlsLmNvbT47 IEFuZHJ6ZWogSGFqZGEgPGFuZHJ6ZWouaGFqZGFAaW50ZWwuY29tPjsNCj5GYWJpZW4gRGVzc2Vu bmUgPGZhYmllbi5kZXNzZW5uZUBmb3NzLnN0LmNvbT47IEh1Z3VlcyBGcnVjaGV0DQo+PGh1Z3Vl cy5mcnVjaGV0QGZvc3Muc3QuY29tPjsgSmVhbi1DaHJpc3RvcGhlIFRyb3RpbiA8amVhbi0NCj5j aHJpc3RvcGhlLnRyb3RpbkBmb3NzLnN0LmNvbT47IE1heGltZSBDb3F1ZWxpbg0KPjxtY29xdWVs aW4uc3RtMzJAZ21haWwuY29tPjsgQWxleGFuZHJlIFRvcmd1ZQ0KPjxhbGV4YW5kcmUudG9yZ3Vl QGZvc3Muc3QuY29tPjsgTmljb2xhcyBEdWZyZXNuZQ0KPjxuaWNvbGFzLmR1ZnJlc25lQGNvbGxh Ym9yYS5jb20+OyBCZW5qYW1pbiBHYWlnbmFyZA0KPjxiZW5qYW1pbi5nYWlnbmFyZEBjb2xsYWJv cmEuY29tPjsgU3RldmUgTG9uZ2VyYmVhbQ0KPjxzbG9uZ2VyYmVhbUBnbWFpbC5jb20+OyBNYXhp bWUgUmlwYXJkIDxtcmlwYXJkQGtlcm5lbC5vcmc+OyBQYXVsDQo+S29jaWFsa293c2tpIDxwYXVs a0BzeXMtYmFzZS5pbz47IE5pa2xhcyBTw7ZkZXJsdW5kDQo+PG5pa2xhcy5zb2Rlcmx1bmRAcmFn bmF0ZWNoLnNlPjsgUm9iZXJ0IEZvc3MgPHJmb3NzQGtlcm5lbC5vcmc+OyBUb2Rvcg0KPlRvbW92 IDx0b2Rvci50b29AZ21haWwuY29tPjsgVmxhZGltaXIgWmFwb2xza2l5DQo+PHZsYWRpbWlyLnph cG9sc2tpeUBsaW5hcm8ub3JnPjsgQ29yZW50aW4gTGFiYmUgPGNsYWJiZUBiYXlsaWJyZS5jb20+ Ow0KPlNha2FyaSBBaWx1cyA8c2FrYXJpLmFpbHVzQGxpbnV4LmludGVsLmNvbT47IEJpbmdidSBD YW8NCj48YmluZ2J1LmNhb0BpbnRlbC5jb20+OyBUaWFuc2h1IFFpdSA8dGlhbi5zaHUucWl1QGlu dGVsLmNvbT47IFN0YW5pc2xhdw0KPkdydXN6a2EgPHN0YW5pc2xhdy5ncnVzemthQGxpbnV4Lmlu dGVsLmNvbT4NCj5DYzogbGludXgtbWVkaWFAdmdlci5rZXJuZWwub3JnOyBsaW51eC1rZXJuZWxA dmdlci5rZXJuZWwub3JnOyBsaW51eC0NCj5zdGFnaW5nQGxpc3RzLmxpbnV4LmRldjsgbGludXgt ZG9jQHZnZXIua2VybmVsLm9yZzsgbGludXgtYXJtLQ0KPmtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnOyBsaW51eC1tZWRpYXRla0BsaXN0cy5pbmZyYWRlYWQub3JnOyBsaW51eC0NCj50ZWdyYUB2 Z2VyLmtlcm5lbC5vcmc7IGlteEBsaXN0cy5saW51eC5kZXY7IGxpbnV4LXJlbmVzYXMtc29jQHZn ZXIua2VybmVsLm9yZzsNCj5saW51eC1hcm0tbXNtQHZnZXIua2VybmVsLm9yZzsgbGludXgtc2Ft c3VuZy1zb2NAdmdlci5rZXJuZWwub3JnOyBsaW51eC0NCj5zdW54aUBsaXN0cy5saW51eC5kZXY7 IGxpbnV4LXVzYkB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LQ0KPmFtbG9naWNAbGlzdHMuaW5mcmFk ZWFkLm9yZzsgbGludXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZzsgbGludXgtDQo+c3Rt MzJAc3QtbWQtbWFpbG1hbi5zdG9ybXJlcGx5LmNvbTsgbWpwZWctdXNlcnNAbGlzdHMuc291cmNl Zm9yZ2UubmV0Ow0KPkphY29wbyBNb25kaSA8amFjb3BvLm1vbmRpQGlkZWFzb25ib2FyZC5jb20+ DQo+U3ViamVjdDogW0VYVF0gW1BBVENIIDM5LzY1XSBtZWRpYTogaW14LWpwZWc6IEFjY2VzcyB2 NGwyX2ZoIGZyb20gZmlsZQ0KPg0KPkNhdXRpb246IFRoaXMgaXMgYW4gZXh0ZXJuYWwgZW1haWwu IFBsZWFzZSB0YWtlIGNhcmUgd2hlbiBjbGlja2luZyBsaW5rcyBvcg0KPm9wZW5pbmcgYXR0YWNo bWVudHMuIFdoZW4gaW4gZG91YnQsIHJlcG9ydCB0aGUgbWVzc2FnZSB1c2luZyB0aGUgJ1JlcG9y dA0KPnRoaXMgZW1haWwnIGJ1dHRvbg0KPg0KPg0KPlRoZSB2NGwyX2ZoIGFzc29jaWF0ZWQgd2l0 aCBhbiBvcGVuIGZpbGUgaGFuZGxlIGlzIG5vdyBndWFyYW50ZWVkIHRvIGJlDQo+YXZhaWxhYmxl IGluIGZpbGUtPnByaXZhdGVfZGF0YSwgaW5pdGlhbGlzZWQgYnkgdjRsMl9maF9hZGQoKS4NCj4N Cj5BY2Nlc3MgdGhlIHY0bDJfZmgsIGFuZCBmcm9tIHRoZXJlIHRoZSBkcml2ZXItc3BlY2lmaWMg c3RydWN0dXJlLCBmcm9tIHRoZSBmaWxlICoNCj5pbiBhbGwgaW9jdGwgaGFuZGxlcnMuDQo+DQo+ V2hpbGUgYXQgaXQsIHJlbW92ZSB0aGUgbm93IHVudXNlZCBteGNfanBlZ19maF90b19jdHgoKSBt YWNyby4NCj4NCj5TaWduZWQtb2ZmLWJ5OiBKYWNvcG8gTW9uZGkgPGphY29wby5tb25kaUBpZGVh c29uYm9hcmQuY29tPg0KDQpSZXZpZXdlZC1ieTogTWluZyBRaWFuIDxtaW5nLnFpYW5Ab3NzLm54 cC5jb20+DQoNCj4tLS0NCj4gZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9ueHAvaW14LWpwZWcvbXhj LWpwZWcuYyB8IDMzICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0NCj4tDQo+IDEgZmlsZSBjaGFu Z2VkLCAxNCBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkNCj4NCj5kaWZmIC0tZ2l0IGEv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9ueHAvaW14LWpwZWcvbXhjLWpwZWcuYw0KPmIvZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS9ueHAvaW14LWpwZWcvbXhjLWpwZWcuYw0KPmluZGV4DQo+ZmE3ZDc0 ZDhjMWFhYmQzYmY3NDQ4MmUyMTQxNjVkOGMxYTdlODlkYS4uZGYzY2NkZjc2N2JhZjBiZjY2ODc4 MDhlMmMNCj4wMTcwNjMxODFhNzIyMCAxMDA2NDQNCj4tLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL254cC9pbXgtanBlZy9teGMtanBlZy5jDQo+KysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9ueHAvaW14LWpwZWcvbXhjLWpwZWcuYw0KPkBAIC02NDQsMTEgKzY0NCw2IEBAIHN0YXRpYyB2 b2lkIHByaW50X214Y19idWYoc3RydWN0IG14Y19qcGVnX2RldiAqanBlZywNCj5zdHJ1Y3QgdmIy X2J1ZmZlciAqYnVmLA0KPiAgICAgICAgfQ0KPiB9DQo+DQo+LXN0YXRpYyBpbmxpbmUgc3RydWN0 IG14Y19qcGVnX2N0eCAqbXhjX2pwZWdfZmhfdG9fY3R4KHN0cnVjdCB2NGwyX2ZoICpmaCkgLXsN Cj4tICAgICAgIHJldHVybiBjb250YWluZXJfb2YoZmgsIHN0cnVjdCBteGNfanBlZ19jdHgsIGZo KTsNCj4tfQ0KPi0NCj4gc3RhdGljIGlubGluZSBzdHJ1Y3QgbXhjX2pwZWdfY3R4ICpteGNfanBl Z19maWxlX3RvX2N0eChzdHJ1Y3QgZmlsZSAqZmlscCkgIHsNCj4gICAgICAgIHJldHVybiBjb250 YWluZXJfb2YoZmlsZV90b192NGwyX2ZoKGZpbHApLCBzdHJ1Y3QgbXhjX2pwZWdfY3R4LCBmaCk7 IEBAIC0NCj4xNjEwLDcgKzE2MDUsNyBAQCBzdGF0aWMgaW50IG14Y19qcGVnX2RlY29kZXJfY21k KHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkDQo+KnByaXYsDQo+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgdjRsMl9kZWNvZGVyX2NtZCAqY21kKSAgew0KPiAgICAgICAgc3Ry dWN0IHY0bDJfZmggKmZoID0gZmlsZV90b192NGwyX2ZoKGZpbGUpOw0KPi0gICAgICAgc3RydWN0 IG14Y19qcGVnX2N0eCAqY3R4ID0gbXhjX2pwZWdfZmhfdG9fY3R4KGZoKTsNCj4rICAgICAgIHN0 cnVjdCBteGNfanBlZ19jdHggKmN0eCA9IG14Y19qcGVnX2ZpbGVfdG9fY3R4KGZpbGUpOw0KPiAg ICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsNCj4gICAgICAgIGludCByZXQ7DQo+DQo+QEAgLTE2 NDMsNyArMTYzOCw3IEBAIHN0YXRpYyBpbnQgbXhjX2pwZWdfZW5jb2Rlcl9jbWQoc3RydWN0IGZp bGUgKmZpbGUsDQo+dm9pZCAqcHJpdiwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCB2NGwyX2VuY29kZXJfY21kICpjbWQpICB7DQo+ICAgICAgICBzdHJ1Y3QgdjRsMl9m aCAqZmggPSBmaWxlX3RvX3Y0bDJfZmgoZmlsZSk7DQo+LSAgICAgICBzdHJ1Y3QgbXhjX2pwZWdf Y3R4ICpjdHggPSBteGNfanBlZ19maF90b19jdHgoZmgpOw0KPisgICAgICAgc3RydWN0IG14Y19q cGVnX2N0eCAqY3R4ID0gbXhjX2pwZWdfZmlsZV90b19jdHgoZmlsZSk7DQo+ICAgICAgICB1bnNp Z25lZCBsb25nIGZsYWdzOw0KPiAgICAgICAgaW50IHJldDsNCj4NCj5AQCAtMjI2MCw3ICsyMjU1 LDcgQEAgc3RhdGljIGludCBteGNfanBlZ19xdWVyeWNhcChzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9p ZA0KPipwcml2LCAgc3RhdGljIGludCBteGNfanBlZ19lbnVtX2ZtdF92aWRfY2FwKHN0cnVjdCBm aWxlICpmaWxlLCB2b2lkICpwcml2LA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgdjRsMl9mbXRkZXNjICpmKSAgew0KPi0gICAgICAgc3RydWN0IG14Y19qcGVn X2N0eCAqY3R4ID0gbXhjX2pwZWdfZmhfdG9fY3R4KHByaXYpOw0KPisgICAgICAgc3RydWN0IG14 Y19qcGVnX2N0eCAqY3R4ID0gbXhjX2pwZWdfZmlsZV90b19jdHgoZmlsZSk7DQo+ICAgICAgICBz dHJ1Y3QgbXhjX2pwZWdfcV9kYXRhICpxX2RhdGEgPSBteGNfanBlZ19nZXRfcV9kYXRhKGN0eCwg Zi0+dHlwZSk7DQo+DQo+ICAgICAgICBpZiAoY3R4LT5teGNfanBlZy0+bW9kZSA9PSBNWENfSlBF R19FTkNPREUpIHsgQEAgLTIzMDAsNyArMjI5NSw3DQo+QEAgc3RhdGljIGludCBteGNfanBlZ19l bnVtX2ZtdF92aWRfY2FwKHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpwcml2LCAgc3RhdGljDQo+ aW50IG14Y19qcGVnX2VudW1fZm10X3ZpZF9vdXQoc3RydWN0IGZpbGUgKmZpbGUsIHZvaWQgKnBy aXYsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2NGwyX2Zt dGRlc2MgKmYpICB7DQo+LSAgICAgICBzdHJ1Y3QgbXhjX2pwZWdfY3R4ICpjdHggPSBteGNfanBl Z19maF90b19jdHgocHJpdik7DQo+KyAgICAgICBzdHJ1Y3QgbXhjX2pwZWdfY3R4ICpjdHggPSBt eGNfanBlZ19maWxlX3RvX2N0eChmaWxlKTsNCj4gICAgICAgIHUzMiB0eXBlID0gY3R4LT5teGNf anBlZy0+bW9kZSA9PSBNWENfSlBFR19ERUNPREUgPw0KPk1YQ19KUEVHX0ZNVF9UWVBFX0VOQyA6 DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE1YQ19KUEVHX0ZNVF9UWVBFX1JBVzsNCj4gICAgICAgIGludCByZXQ7DQo+QEAgLTI0 NDEsNyArMjQzNiw3IEBAIHN0YXRpYyBpbnQgbXhjX2pwZWdfdHJ5X2ZtdChzdHJ1Y3QgdjRsMl9m b3JtYXQgKmYsDQo+c3RhdGljIGludCBteGNfanBlZ190cnlfZm10X3ZpZF9jYXAoc3RydWN0IGZp bGUgKmZpbGUsIHZvaWQgKnByaXYsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IHY0bDJfZm9ybWF0ICpmKSAgew0KPi0gICAgICAgc3RydWN0IG14Y19qcGVnX2N0 eCAqY3R4ID0gbXhjX2pwZWdfZmhfdG9fY3R4KHByaXYpOw0KPisgICAgICAgc3RydWN0IG14Y19q cGVnX2N0eCAqY3R4ID0gbXhjX2pwZWdfZmlsZV90b19jdHgoZmlsZSk7DQo+ICAgICAgICBzdHJ1 Y3QgbXhjX2pwZWdfZGV2ICpqcGVnID0gY3R4LT5teGNfanBlZzsNCj4gICAgICAgIHN0cnVjdCBk ZXZpY2UgKmRldiA9IGpwZWctPmRldjsNCj4gICAgICAgIHN0cnVjdCBteGNfanBlZ19xX2RhdGEg dG1wX3E7DQo+QEAgLTI0NjAsNyArMjQ1NSw3IEBAIHN0YXRpYyBpbnQgbXhjX2pwZWdfdHJ5X2Zt dF92aWRfY2FwKHN0cnVjdCBmaWxlICpmaWxlLA0KPnZvaWQgKnByaXYsICBzdGF0aWMgaW50IG14 Y19qcGVnX3RyeV9mbXRfdmlkX291dChzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCAqcHJpdiwNCj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdjRsMl9mb3JtYXQgKmYp ICB7DQo+LSAgICAgICBzdHJ1Y3QgbXhjX2pwZWdfY3R4ICpjdHggPSBteGNfanBlZ19maF90b19j dHgocHJpdik7DQo+KyAgICAgICBzdHJ1Y3QgbXhjX2pwZWdfY3R4ICpjdHggPSBteGNfanBlZ19m aWxlX3RvX2N0eChmaWxlKTsNCj4gICAgICAgIHN0cnVjdCBteGNfanBlZ19kZXYgKmpwZWcgPSBj dHgtPm14Y19qcGVnOw0KPiAgICAgICAgc3RydWN0IGRldmljZSAqZGV2ID0ganBlZy0+ZGV2Ow0K PiAgICAgICAgc3RydWN0IG14Y19qcGVnX3FfZGF0YSB0bXBfcTsNCj5AQCAtMjUxMiwyMCArMjUw NywyMCBAQCBzdGF0aWMgaW50IG14Y19qcGVnX3NfZm10KHN0cnVjdCBteGNfanBlZ19jdHgNCj4q Y3R4LCAgc3RhdGljIGludCBteGNfanBlZ19zX2ZtdF92aWRfY2FwKHN0cnVjdCBmaWxlICpmaWxl LCB2b2lkICpwcml2LA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg djRsMl9mb3JtYXQgKmYpICB7DQo+LSAgICAgICByZXR1cm4gbXhjX2pwZWdfc19mbXQobXhjX2pw ZWdfZmhfdG9fY3R4KHByaXYpLCBmKTsNCj4rICAgICAgIHJldHVybiBteGNfanBlZ19zX2ZtdCht eGNfanBlZ19maWxlX3RvX2N0eChmaWxlKSwgZik7DQo+IH0NCj4NCj4gc3RhdGljIGludCBteGNf anBlZ19zX2ZtdF92aWRfb3V0KHN0cnVjdCBmaWxlICpmaWxlLCB2b2lkICpwcml2LA0KPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdjRsMl9mb3JtYXQgKmYpICB7DQo+ ICAgICAgICBpbnQgcmV0Ow0KPi0gICAgICAgc3RydWN0IG14Y19qcGVnX2N0eCAqY3R4ID0gbXhj X2pwZWdfZmhfdG9fY3R4KHByaXYpOw0KPisgICAgICAgc3RydWN0IG14Y19qcGVnX2N0eCAqY3R4 ID0gbXhjX2pwZWdfZmlsZV90b19jdHgoZmlsZSk7DQo+ICAgICAgICBzdHJ1Y3QgdmIyX3F1ZXVl ICpkc3RfdnE7DQo+ICAgICAgICBzdHJ1Y3QgbXhjX2pwZWdfcV9kYXRhICpxX2RhdGFfY2FwOw0K PiAgICAgICAgZW51bSB2NGwyX2J1Zl90eXBlIGNhcF90eXBlID0NCj5WNEwyX0JVRl9UWVBFX1ZJ REVPX0NBUFRVUkVfTVBMQU5FOw0KPiAgICAgICAgc3RydWN0IHY0bDJfZm9ybWF0IGZjOw0KPg0K Pi0gICAgICAgcmV0ID0gbXhjX2pwZWdfc19mbXQobXhjX2pwZWdfZmhfdG9fY3R4KHByaXYpLCBm KTsNCj4rICAgICAgIHJldCA9IG14Y19qcGVnX3NfZm10KGN0eCwgZik7DQo+ICAgICAgICBpZiAo cmV0KQ0KPiAgICAgICAgICAgICAgICByZXR1cm4gcmV0Ow0KPg0KPkBAIC0yNTU0LDcgKzI1NDks NyBAQCBzdGF0aWMgaW50IG14Y19qcGVnX3NfZm10X3ZpZF9vdXQoc3RydWN0IGZpbGUgKmZpbGUs DQo+dm9pZCAqcHJpdiwgIHN0YXRpYyBpbnQgbXhjX2pwZWdfZ19mbXRfdmlkKHN0cnVjdCBmaWxl ICpmaWxlLCB2b2lkICpwcml2LA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCB2NGwyX2Zvcm1hdCAqZikgIHsNCj4tICAgICAgIHN0cnVjdCBteGNfanBlZ19jdHggKmN0eCA9 IG14Y19qcGVnX2ZoX3RvX2N0eChwcml2KTsNCj4rICAgICAgIHN0cnVjdCBteGNfanBlZ19jdHgg KmN0eCA9IG14Y19qcGVnX2ZpbGVfdG9fY3R4KGZpbGUpOw0KPiAgICAgICAgc3RydWN0IG14Y19q cGVnX2RldiAqanBlZyA9IGN0eC0+bXhjX2pwZWc7DQo+ICAgICAgICBzdHJ1Y3QgZGV2aWNlICpk ZXYgPSBqcGVnLT5kZXY7DQo+ICAgICAgICBzdHJ1Y3QgdjRsMl9waXhfZm9ybWF0X21wbGFuZSAg ICpwaXhfbXAgPSAmZi0+Zm10LnBpeF9tcDsNCj5AQCAtMjU5Miw3ICsyNTg3LDcgQEAgc3RhdGlj IGludCBteGNfanBlZ19nX2ZtdF92aWQoc3RydWN0IGZpbGUgKmZpbGUsIHZvaWQNCj4qcHJpdiwN Cj4NCj4gc3RhdGljIGludCBteGNfanBlZ19kZWNfZ19zZWxlY3Rpb24oc3RydWN0IGZpbGUgKmZp bGUsIHZvaWQgKmZoLCBzdHJ1Y3QNCj52NGwyX3NlbGVjdGlvbiAqcykgIHsNCj4tICAgICAgIHN0 cnVjdCBteGNfanBlZ19jdHggKmN0eCA9IG14Y19qcGVnX2ZoX3RvX2N0eChmaCk7DQo+KyAgICAg ICBzdHJ1Y3QgbXhjX2pwZWdfY3R4ICpjdHggPSBteGNfanBlZ19maWxlX3RvX2N0eChmaWxlKTsN Cj4gICAgICAgIHN0cnVjdCBteGNfanBlZ19xX2RhdGEgKnFfZGF0YV9jYXA7DQo+DQo+ICAgICAg ICBpZiAocy0+dHlwZSAhPSBWNEwyX0JVRl9UWVBFX1ZJREVPX0NBUFRVUkUgJiYgcy0+dHlwZSAh PQ0KPlY0TDJfQlVGX1RZUEVfVklERU9fQ0FQVFVSRV9NUExBTkUpDQo+QEAgLTI2MjEsNyArMjYx Niw3IEBAIHN0YXRpYyBpbnQgbXhjX2pwZWdfZGVjX2dfc2VsZWN0aW9uKHN0cnVjdCBmaWxlICpm aWxlLA0KPnZvaWQgKmZoLCBzdHJ1Y3QgdjRsMl9zZWwNCj4NCj4gc3RhdGljIGludCBteGNfanBl Z19lbmNfZ19zZWxlY3Rpb24oc3RydWN0IGZpbGUgKmZpbGUsIHZvaWQgKmZoLCBzdHJ1Y3QNCj52 NGwyX3NlbGVjdGlvbiAqcykgIHsNCj4tICAgICAgIHN0cnVjdCBteGNfanBlZ19jdHggKmN0eCA9 IG14Y19qcGVnX2ZoX3RvX2N0eChmaCk7DQo+KyAgICAgICBzdHJ1Y3QgbXhjX2pwZWdfY3R4ICpj dHggPSBteGNfanBlZ19maWxlX3RvX2N0eChmaWxlKTsNCj4gICAgICAgIHN0cnVjdCBteGNfanBl Z19xX2RhdGEgKnFfZGF0YV9vdXQ7DQo+DQo+ICAgICAgICBpZiAocy0+dHlwZSAhPSBWNEwyX0JV Rl9UWVBFX1ZJREVPX09VVFBVVCAmJiBzLT50eXBlICE9DQo+VjRMMl9CVUZfVFlQRV9WSURFT19P VVRQVVRfTVBMQU5FKQ0KPkBAIC0yNjQ5LDcgKzI2NDQsNyBAQCBzdGF0aWMgaW50IG14Y19qcGVn X2VuY19nX3NlbGVjdGlvbihzdHJ1Y3QgZmlsZSAqZmlsZSwNCj52b2lkICpmaCwgc3RydWN0IHY0 bDJfc2VsDQo+DQo+IHN0YXRpYyBpbnQgbXhjX2pwZWdfZ19zZWxlY3Rpb24oc3RydWN0IGZpbGUg KmZpbGUsIHZvaWQgKmZoLCBzdHJ1Y3QgdjRsMl9zZWxlY3Rpb24NCj4qcykgIHsNCj4tICAgICAg IHN0cnVjdCBteGNfanBlZ19jdHggKmN0eCA9IG14Y19qcGVnX2ZoX3RvX2N0eChmaCk7DQo+KyAg ICAgICBzdHJ1Y3QgbXhjX2pwZWdfY3R4ICpjdHggPSBteGNfanBlZ19maWxlX3RvX2N0eChmaWxl KTsNCj4NCj4gICAgICAgIGlmIChjdHgtPm14Y19qcGVnLT5tb2RlID09IE1YQ19KUEVHX0RFQ09E RSkNCj4gICAgICAgICAgICAgICAgcmV0dXJuIG14Y19qcGVnX2RlY19nX3NlbGVjdGlvbihmaWxl LCBmaCwgcyk7IEBAIC0yNjU5LDcgKzI2NTQsNyBAQA0KPnN0YXRpYyBpbnQgbXhjX2pwZWdfZ19z ZWxlY3Rpb24oc3RydWN0IGZpbGUgKmZpbGUsIHZvaWQgKmZoLCBzdHJ1Y3QgdjRsMl9zZWxlY3Rp DQo+DQo+IHN0YXRpYyBpbnQgbXhjX2pwZWdfc19zZWxlY3Rpb24oc3RydWN0IGZpbGUgKmZpbGUs IHZvaWQgKmZoLCBzdHJ1Y3QgdjRsMl9zZWxlY3Rpb24NCj4qcykgIHsNCj4tICAgICAgIHN0cnVj dCBteGNfanBlZ19jdHggKmN0eCA9IG14Y19qcGVnX2ZoX3RvX2N0eChmaCk7DQo+KyAgICAgICBz dHJ1Y3QgbXhjX2pwZWdfY3R4ICpjdHggPSBteGNfanBlZ19maWxlX3RvX2N0eChmaWxlKTsNCj4g ICAgICAgIHN0cnVjdCBteGNfanBlZ19xX2RhdGEgKnFfZGF0YV9vdXQ7DQo+DQo+ICAgICAgICBp ZiAoY3R4LT5teGNfanBlZy0+bW9kZSAhPSBNWENfSlBFR19FTkNPREUpDQo+DQo+LS0NCj4yLjQ5 LjANCg0K