Received: by 2002:a05:7412:bbc7:b0:fc:a2b0:25d7 with SMTP id kh7csp2758311rdb; Mon, 5 Feb 2024 17:38:05 -0800 (PST) X-Google-Smtp-Source: AGHT+IGhuO65OWZgDVpdtehJTNfXHbJbAMjAu10YzKL7teXLbrsYyLK1QpeIME/T6yUcARV/1FGy X-Received: by 2002:a05:6a20:dd9d:b0:19e:9596:9706 with SMTP id kw29-20020a056a20dd9d00b0019e95969706mr183710pzb.49.1707183485091; Mon, 05 Feb 2024 17:38:05 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707183485; cv=pass; d=google.com; s=arc-20160816; b=MnMj916Y/PBCQQWo0d2GycHEN6AJJJILBBC14cIgennXYNyS6b5uED/aEinTSfLFQS ufHNCppMqKYOzkd9+/TsigFUR/jkxhmwOeaC/jfnaXtCyPbVcNEJRkRg42ic8FUw/xBt rIoH9pqOT/PjP49mIlwMFphzYzn8c0CEh91chJKmzE/vRLaJNJTjbBEBhfclRwfBLmOC qMdjx8V+NDMo99TLXbGFaqU+JCD2JomBprYcp4uXhE66ULYPDX9Gh4pXNHtom3n2gV9z itWs7Pkr3pDGMkbkMxbJicJWGt/XXzz14S3bU2t9eMH2ZYY1dSIo9TttihGu+VoQeASr Eowg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :content-transfer-encoding:content-language:accept-language :in-reply-to:references:message-id:date:thread-index:thread-topic :subject:cc:to:from; bh=ykXpXTP3JtmcYm6nN9m4dBUdiVyzDDPG2EEUvzBs5NY=; fh=8rZ9tAj3Nd/kgIMcPwHlXIO2J4mqkZ60U1BVnHQX0f4=; b=jWtliBIgdLiskd45ttJIGSpUDteHz3N1ALRnqdjLDoW5Ho5dIqboN/U3Ojbpfoq8bh nssWghpwZTpyWAumLQJb0OteA4z0PKAKDTPnjEOYnW0QbGmeOqc7NOqKZR4Ah8cibPBP mJST3TYYQ2PIBy4FIhy4wIu7hGI5oYFYMzgXPIqPtRUOwUL3+XOtHrKnamtPUkkPC2Ow vn97KdImnExaBhJD+Q48RuzKRe1eLEK08L7MRq9zysLqRfodcCj2roYh/OWB62NM5JQN vYkZXB/VHYkmw5TjMuqMHTZSS6YOMLlHABjV5FiU0zFmT7LUZi3FOCFso2w3DNI78aug XfOQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=realtek.com); spf=pass (google.com: domain of linux-wireless+bounces-3184-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-wireless+bounces-3184-linux.lists.archive=gmail.com@vger.kernel.org" X-Forwarded-Encrypted: i=1; AJvYcCUAEaL7mAHJs1DqpqIfU+oPORHg2t3gxKOUMHCOPBxeuHtErcWG7XbOD5JMxuPYMnV8S6x+Qh+MI174VjHTh4NbL2GY89XMcjMFryN34A== Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id n1-20020aa78a41000000b006e02da48911si693898pfa.308.2024.02.05.17.38.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Feb 2024 17:38:05 -0800 (PST) Received-SPF: pass (google.com: domain of linux-wireless+bounces-3184-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=realtek.com); spf=pass (google.com: domain of linux-wireless+bounces-3184-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-wireless+bounces-3184-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id B6F292892F7 for ; Tue, 6 Feb 2024 01:38:04 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3E4B94C69; Tue, 6 Feb 2024 01:38:03 +0000 (UTC) X-Original-To: linux-wireless@vger.kernel.org Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 45A7A4A12; Tue, 6 Feb 2024 01:37:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=211.75.126.72 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707183483; cv=none; b=m+bbn2mWMEiKEXbaGktWyTSwvEHxpmx+ChAOjioVr/7msMN/8B4JRDGYBQ51TQImt+9RXdwXK09mBQxBFQQK5dIPFSjIeG9kk79lQ2cnzJOHS5Im8qIalpVtfRggs3msO+p38m5aU4U4g76D9nxpl7tgowkSfI7CrpwTGAZMRz8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707183483; c=relaxed/simple; bh=ykXpXTP3JtmcYm6nN9m4dBUdiVyzDDPG2EEUvzBs5NY=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=kCDWWCyna4lX6wbTe3w2lz16RpOzEIM8+do5FkNw2AguPwdDbCkl6qt54CqjIzMuLQF5XkRr1t33t/4MHKemLuoj2S1l+wAE7pRWNLgq4CAOl1jar3Rpn7vqWUMjz9PMs+xACUr4pv5iII7KrbcT9+5nSwMy6nM2+5B7tks69SY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=realtek.com; spf=pass smtp.mailfrom=realtek.com; arc=none smtp.client-ip=211.75.126.72 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=realtek.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=realtek.com X-SpamFilter-By: ArmorX SpamTrap 5.78 with qID 4161beBdB3473194, This message is accepted by code: ctloc85258 Received: from mail.realtek.com (rtexh36506.realtek.com.tw[172.21.6.27]) by rtits2.realtek.com.tw (8.15.2/2.95/5.92) with ESMTPS id 4161beBdB3473194 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 6 Feb 2024 09:37:40 +0800 Received: from RTEXDAG01.realtek.com.tw (172.21.6.100) by RTEXH36506.realtek.com.tw (172.21.6.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.17; Tue, 6 Feb 2024 09:37:39 +0800 Received: from RTEXMBS04.realtek.com.tw (172.21.6.97) by RTEXDAG01.realtek.com.tw (172.21.6.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 6 Feb 2024 09:37:39 +0800 Received: from RTEXMBS04.realtek.com.tw ([fe80::c9b7:82a9:7e98:fa7f]) by RTEXMBS04.realtek.com.tw ([fe80::c9b7:82a9:7e98:fa7f%7]) with mapi id 15.01.2507.035; Tue, 6 Feb 2024 09:37:39 +0800 From: Ping-Ke Shih To: Fiona Klute , "linux-wireless@vger.kernel.org" CC: Kalle Valo , Ulf Hansson , "linux-mmc@vger.kernel.org" , Pavel Machek , =?utf-8?B?T25kxZllaiBKaXJtYW4=?= Subject: RE: [PATCH 5/9] wifi: rtw88: Add rtw8703b.c Thread-Topic: [PATCH 5/9] wifi: rtw88: Add rtw8703b.c Thread-Index: AQHaVdEYYqBCMRgw70+09sEUFj+8t7D7CVrAgACRqoCAAOzG4A== Date: Tue, 6 Feb 2024 01:37:39 +0000 Message-ID: <28c1571cc90b49ce928ddb929e2bc93f@realtek.com> References: <20240202121050.977223-1-fiona.klute@gmx.de> <20240202121050.977223-6-fiona.klute@gmx.de> <8b20f91585694702bac414680ba937c9@realtek.com> <09d93cef-5338-4463-b656-dab934029c63@gmx.de> In-Reply-To: <09d93cef-5338-4463-b656-dab934029c63@gmx.de> Accept-Language: en-US, zh-TW Content-Language: zh-TW Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmlvbmEgS2x1dGUgPGZp b25hLmtsdXRlQGdteC5kZT4NCj4gU2VudDogVHVlc2RheSwgRmVicnVhcnkgNiwgMjAyNCAzOjA2 IEFNDQo+IFRvOiBQaW5nLUtlIFNoaWggPHBrc2hpaEByZWFsdGVrLmNvbT47IGxpbnV4LXdpcmVs ZXNzQHZnZXIua2VybmVsLm9yZw0KPiBDYzogS2FsbGUgVmFsbyA8a3ZhbG9Aa2VybmVsLm9yZz47 IFVsZiBIYW5zc29uIDx1bGYuaGFuc3NvbkBsaW5hcm8ub3JnPjsgbGludXgtbW1jQHZnZXIua2Vy bmVsLm9yZzsgUGF2ZWwNCj4gTWFjaGVrIDxwYXZlbEB1Y3cuY3o+OyBPbmTFmWVqIEppcm1hbiA8 bWVnaUB4ZmYuY3o+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggNS85XSB3aWZpOiBydHc4ODogQWRk IHJ0dzg3MDNiLmMNCj4gDQo+IA0KPiBJJ20gYWZyYWlkIEknbSBub3QgZmFtaWxpYXIgd2l0aCB0 aGUgZGV0YWlscyBlaXRoZXIsIGJ1dCB0aGlzIGlzIGhvdyB0aGUNCj4gU0RJTyB3aWZpIGRldmlj ZSBmb3IgdGhlIFBpbmVwaG9uZSBpcyBkZWZpbmVkIChpbg0KPiBhcmNoL2FybTY0L2Jvb3QvZHRz L2FsbHdpbm5lci9zdW41MGktYTY0LXBpbmVwaG9uZS5kdHNpLCBhcyBvZiB2Ni44LXJjMik6DQo+ IA0KPiAmbW1jMSB7DQo+ICAgICAgICAgcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsNCj4gICAg ICAgICBwaW5jdHJsLTAgPSA8Jm1tYzFfcGlucz47DQo+ICAgICAgICAgdm1tYy1zdXBwbHkgPSA8 JnJlZ192YmF0X3dpZmk+Ow0KPiAgICAgICAgIHZxbW1jLXN1cHBseSA9IDwmcmVnX2RsZG80PjsN Cj4gICAgICAgICBidXMtd2lkdGggPSA8ND47DQo+ICAgICAgICAgbm9uLXJlbW92YWJsZTsNCj4g ICAgICAgICBzdGF0dXMgPSAib2theSI7DQo+IA0KPiAgICAgICAgIHJ0bDg3MjNjczogd2lmaUAx IHsNCg0KSSB0aGluayBydGw4NzIzY3MgaXMgbW9kdWxlIG5hbWUgb2YgdmVuZG9yIGRyaXZlciwg c28gd2lsbCB5b3UgYWRkIHJ0dzg4Xzg3MjNkcz8NCg0KPiAgICAgICAgICAgICAgICAgcmVnID0g PDE+Ow0KPiAgICAgICAgIH07DQo+IH07DQo+IA0KPiBBcyBmYXIgYXMgSSB1bmRlcnN0YW5kIHRo ZSAicmVnID0gPDE+OyIgbGluZSBpbXBsaWVzIHRoYXQgdGhlIGJvb3Rsb2FkZXINCj4gY2FuIHBy b3ZpZGUgc29tZSBzZXR1cCAobGlrZSB0aGUgTUFDIGFkZHJlc3MpLiBJIGhvcGUgc29tZW9uZSB3 aXRoIG1vcmUNCj4ga25vd2xlZGdlIGNhbiBjb3JyZWN0IG1lIG9yIGFkZCBtaXNzaW5nIGRldGFp bHMuDQo+IA0KPiA+PiAgIGRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODgvcnR3ODcw M2IuYyB8IDIxMDYgKysrKysrKysrKysrKysrKysNCj4gPj4gICAxIGZpbGUgY2hhbmdlZCwgMjEw NiBpbnNlcnRpb25zKCspDQo+ID4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L3dp cmVsZXNzL3JlYWx0ZWsvcnR3ODgvcnR3ODcwM2IuYw0KPiA+Pg0KPiA+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OC9ydHc4NzAzYi5jDQo+ID4+IGIvZHJp dmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OC9ydHc4NzAzYi5jDQo+ID4+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0DQo+ID4+IGluZGV4IDAwMDAwMDAwMDAuLmFjOWIxYmY2ZWENCj4gPj4gLS0t IC9kZXYvbnVsbA0KPiA+PiArKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg4 L3J0dzg3MDNiLmMNCj4gPj4gQEAgLTAsMCArMSwyMTA2IEBADQo+ID4+ICsvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMCBPUiBCU0QtMy1DbGF1c2UNCj4gPj4gKy8qIENvcHlyaWdo dCBGaW9uYSBLbHV0ZSA8ZmlvbmEua2x1dGVAZ214LmRlPiAqLw0KPiA+PiArDQo+ID4+ICsjaW5j bHVkZSA8bGludXgvb2ZfbmV0Lmg+DQo+ID4+ICsjaW5jbHVkZSAibWFpbi5oIg0KPiA+PiArI2lu Y2x1ZGUgImNvZXguaCINCj4gPj4gKyNpbmNsdWRlICJkZWJ1Zy5oIg0KPiA+PiArI2luY2x1ZGUg Im1hYy5oIg0KPiA+PiArI2luY2x1ZGUgInBoeS5oIg0KPiA+PiArI2luY2x1ZGUgInJlZy5oIg0K PiA+PiArI2luY2x1ZGUgInJ4LmgiDQo+ID4+ICsjaW5jbHVkZSAicnR3ODcwM2IuaCINCj4gPj4g KyNpbmNsdWRlICJydHc4NzAzYl90YWJsZXMuaCINCj4gPj4gKyNpbmNsdWRlICJydHc4NzIzeC5o Ig0KPiA+PiArDQo+ID4+ICsjZGVmaW5lIEdFVF9SWF9ERVNDX0JXKHJ4ZGVzYykgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiA+PiArICAgICAgIChsZTMy X2dldF9iaXRzKCooKF9fbGUzMiAqKShyeGRlc2MpICsgMHgwNCksIEdFTk1BU0soMzEsIDI0KSkp DQo+ID4NCj4gPiB1c2Ugc3RydWN0IGFuZCBsZTMyX2dldF9iaXRzKCkgZGlyZWN0bHkuDQo+IA0K PiBEbyB5b3UgbWVhbiB0byBjcmVhdGUgYSBzdHJ1Y3QgdG8gcmVwcmVzZW50IHRoZSBSWCBkZXNj cmlwdG9yIGFuZCB0aGVuDQo+IHVzZSBsZSpfZ2V0X2JpdHMoKSBvbiB0aGUgZmllbGRzIHRvIGdl dCB0aGUgdmFsdWVzPyBJIGNvdWxkIHRyeSwgYnV0IEknZA0KPiBoYXZlIHRvIHJlcGxhY2UgYWxs IHRoZSBvdGhlciBHRVRfUlhfREVTQ18qIG1hY3JvcyBkZWZpbmVkIGluIHJ4LmggKGFuZA0KPiBz aGFyZWQgYnkgdGhlIG90aGVyIGNoaXAgZHJpdmVycyksIHRvbywgb3IgaXQgd29uJ3QgcmVhbGx5 IG1ha2UgYQ0KPiBkaWZmZXJlbmNlIChtb3JlIGJlbG93KS4NCg0KTGlrZSB0aGlzOg0KODhiOWQ4 ZTZjZjljICgid2lmaTogcnR3ODg6IHVzZSBzdHJ1Y3QgaW5zdGVhZCBvZiBtYWNyb3MgdG8gc2V0 IFRYIGRlc2MiKQ0KDQpJdCBuZWVkcyB0byBtb2RpZnkgYWxsIGFjcm9zcyBjaGlwcy4gDQoNCj4g DQo+IFsuLi5dDQo+IA0KPiA+PiArDQo+ID4+ICsgICAgICAgaWYgKHJldCAhPSAwKQ0KPiA+PiAr ICAgICAgICAgICAgICAgcmV0dXJuIHJldDsNCj4gPj4gKw0KPiA+PiArI2lmZGVmIENPTkZJR19P Rg0KPiA+PiArICAgICAgIC8qIFByZWZlciBNQUMgZnJvbSBEVCwgaWYgYXZhaWxhYmxlLiBPbiBz b21lIGRldmljZXMgbGlrZSB0aGUNCj4gPj4gKyAgICAgICAgKiBQaW5lcGhvbmUgdGhhdCBtaWdo dCBiZSB0aGUgb25seSB3YXkgdG8gZ2V0IGEgdmFsaWQgTUFDLg0KPiA+PiArICAgICAgICAqLw0K PiA+PiArICAgICAgIHN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9IHJ0d2Rldi0+ZGV2LT5vZl9u b2RlOw0KPiA+DQo+ID4gU2hvdWxkIG1vdmUgdGhpcyBzdGF0ZW1lbnQgdG8gdG9wbW9zdCBvZiB0 aGlzIGZ1bmN0aW9uPyBubyBjb21waWxlciB3YXJuaW5nPw0KPiA+DQo+ID4gT3IsIG1ha2UgYW4g aW5kaXZpZHVhbCBmdW5jdGlvbiB0byByZWFkIG1hYyBhZGRyIGZyb20gRFQ/DQo+IA0KPiBJIGNh biBtb3ZlIHRoYXQgdG8gYSBzZXBhcmF0ZSBmdW5jdGlvbiBpZiB5b3UgcHJlZmVyLCBzZWUgYmVs b3cgZm9yIHRoZQ0KPiBjb21waWxlciB3YXJuaW5nLg0KDQpCZWNhdXNlIHRoaXMgaXMgQ09ORklH X09GIGNodW5rLCBpdCB3aWxsIGxvb2sgbGlrZSBiZWxvdyBpZiB5b3UgbW92ZSBkZWNsYXJhdGlv biB1cHdhcmQ6DQoNCiNpZmRlZiBDT05GSUdfT0YNCglzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUg PSBydHdkZXYtPmRldi0+b2Zfbm9kZTsNCiNlbmRpZg0KCS8vIG90aGVyIGRlY2xhcmF0aW9uIC4u Lg0KDQoJLy8gb3RoZXIgY29kZQ0KI2lmZGVmIENPTkZJR19PRg0KCWlmIChub2RlKSB7DQoJCS4u Lg0KCX0NCiNlbmRpZg0KDQpJdCBzZWVtcyBsaWtlIHRvbyBtdWNoICNpZmRlZi4gV2l0aCBhIHNl cGFyYXRlIGZ1bmN0aW9uLCBpdCBjYW4gYmUgc2luZ2xlICNpZmRlZi4gDQpUaGF0IGlzIG15IHBv aW50LiANCg0KPiANCj4gPj4gKw0KPiA+PiArICAgICAgIGlmIChub2RlKSB7DQo+ID4+ICsgICAg ICAgICAgICAgICByZXQgPSBvZl9nZXRfbWFjX2FkZHJlc3Mobm9kZSwgZWZ1c2UtPmFkZHIpOw0K PiA+PiArICAgICAgICAgICAgICAgaWYgKHJldCA9PSAwKSB7DQo+ID4+ICsgICAgICAgICAgICAg ICAgICAgICAgIHJ0d19kYmcocnR3ZGV2LCBSVFdfREJHX0VGVVNFLA0KPiA+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJnb3Qgd2lmaSBtYWMgYWRkcmVzcyBmcm9tIERUOiAlcE1c biIsDQo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWZ1c2UtPmFkZHIpOw0K PiA+PiArICAgICAgICAgICAgICAgfQ0KPiA+PiArICAgICAgIH0NCj4gPj4gKyNlbmRpZiAvKiBD T05GSUdfT0YgKi8NCj4gPj4gKw0KPiA+PiArICAgICAgIC8qIElmIFRYIHBvd2VyIGluZGV4IHRh YmxlIGluIEVGVVNFIGlzIGludmFsaWQsIGZhbGwgYmFjayB0bw0KPiA+PiArICAgICAgICAqIGJ1 aWx0LWluIHRhYmxlLg0KPiA+PiArICAgICAgICAqLw0KPiA+PiArICAgICAgIHU4ICpwd3IgPSAo dTggKillZnVzZS0+dHhwd3JfaWR4X3RhYmxlOw0KPiA+PiArICAgICAgIGJvb2wgdmFsaWQgPSBm YWxzZTsNCj4gPg0KPiA+IEkgdGVuZCB0byBtb3ZlIHRoZXNlIGRlY2xhcmF0aW9uIHRvIHRvcCBv ZiB0aGlzIGZ1bmN0aW9uIHRvbywgYnV0IG5vdCBzdXJlIHdoeQ0KPiA+IGNvbXBpbGVyIGFsc28g ZG9lc24ndCB3YXJuIHRoaXMgaW4gbXkgc2lkZS4gU2VlbWluZ2x5IGtlcm5lbCBjaGFuZ2VzIGRl ZmF1bHQNCj4gPiBjb21waWxlciBmbGFncz8NCj4gDQo+IFllcywgSSBsZWFybmVkIGFib3V0IHRo YXQgd2hpbGUgd29ya2luZyBvbiB0aGlzIGRyaXZlci4gRmlyc3QgdGhlIG1vdmUNCj4gdG8gZ251 MTEsIGFuZCB0aGVuIHJlbW92aW5nIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50IHdpdGgN Cj4gYjVlYzZmZDI4NmRmYTQ2NmY2NGNiMGU1NmVkNzY4MDkyZDAzNDJhZSBpbiA2LjUuIFRoZSBj b21taXQgbWVzc2FnZSBzYXlzDQo+ICJJdCB3aWxsIHN0aWxsIGJlIHJlY29tbWVuZWRlZCBbc2lj IV0gdG8gcGxhY2UgZGVjbGFyYXRpb25zIGF0IHRoZSBzdGFydA0KPiBvZiBhIHNjb3BlIHdoZXJl IHBvc3NpYmxlLCBidXQgaXQgd2lsbCBubyBsb25nZXIgYmUgZW5mb3JjZWQiLCBzbyBJJ2xsDQo+ IG1vdmUgdGhlc2UgdXAuDQoNClRoYW5rcyBmb3IgdGhlIGluZm8uIA0KDQo+IA0KPiBGb3IgdGhl IHN0cnVjdCBkZXZpY2Vfbm9kZSBwb2ludGVyIEkgdGhpbmsgaXQgbWFrZXMgc2Vuc2UgdG8gbGVh dmUgdGhlDQo+IGRlY2xhcmF0aW9uIHdpdGhpbiB0aGUgI2lmZGVmIENPTkZJR19PRiBzZWN0aW9u ICh1bmxlc3Mgd2UgcmVzdHJ1Y3R1cmUNCj4gdGhhdCBpbnRvIGEgc2VwYXJhdGUgZnVuY3Rpb24p IGJlY2F1c2UgaXQncyB1bnVzZWQgb3RoZXJ3aXNlLg0KDQpTZWUgbXkgcG9pbnQgYWJvdmUuIEJ1 dCB5b3VyIHBvaW50IG1ha2VzIHNlbnNlIHRvby4gDQoNCj4gDQo+IFsuLi5dDQo+IA0KPiA+PiAr c3RhdGljIHZvaWQgcnR3ODcwM2JfcXVlcnlfcnhfZGVzYyhzdHJ1Y3QgcnR3X2RldiAqcnR3ZGV2 LCB1OCAqcnhfZGVzYywNCj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3QgcnR3X3J4X3BrdF9zdGF0ICpwa3Rfc3RhdCwNCj4gPj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgaWVlZTgwMjExX3J4X3N0YXR1cyAqcnhfc3RhdHVzKQ0K PiA+PiArew0KPiA+PiArICAgICAgIHN0cnVjdCBpZWVlODAyMTFfaGRyICpoZHI7DQo+ID4+ICsg ICAgICAgdTMyIGRlc2Nfc3ogPSBydHdkZXYtPmNoaXAtPnJ4X3BrdF9kZXNjX3N6Ow0KPiA+PiAr ICAgICAgIHU4ICpwaHlfc3RhdHVzID0gTlVMTDsNCj4gPj4gKw0KPiA+PiArICAgICAgIG1lbXNl dChwa3Rfc3RhdCwgMCwgc2l6ZW9mKCpwa3Rfc3RhdCkpOw0KPiA+PiArDQo+ID4+ICsgICAgICAg cGt0X3N0YXQtPnBoeV9zdGF0dXMgPSBHRVRfUlhfREVTQ19QSFlTVChyeF9kZXNjKTsNCj4gPj4g KyAgICAgICBwa3Rfc3RhdC0+aWN2X2VyciA9IEdFVF9SWF9ERVNDX0lDVl9FUlIocnhfZGVzYyk7 DQo+ID4+ICsgICAgICAgcGt0X3N0YXQtPmNyY19lcnIgPSBHRVRfUlhfREVTQ19DUkMzMihyeF9k ZXNjKTsNCj4gPj4gKyAgICAgICBwa3Rfc3RhdC0+ZGVjcnlwdGVkID0gIUdFVF9SWF9ERVNDX1NX REVDKHJ4X2Rlc2MpICYmDQo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdFVF9S WF9ERVNDX0VOQ19UWVBFKHJ4X2Rlc2MpICE9IFJYX0RFU0NfRU5DX05PTkU7DQo+ID4+ICsgICAg ICAgcGt0X3N0YXQtPmlzX2MyaCA9IEdFVF9SWF9ERVNDX0MySChyeF9kZXNjKTsNCj4gPj4gKyAg ICAgICBwa3Rfc3RhdC0+cGt0X2xlbiA9IEdFVF9SWF9ERVNDX1BLVF9MRU4ocnhfZGVzYyk7DQo+ ID4+ICsgICAgICAgcGt0X3N0YXQtPmRydl9pbmZvX3N6ID0gR0VUX1JYX0RFU0NfRFJWX0lORk9f U0laRShyeF9kZXNjKTsNCj4gPj4gKyAgICAgICBwa3Rfc3RhdC0+c2hpZnQgPSBHRVRfUlhfREVT Q19TSElGVChyeF9kZXNjKTsNCj4gPj4gKyAgICAgICBwa3Rfc3RhdC0+cmF0ZSA9IEdFVF9SWF9E RVNDX1JYX1JBVEUocnhfZGVzYyk7DQo+ID4+ICsgICAgICAgcGt0X3N0YXQtPmNhbV9pZCA9IEdF VF9SWF9ERVNDX01BQ0lEKHJ4X2Rlc2MpOw0KPiA+PiArICAgICAgIHBrdF9zdGF0LT5wcGR1X2Nu dCA9IDA7DQo+ID4+ICsgICAgICAgcGt0X3N0YXQtPnRzZl9sb3cgPSBHRVRfUlhfREVTQ19UU0ZM KHJ4X2Rlc2MpOw0KPiA+DQo+ID4gQ291bGQgeW91IGFkZCBhIHNlcGFyYXRlIHBhdGNoIHRvIGNv bnZlcnQgdGhlc2UgbWFjcm9zIHRvIHN0cnVjdCBzdHlsZT8NCj4gPiBJdCBpcyBmaW5lIHRvIGtl ZXAgYXMgaXQgd2FzLCBhbmQgZG8gdGhpcyBjb252ZXJzaW9uIGFmdGVyd2FyZC4NCj4gDQo+IElu IHByaW5jaXBsZSB5ZXMsIGJ1dCBhcyBJIG1lbnRpb25lZCBhYm92ZSBJJ2QgYmFzaWNhbGx5IGhh dmUgdG8NCj4gcmVpbnZlbnQgYWxsIHRoZSBkZWZpbml0aW9ucyBmcm9tIHJ4LmggdG8gbWFrZSBp dCB3b3JrLCBJJ20gbm90IHN1cmUgaWYNCj4gdGhhdCByZWFsbHkgc2ltcGxpZmllcyB0aGluZ3Mu IElmIHlvdSB3YW50IHRvIHJlZmFjdG9yIHRob3NlIEkgdGhpbmsNCj4gaXQnZCBiZSBiZXN0IHRv IGRvIGl0IGZvciBhbGwgY2hpcCBkcml2ZXJzIHRvZ2V0aGVyLg0KDQpZZXMsIGZvciBhbGwgY2hp cHMuIA0KDQo+IA0KPiBUaGUgR0VUX1BIWV9TVEFUXyogbWFjcm9zIGFyZSBhIGRpZmZlcmVudCBt YXR0ZXIuIFRoZSBQSFkgc3RhdHVzDQo+IHN0cnVjdHVyZSBpcyBkaWZmZXJlbnQgYmV0d2VlbiA4 NzAzYiBhbmQgdGhlIG90aGVyIHN1cHBvcnRlZCBjaGlwcywgc28NCj4gdGhvc2UgY291bGQgYmUg cmVwbGFjZWQgd2l0aCBhIHN0cnVjdCB3aXRob3V0IGR1cGxpY2F0aW9uLiBPciBhdCBsZWFzdA0K PiBtb3N0bHksIHNvbWUgZWxlbWVudHMgYXJlIGJpdCBmaWVsZHMgb3IgdmFsdWVzIHdpdGggPCA4 IGJpdHMsIHdoZXJlIEkNCj4gdGhpbmsgYSBtYWNybyBpcyBzaW1wbGVyIHRoYW4gYSBzdHJ1Y3Qg d2l0aCBkaWZmZXJlbnQgZGVmaW5pdGlvbnMNCj4gZGVwZW5kaW5nIG9uIGVuZGlhbmVzcy4gSSBh bSB3b3JyaWVkIGFib3V0IGludHJvZHVjaW5nIGFuIGVuZGlhbmVzcw0KPiBlcnJvciB0aG91Z2gs IHNvIEknZCBoYXZlIHRvIGFzayBmb3IgY2FyZWZ1bCByZXZpZXcgb2Ygc3VjaCBhIHBhdGNoLg0K DQpJIHRoaW5rIHdlIGNhbiBrZWVwIGl0IGFzIGl0IHdhcyBmb3IgdGhpcyBwYXRjaHNldCwgYW5k IGFub3RoZXIgcGF0Y2hlcyBsYXRlcg0KdG8gY29udmVydCB0aGlzIGtpbmQgb2YgbWFjcm9zLiBN b250aHMgYWdvLCBLYWxsZSBndWlkZWQgdGhlIHJ1bGVzIGhvdw0KcnR3ODgvODkgY2FuIGRvIFsx XS4gRm9yIG1lLCBJIHdpbGwgY29udmVydCBtYWNyb3MgdG8gc3RydWN0IG9uY2UgSSB0b3VjaA0K dGhlbS4gDQoNClsxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvODdhNXpwYjcxai5mc2Zf LV9Aa2VybmVsLm9yZy8NCg0K