Received: by 2002:a05:7412:f690:b0:e2:908c:2ebd with SMTP id ej16csp765746rdb; Thu, 19 Oct 2023 20:34:50 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHa4dif3aRZIcOV6xoBqibSdQfTKF9MiXyTzCaG4tOC9NhP6lFnTQ8LByE9zrEBo6eH8EBo X-Received: by 2002:a05:6808:188f:b0:3b2:e0f2:478a with SMTP id bi15-20020a056808188f00b003b2e0f2478amr708719oib.30.1697772889884; Thu, 19 Oct 2023 20:34:49 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1697772889; cv=pass; d=google.com; s=arc-20160816; b=BVkyUHpvH0U98CBlwx9cXTd07fUNGOF+7aeDoXWNiSK1/V/4IZLf/zxfXCaEK4jCN9 Scsex89EjJc/KRXxnKHUOAZxLYh99TspkN5sa/pt88OZ5k/pDSYOsTQK5aj/PP1KMav3 Ys++8ItcVKUgco1n4KnS4ITO73J4OIl+IBfQe2JhjBh+OgMi1Y8v0/oPsPaLzCsm1EIz oPuDNfZVZvDSp8V98L9JPsk2JfrOP8VCxi1qLhIIP98ateKQdFMQQNUBaNgaBGZNGfRl VTgfB3Xe23EpxGYlBZ+Plw7oo0ovexD9/6G0vPZtm8cGE14yLmUKwaHdufwuFtXIqmik oG1Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-language:accept-language :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=U4SkeeAq/HkU/8HoKVchswjM51I1gqV16brMIKI5cU0=; fh=eeljhDeqLBNJA92heYxaFmFpTIn/QL2TI/3gqnKa+l4=; b=0svtfNMxqAzU2ou4Ri0yVZIbVvZlgb2xJUbxUXU73NF2Ai0rV8BhomWP7HXSul1v7w sM2DHUk1iRoPZOMopPAJsukiObIdEQiw+cHnkqak+KnDFlDV3ctM8NjG00VNl/P8As8w DvdVn16CUsEDwqnOsHnMjfG9P7xCaeLWd9oecWvNqNn2f33/dCQvJsgnlevYO4ape5bY 3upitKfpYo5T+kxUKk7V7abjXQJtc/msEvHhmOrwEaikMpP2gangjpVcm2oSIVeVglDk Y2tkv2l0CtTcWf9lYBqWaM72ohw2HchFVSYzMdKdJG6cMQsMZE9UL8edjw0LW7u1ICsh Flcw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=RdLe+Rz+; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id l128-20020a633e86000000b005aaefc07ccfsi958633pga.36.2023.10.19.20.34.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Oct 2023 20:34:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=RdLe+Rz+; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 59BF481DDBF3; Thu, 19 Oct 2023 20:34:43 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346942AbjJTDeX (ORCPT + 52 others); Thu, 19 Oct 2023 23:34:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50936 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346929AbjJTDeU (ORCPT ); Thu, 19 Oct 2023 23:34:20 -0400 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2085.outbound.protection.outlook.com [40.107.21.85]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 165BBD7C; Thu, 19 Oct 2023 20:34:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BggqzKtX1Jlm/fJufr7QNaNrRgcogN1WzJ8O09mJ5bIUh54HkuTThupevACV1Ph3oBGkK9OwglXfmx7cEK1XZey3uB5kw0uGbcQ1Q/iq4p0XennHz1Es57f5ynm6lOkUlP++5sKNqkMLj4GJx2zUXtR+dUyygs2BH0ud22hr2gMD0Wmodkro1hspDWdqueO0kElLu9dq1ry4BgIPYcwnJ5fPRDyker4TR6HI2eKCA3Tenpbn8uSL65RZtekd+hQKEGvOpGz7gSDfehuU72yePmqgEUFT1Wpzv4ivuirMLNT7LbQyoRUsCKO0LwSigh3WhCZFnraxHS5d7GKqRJTkPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=U4SkeeAq/HkU/8HoKVchswjM51I1gqV16brMIKI5cU0=; b=b8TnDLNc35mAQsDUAmc0AsPACN6HWr4c/Z6AfQuQVQPnxAJ9v//I/l/80HEBAwk/e6hbhEGotl3BNbiz4wdC9wu+aEBgOBv5CtWdZSFiSPGGde8WGABQFFuiCTqKA/EVJrIUa5YHYZDnLaO5HZJyNo/kBhgRKGZColFODQiQqh5argzdxt8j+tOG4Te9ccLgBcZJgvWhAgERqlJz49OGSGGfCChPTa6Nu5sR0JwCytoDbNsnm/HGyXPVkjNBS9vHnlPKY7VbUyaKhzCVIWpw2FxXB/r+pKXUjnX2BRIAP0Oynqyqa5akzuexpOtrAdWmz/BKnMpkxEGfoRA0DiAQrQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=U4SkeeAq/HkU/8HoKVchswjM51I1gqV16brMIKI5cU0=; b=RdLe+Rz+KqSJM6IwUNXdbzq+S5Vxc8SaW/NAYqKuQHnBbhLZPJ4LvCNMO4nvnJmqvFoVunRvhwN8EZsTqoz0xKlqDTBpCQWI+0gDvOo5qQfKlj5K9O9WNX9rjRPCi55s5oH4p8dRzTkDXxbjPb9u8SLaPckXUIxdfi5vKk0YN5s= Received: from PA4PR04MB9638.eurprd04.prod.outlook.com (2603:10a6:102:273::20) by DB9PR04MB8236.eurprd04.prod.outlook.com (2603:10a6:10:245::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6886.34; Fri, 20 Oct 2023 03:34:11 +0000 Received: from PA4PR04MB9638.eurprd04.prod.outlook.com ([fe80::34dd:289e:9e8b:9c9b]) by PA4PR04MB9638.eurprd04.prod.outlook.com ([fe80::34dd:289e:9e8b:9c9b%7]) with mapi id 15.20.6933.011; Fri, 20 Oct 2023 03:34:11 +0000 Content-Type: multipart/mixed; boundary="_000_PA4PR04MB9638D34DE94CB6B24152E06DD1DBAPA4PR04MB9638eurp_" From: David Lin To: "linux-wireless@vger.kernel.org" CC: "linux-kernel@vger.kernel.org" , "briannorris@chromium.org" , "kvalo@kernel.org" , "francesco@dolcini.it" , Sharvari Harisangam , David Lin , Pete Hsieh Subject: [PATCH v5 3/6] wifi: mwifiex: fixed reassocation issue for WPA3. Thread-Topic: [PATCH v5 3/6] wifi: mwifiex: fixed reassocation issue for WPA3. Thread-Index: AdoDBklPP2ms8qKvSYKhwn8ugGVR0w== Date: Fri, 20 Oct 2023 03:34:11 +0000 Message-ID: Accept-Language: zh-TW, en-US Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PA4PR04MB9638:EE_|DB9PR04MB8236:EE_ x-ms-office365-filtering-correlation-id: 84d3de13-bbec-4b12-2a01-08dbd11d6ce3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 897YWYWYWfmdXuSGPPFPrLlFg8OgSDhKRvvPzdHRklSzOPmbngJvYGI2B2dH9ESTh66WDaVbg7HSi4PTvMLPHP6r/AVHhUjJSlv+tPkM0WUobVDxUdExOhy3/TDj6yUG9Rg3g0BBC93GnQbIxzfsHo/3gUpt4kRKeOU4LCQYAL4gm/WS5NI1pbiPrawtawkXX4fgSZA15MRDIa+prkcQVW0cvEHhvtNLWP/t4KVuIAHWoXcH1JRxWAlJsIRBzdH9HWFXAD9xti6DgglaLmEV7vK7+oWGidmgbfvfegfBOXfp/nXRJJIac2Q6fvgVHoF3N3YTt6IuH/vsh0x3hvpomeWNj7SPVvAqGFta7wuXCeCfTITWjQUyqEb3RF3k4aZbjS3iY47XAcJBtCllPFeKg40PPL6IXrfCwSkF16ldCuaYRkY1ThVF9EQF6JJgY94yN4etVprYugE639mvi5Pi0PdbvkGt0sG21SlTr6dXGLK+SbXJv6557U92fbNig0TPJ0NWqo+FSuqfP6r6MHFPeRAFBOXv5nr7cEckkfLmKzL373Z84UIiNXZrxmLrZWQXbtVrS1XxJ36rOuACnaeTJhaZfTQQWIFUQTuef147xF1LQpWA4GlL5NWzqmRY7zQG x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9638.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(376002)(346002)(366004)(39860400002)(230922051799003)(451199024)(1800799009)(64100799003)(186009)(38070700009)(66446008)(38100700002)(66556008)(33656002)(64756008)(478600001)(66476007)(54906003)(66946007)(6506007)(6916009)(76116006)(71200400001)(2906002)(8936002)(5660300002)(8676002)(52536014)(9686003)(41300700001)(4326008)(86362001)(316002)(7696005)(83380400001)(122000001)(26005)(55016003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?yQ4oaXk4FSwAwMxmU2fxK3aBDJ0xcLQrilFipKKjqzFnuJoeLDunsSgGD47p?= =?us-ascii?Q?wPl2zz1VWwXXAxlyOPsMymoopZpVtMYrbt6clLwv60849sU0KWa/PRuXF5uV?= =?us-ascii?Q?tUDIyzJzkgkImoYVJhP6DwbzXLgmgTWkwL6KNcWpSUwlEw9o5chplEU/PXnR?= =?us-ascii?Q?YDwEQKyjqp0/vp94fOJjhOk0EbRRLxVe+wLQ3fj2Kb93dz3+m7h4V8NxZgTk?= =?us-ascii?Q?Xjj7/GEklFypb+UEk//mfpbzUtRzESJk9I2hyMT75GgnFbloe0S7ydZ13tJC?= =?us-ascii?Q?PnjiVHM+EWnKMjhbdsOZfSsQX9Rw2W2YIBbkFfMxuZXlU9ylJdYNhQ5GeOvP?= =?us-ascii?Q?yUnT/ec/xtmgNXpWSIqigiKLIbu3CZFRaS9moVseIXEIeM9UcgtM2j1CmTws?= =?us-ascii?Q?DU+4M5AJUh3pAvZMfM9HsGcT3wpaUeXlpdeepjmhb0ad23Sdt5ZfpI5uzS9s?= =?us-ascii?Q?PsVadSr31QVZTav/JQm3a1Qp7lJf74wKvzO+pal7d03rQvDW0OdmxsEdJdDy?= =?us-ascii?Q?UkKcanGDz+9pza7lKmbA4tBEr8hiv9bg2pUJZPi3sUkYheWtzxDllHcA51ry?= =?us-ascii?Q?xdZUyPxn5oNVP6RzqHETp/V8kDLlod4yWZue6XJ4mjkg+2oQ99z1s1VsHSUW?= =?us-ascii?Q?RWt6t5zq9y9CVoA5DqyC2YL6kBYaXIEqAW1rBaP9iGq75PW2RR7829KaziK9?= =?us-ascii?Q?rFcYtCirXbJnhkJNIZjt1zO2jkrI+tfXgCfGCX0LKbshg0+V0zbVdhzzIqZS?= =?us-ascii?Q?SWRAhedimjZW4ZO0PdK6N+Km3KYxms6Dqzy8PiJpanXzrpf6wl6+sHDfBDWR?= =?us-ascii?Q?qUrcD1eRN5No1L1SXlJyEMmq9mpXKYC/9YkD7oYX3rLy1iUvzz0FhiDjWaxs?= =?us-ascii?Q?wAWoPalKOGRZFoF4yt6Ew318H1pxpCYRfcifwMCfSKmJF/y9tLg2o4MBX84p?= =?us-ascii?Q?0hIyss74aKzAvWVGCSw8YA5L2Z5/zvCYXAMfBf5HhHSe5ZFcO92H6RnVJOd6?= =?us-ascii?Q?7DoJdHnDTFzzNfvFWMJkCY2wEB8+hsOkcexlZ6Bjwi4IBaUDouc52OmH4BtE?= =?us-ascii?Q?jI2K+opg3NByW9yfIPN25EZvSpn/PPU3YYFS56fUYD/BbcfJKBFtK5pEFIIu?= =?us-ascii?Q?UWe2smRbNrDQaVXa9BdpilCkK/6BN1eSiPOGtvlPcCkxZC+GEsYHM25Cb8AI?= =?us-ascii?Q?si9WtUJXyiWB5aMQqmgvdVGshB+1CG5lhQLXQtmvqxK93mcz+rxu/Fz8inmM?= =?us-ascii?Q?UJbXyrBXHraafLim9+g/2naC6Sd7TbLD0BQxLNy+EEo9QwTVPBEZOv4IOZq3?= =?us-ascii?Q?w3+I9CFa7VRVKPF8f5qtcCOvQxTMVsDWgko2bEsb9JuWU7A+B8yIvrYQZVcY?= =?us-ascii?Q?picpAFaKSAkg+e+HvUeDLrKIeCrJNKNG7GxkX1ZWaGcO99flIZv7/3hBLlKY?= =?us-ascii?Q?1KALAD/BYtoO6iCEJU1yYrGTxMnkVan0crHtZwATT5KXowfCzrkci1IqF/tI?= =?us-ascii?Q?VYztDAhknsq2g0CP3sw1yktC/l5You4g0CxKFfeXGP+XMiWjxvn8zjmeDjoF?= =?us-ascii?Q?mAVAm27Uw9O/ArqCbRTC71jhFds7b6aXFRHsyTko?= MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9638.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 84d3de13-bbec-4b12-2a01-08dbd11d6ce3 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Oct 2023 03:34:11.3639 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Nk9ParlmJ8D4ny0+O9C/o95ImvuYruCgBHuVwBVterkTTmaD4aF9qWkJAYZTA6H8J6UMtXnhZ+g1wSywl/Ginw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8236 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Thu, 19 Oct 2023 20:34:43 -0700 (PDT) --_000_PA4PR04MB9638D34DE94CB6B24152E06DD1DBAPA4PR04MB9638eurp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable This issue is related to resatart/reconfigure AP. When AP is restarted or reconfigured, wpa_supplilcant will use cached PMKSA to do association to AP. Because association failure does not report to cfg80211/wpa_supplicant, wpa_supplicant will always use cached PMKSA to do assocaiton. Connection can't be established under this way. Signed-off-by: David Lin --- .../net/wireless/marvell/mwifiex/cfg80211.c | 25 ++++++++----------- drivers/net/wireless/marvell/mwifiex/cmdevt.c | 18 +++++++++++++ drivers/net/wireless/marvell/mwifiex/init.c | 1 + drivers/net/wireless/marvell/mwifiex/main.c | 6 +++++ drivers/net/wireless/marvell/mwifiex/main.h | 3 +++ 5 files changed, 39 insertions(+), 14 deletions(-) diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/= wireless/marvell/mwifiex/cfg80211.c index 3d59e6a441b9..a21310f3807c 100644 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c @@ -4395,9 +4395,6 @@ mwifiex_cfg80211_associate(struct wiphy *wiphy, struc= t net_device *dev, int ret; struct cfg80211_ssid req_ssid; const u8 *ssid_ie; - struct cfg80211_rx_assoc_resp assoc_resp =3D { - .uapsd_queues =3D -1, - }; =20 if (GET_BSS_ROLE(priv) !=3D MWIFIEX_BSS_ROLE_STA) { mwifiex_dbg(adapter, ERROR, @@ -4433,13 +4430,13 @@ mwifiex_cfg80211_associate(struct wiphy *wiphy, str= uct net_device *dev, =20 req_ssid.ssid_len =3D ssid_ie[1]; if (req_ssid.ssid_len > IEEE80211_MAX_SSID_LEN) { - mwifiex_dbg(priv->adapter, ERROR, "invalid SSID - aborting\n"); + mwifiex_dbg(adapter, ERROR, "invalid SSID - aborting\n"); goto ssid_err; } =20 memcpy(req_ssid.ssid, ssid_ie + 2, req_ssid.ssid_len); if (!req_ssid.ssid_len || req_ssid.ssid[0] < 0x20) { - mwifiex_dbg(priv->adapter, ERROR, "invalid SSID - aborting\n"); + mwifiex_dbg(adapter, ERROR, "invalid SSID - aborting\n"); goto ssid_err; } rcu_read_unlock(); @@ -4466,25 +4463,25 @@ mwifiex_cfg80211_associate(struct wiphy *wiphy, str= uct net_device *dev, =20 memcpy(priv->cfg_bssid, req->bss->bssid, ETH_ALEN); =20 - mwifiex_dbg(priv->adapter, MSG, + mwifiex_dbg(adapter, MSG, "assoc: send association to %pM\n", req->bss->bssid); =20 - cfg80211_ref_bss(priv->adapter->wiphy, req->bss); + cfg80211_ref_bss(adapter->wiphy, req->bss); =20 ret =3D mwifiex_bss_start(priv, req->bss, &req_ssid); =20 - if (!ret) { - assoc_resp.links[0].bss =3D priv->attempted_bss_desc->bss; - assoc_resp.buf =3D priv->assoc_rsp_buf; - assoc_resp.len =3D priv->assoc_rsp_size; - cfg80211_rx_assoc_resp(priv->netdev, - &assoc_resp); - } else { + if (ret) { priv->auth_flag =3D 0; priv->auth_alg =3D 0xFFFF; eth_zero_addr(priv->cfg_bssid); } =20 + if (priv->assoc_rsp_size) { + priv->req_bss =3D req->bss; + adapter->assoc_resp_received =3D true; + queue_work(adapter->workqueue, &adapter->main_work); + } + cfg80211_put_bss(priv->adapter->wiphy, req->bss); =20 return 0; diff --git a/drivers/net/wireless/marvell/mwifiex/cmdevt.c b/drivers/net/wi= reless/marvell/mwifiex/cmdevt.c index 311af5f40c3e..16777af50097 100644 --- a/drivers/net/wireless/marvell/mwifiex/cmdevt.c +++ b/drivers/net/wireless/marvell/mwifiex/cmdevt.c @@ -924,6 +924,24 @@ int mwifiex_process_cmdresp(struct mwifiex_adapter *ad= apter) return ret; } =20 +void mwifiex_process_assoc_resp(struct mwifiex_adapter *adapter) +{ + struct cfg80211_rx_assoc_resp assoc_resp =3D { + .uapsd_queues =3D -1, + }; + struct mwifiex_private *priv =3D + mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA); + + if (priv->assoc_rsp_size) { + assoc_resp.links[0].bss =3D priv->req_bss; + assoc_resp.buf =3D priv->assoc_rsp_buf; + assoc_resp.len =3D priv->assoc_rsp_size; + cfg80211_rx_assoc_resp(priv->netdev, + &assoc_resp); + priv->assoc_rsp_size =3D 0; + } +} + /* * This function handles the timeout of command sending. * diff --git a/drivers/net/wireless/marvell/mwifiex/init.c b/drivers/net/wire= less/marvell/mwifiex/init.c index f86a527fd7ca..4326e03a66d3 100644 --- a/drivers/net/wireless/marvell/mwifiex/init.c +++ b/drivers/net/wireless/marvell/mwifiex/init.c @@ -223,6 +223,7 @@ static void mwifiex_init_adapter(struct mwifiex_adapter= *adapter) adapter->cmd_resp_received =3D false; adapter->event_received =3D false; adapter->data_received =3D false; + adapter->assoc_resp_received =3D false; =20 clear_bit(MWIFIEX_SURPRISE_REMOVED, &adapter->work_flags); =20 diff --git a/drivers/net/wireless/marvell/mwifiex/main.c b/drivers/net/wire= less/marvell/mwifiex/main.c index 3bebb6c37604..1dac77946813 100644 --- a/drivers/net/wireless/marvell/mwifiex/main.c +++ b/drivers/net/wireless/marvell/mwifiex/main.c @@ -365,6 +365,12 @@ int mwifiex_main_process(struct mwifiex_adapter *adapt= er) } } =20 + /* Chekc for Assoc Resp */ + if (adapter->assoc_resp_received) { + adapter->assoc_resp_received =3D false; + mwifiex_process_assoc_resp(adapter); + } + /* Check if we need to confirm Sleep Request received previously */ if (adapter->ps_state =3D=3D PS_STATE_PRE_SLEEP) diff --git a/drivers/net/wireless/marvell/mwifiex/main.h b/drivers/net/wire= less/marvell/mwifiex/main.h index 83449ad84d15..ae4b44ad6c50 100644 --- a/drivers/net/wireless/marvell/mwifiex/main.h +++ b/drivers/net/wireless/marvell/mwifiex/main.h @@ -615,6 +615,7 @@ struct mwifiex_private { #define MWIFIEX_ASSOC_RSP_BUF_SIZE 500 u8 assoc_rsp_buf[MWIFIEX_ASSOC_RSP_BUF_SIZE]; u32 assoc_rsp_size; + struct cfg80211_bss *req_bss; =20 #define MWIFIEX_GENIE_BUF_SIZE 256 u8 gen_ie_buf[MWIFIEX_GENIE_BUF_SIZE]; @@ -915,6 +916,7 @@ struct mwifiex_adapter { u8 cmd_resp_received; u8 event_received; u8 data_received; + u8 assoc_resp_received; u16 seq_num; struct cmd_ctrl_node *cmd_pool; struct cmd_ctrl_node *curr_cmd; @@ -1104,6 +1106,7 @@ void mwifiex_insert_cmd_to_pending_q(struct mwifiex_a= dapter *adapter, =20 int mwifiex_exec_next_cmd(struct mwifiex_adapter *adapter); int mwifiex_process_cmdresp(struct mwifiex_adapter *adapter); +void mwifiex_process_assoc_resp(struct mwifiex_adapter *adapter); int mwifiex_handle_rx_packet(struct mwifiex_adapter *adapter, struct sk_buff *skb); int mwifiex_process_tx(struct mwifiex_private *priv, struct sk_buff *skb, --=20 2.25.1 --_000_PA4PR04MB9638D34DE94CB6B24152E06DD1DBAPA4PR04MB9638eurp_ Content-Disposition: attachment; filename="winmail.dat" Content-Transfer-Encoding: base64 Content-Type: application/ms-tnef; name="winmail.dat" eJ8+Iu1pAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEJgAEAIQAAADgwQjEwNUI3 OTg1QkQ0NEE5NjFBNkU3QzA1NUNFQjgxADEHAQ2ABAACAAAAAgACAAEFgAMADgAAAOcHCgAUAAMA IgALAAUAQQEBIIADAA4AAADnBwoAFAADACIACwAFAEEBAQiABwAYAAAASVBNLk1pY3Jvc29mdCBN YWlsLk5vdGUAMQgBBIABAEEAAABbUEFUQ0ggdjUgMy82XSB3aWZpOiBtd2lmaWV4OiBmaXhlZCBy ZWFzc29jYXRpb24gaXNzdWUgZm9yIFdQQTMuAHsVAQuAAQAhAAAAODBCMTA1Qjc5ODVCRDQ0QTk2 MUE2RTdDMDU1Q0VCODEAMQcBA5AGACQ5AABaAAAAAgF/AAEAAABRAAAAPFBBNFBSMDRNQjk2MzhE MzRERTk0Q0I2QjI0MTUyRTA2REQxREJBQFBBNFBSMDRNQjk2MzguZXVycHJkMDQucHJvZC5vdXRs b29rLmNvbT4AAAAACwAfDgAAAAACAQkQAQAAAAkLAAAFCwAAox8AAExaRnXxujRpYQAKZmJpZAQA AGNjwHBnMTI1MgD+A0PwdGV4dAH3AqQD4wIABGNoCsBzZXQwIO8HbQKDAFARTTIKgAa0AoCWfQqA CMg7CWIxOQ7AvwnDFnIKMhZxAoAVYioJsHMJ8ASQYXQFsg5QA2Bzom8BgCBFeBHBbhgwXQZSdgSQ F7YCEHIAwHR9CFBuGjEQIAXABaAbZGSaIANSIBAiF7JcdgiQ5HdrC4BkNR1TBPAHQA0XcDAKcRfy YmttawZzAZAAICBCTV9C4EVHSU59CvwB8Qvw6jISQGgEACAEAQpQIeG+IAlwC2AcQhiQInFzGICN H4EvCXAb4WZpZwhwQRngQVAuXGwLgGXzCoEkxFdoCfAkcSJEH2OHHFEFsSPJZCwgdwqw+l8iEHAL UAMQHlACMCfg+wMQAyB1EgAb0ADQJaALMEEkxFBNS1NBIvJkJSMQYQQQb2MHMHRp1wIgIvIkiEIF kGEpQisaPmYLcApAJFEq4AeRbm8bBUAJcHAJESLyY2ZnwDgwMjExLyf4KKIeLCS1MCwo5AdAd2F5 uwQgKUggKl8LcBiQbiSmWxtBGFBjK4MooScFQGLfGeAmUgJgBAAzonUdwBuxbnQhsjLhJK1TJCAY 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 AG4AeABwAC4AYwBvAG0AAAAAAB8AHgwBAAAACgAAAFMATQBUAFAAAAAAAAIBGQwBAAAAXAAAAAAA AACBKx+kvqMQGZ1uAN0BD1QCAAAAgEQAYQB2AGkAZAAgAEwAaQBuAAAAUwBNAFQAUAAAAHkAdQAt AGgAYQBvAC4AbABpAG4AQABuAHgAcAAuAGMAbwBtAAAAHwABXQEAAAAmAAAAeQB1AC0AaABhAG8A LgBsAGkAbgBAAG4AeABwAC4AYwBvAG0AAAAAAAsAQDoBAAAAHwAaAAEAAAASAAAASQBQAE0ALgBO AG8AdABlAAAAAAADAPE/BAQAAAsAQDoBAAAAAwD9P+QEAAACAQswAQAAABAAAACAsQW3mFvUSpYa bnwFXOuBAwAXAAEAAABAADkAgPssSgYD2gFAAAgwlGlaSgYD2gELACkAAAAAAB8A2T8BAAAAAAIA AFQAaABpAHMAIABpAHMAcwB1AGUAIABpAHMAIAByAGUAbABhAHQAZQBkACAAdABvACAAcgBlAHMA YQB0AGEAcgB0AC8AcgBlAGMAbwBuAGYAaQBnAHUAcgBlACAAQQBQAC4ADQAKAA0ACgBXAGgAZQBu ACAAQQBQACAAaQBzACAAcgBlAHMAdABhAHIAdABlAGQAIABvAHIAIAByAGUAYwBvAG4AZgBpAGcA dQByAGUAZAAsACAAdwBwAGEAXwBzAHUAcABwAGwAaQBsAGMAYQBuAHQAIAB3AGkAbABsACAAdQBz AGUAIABjAGEAYwBoAGUAZAANAAoAUABNAEsAUwBBACAAdABvACAAZABvACAAYQBzAHMAbwBjAGkA YQB0AGkAbwBuACAAdABvACAAQQBQAC4ADQAKAEIAZQBjAGEAdQBzAGUAIABhAHMAcwBvAGMAaQBh AHQAaQBvAG4AIABmAGEAaQBsAHUAcgBlACAAZABvAGUAcwAgAG4AbwB0ACAAcgBlAHAAbwByAHQA IAB0AG8AIABjAGYAZwA4ADAAMgAxADEALwB3AHAAYQBfAHMAdQBwAHAAbABpAGMAYQBuAHQALAAN AAoAdwBwAGEAXwBzAHUAcABwAGwAaQBjAGEAbgB0ACAAdwBpAGwAbAAgAGEAbAB3AGEAeQBzAAAA CwAAgAggBgAAAAAAwAAAAAAAAEYAAAAAFIUAAAAAAAAfAACAhgMCAAAAAADAAAAAAAAARgEAAAAe AAAAYQBjAGMAZQBwAHQAbABhAG4AZwB1AGEAZwBlAAAAAAABAAAAGgAAAHoAaAAtAFQAVwAsACAA ZQBuAC0AVQBTAAAAAAADAACACCAGAAAAAADAAAAAAAAARgEAAAAyAAAARQB4AGMAaABhAG4AZwBl AEEAcABwAGwAaQBjAGEAdABpAG8AbgBGAGwAYQBnAHMAAAAAACAAAABIAACACCAGAAAAAADAAAAA AAAARgEAAAAiAAAATgBlAHQAdwBvAHIAawBNAGUAcwBzAGEAZwBlAEkAZAAAAAAAE97ThOy7Eksq AQjb0R1s4x8AAIATj/JB9IMUQaWE7ttaawv/AQAAABYAAABDAGwAaQBlAG4AdABJAG4AZgBvAAAA AAABAAAAKgAAAEMAbABpAGUAbgB0AD0ATQBTAEUAeABjAGgAYQBuAGcAZQBSAFAAQwAAAAAAHwD6 PwEAAAAUAAAARABhAHYAaQBkACAATABpAG4AAAAfADcAAQAAAIIAAABbAFAAQQBUAEMASAAgAHYA NQAgADMALwA2AF0AIAB3AGkAZgBpADoAIABtAHcAaQBmAGkAZQB4ADoAIABmAGkAeABlAGQAIABy AGUAYQBzAHMAbwBjAGEAdABpAG8AbgAgAGkAcwBzAHUAZQAgAGYAbwByACAAVwBQAEEAMwAuAAAA AAAfAD0AAQAAAAIAAAAAAAAAAwA2AAAAAAACAXEAAQAAABYAAAAB2gMGSU8/aazyoq9JgqHCfy6A ZVHTAAAfAHAAAQAAAIIAAABbAFAAQQBUAEMASAAgAHYANQAgADMALwA2AF0AIAB3AGkAZgBpADoA IABtAHcAaQBmAGkAZQB4ADoAIABmAGkAeABlAGQAIAByAGUAYQBzAHMAbwBjAGEAdABpAG8AbgAg AGkAcwBzAHUAZQAgAGYAbwByACAAVwBQAEEAMwAuAAAAAAAfADUQAQAAAKIAAAA8AFAAQQA0AFAA UgAwADQATQBCADkANgAzADgARAAzADQARABFADkANABDAEIANgBCADIANAAxADUAMgBFADAANgBE AEQAMQBEAEIAQQBAAFAAQQA0AFAAUgAwADQATQBCADkANgAzADgALgBlAHUAcgBwAHIAZAAwADQA LgBwAHIAbwBkAC4AbwB1AHQAbABvAG8AawAuAGMAbwBtAD4AAAAAAAMA3j+fTgAAAwATEgAAAAAC AQCAE4/yQfSDFEGlhO7bWmsL/wEAAAAuAAAASABlAGEAZABlAHIAQgBvAGQAeQBGAHIAYQBnAG0A ZQBuAHQATABpAHMAdAAAAAAAAQAAACIAAAABAAoAAAAEAAAAAAAAABQAAAAAAAAAAAAAAP////8A AAAAAAALAACAE4/yQfSDFEGlhO7bWmsL/wEAAAAcAAAASABhAHMAUQB1AG8AdABlAGQAVABlAHgA dAAAAAAAAAALAACAE4/yQfSDFEGlhO7bWmsL/wEAAAAoAAAASQBzAFEAdQBvAHQAZQBkAFQAZQB4 AHQAQwBoAGEAbgBnAGUAZAAAAAAAAABAAAcweyMvSgYD2gECAQsAAQAAABAAAACAsQW3mFvUSpYa bnwFXOuBAwAmAAAAAAALAAYMAAAAAAIBEDABAAAARgAAAAAAAADIpSWxiCOSSoOqZJAKpKsqBwBP PiDQ/CbdRK5hB1o6Ct0nAAAAAAELAABPPiDQ/CbdRK5hB1o6Ct0nAAIhGpUNAAAAAAIBEzABAAAA EAAAAD9prPKir0mCocJ/LoBlUdMCARQwAQAAAAwAAACvAQAAFKN8TFQAAAADAFszAQAAAAMAWjYA AAAAAwBoNg0AAAALAPo2AQAAAB8A+D8BAAAAFAAAAEQAYQB2AGkAZAAgAEwAaQBuAAAAHwAiQAEA AAAGAAAARQBYAAAAAAAfACNAAQAAAPwAAAAvAE8APQBFAFgAQwBIAEEATgBHAEUATABBAEIAUwAv AE8AVQA9AEUAWABDAEgAQQBOAEcARQAgAEEARABNAEkATgBJAFMAVABSAEEAVABJAFYARQAgAEcA UgBPAFUAUAAgACgARgBZAEQASQBCAE8ASABGADIAMwBTAFAARABMAFQAKQAvAEMATgA9AFIARQBD AEkAUABJAEUATgBUAFMALwBDAE4APQBDAEIAMAA0AEYANgA1ADkAMQBBAEQANgA0ADQANgBCADgA QQBBAEIAQwA5AEIANgA1AEQAQQBFADkAMgAwADcALQBOAFgARgA1ADcANgAyADQAAAAfACRAAQAA AAYAAABFAFgAAAAAAB8AJUABAAAA/AAAAC8ATwA9AEUAWABDAEgAQQBOAEcARQBMAEEAQgBTAC8A TwBVAD0ARQBYAEMASABBAE4ARwBFACAAQQBEAE0ASQBOAEkAUwBUAFIAQQBUAEkAVgBFACAARwBS AE8AVQBQACAAKABGAFkARABJAEIATwBIAEYAMgAzAFMAUABEAEwAVAApAC8AQwBOAD0AUgBFAEMA SQBQAEkARQBOAFQAUwAvAEMATgA9AEMAQgAwADQARgA2ADUAOQAxAEEARAA2ADQANAA2AEIAOABB AEEAQgBDADkAQgA2ADUARABBAEUAOQAyADAANwAtAE4AWABGADUANwA2ADIANAAAAB8AMEABAAAA FAAAAEQAYQB2AGkAZAAgAEwAaQBuAAAAHwAxQAEAAAAUAAAARABhAHYAaQBkACAATABpAG4AAAAf ADhAAQAAABQAAABEAGEAdgBpAGQAIABMAGkAbgAAAB8AOUABAAAAFAAAAEQAYQB2AGkAZAAgAEwA aQBuAAAAAwBZQAAAAAADAFpAAAAAAAMAN1ABAAAAAwAJWQEAAAAfAApdAQAAACYAAAB5AHUALQBo AGEAbwAuAGwAaQBuAEAAbgB4AHAALgBjAG8AbQAAAAAAHwALXQEAAAAmAAAAeQB1AC0AaABhAG8A LgBsAGkAbgBAAG4AeABwAC4AYwBvAG0AAAAAAAIBFV0BAAAAEgAAAALToW5oK7xvTKks2ZxcMBY1 AQAAAgEWXQEAAAASAAAAAtOhbmgrvG9MqSzZnFwwFjUBAAADAACAUONjC8yc0BG82wCAX8zOBAEA AAAkAAAASQBuAGQAZQB4AGkAbgBnAEUAcgByAG8AcgBDAG8AZABlAAAAGwAAAB8AAIBQ42MLzJzQ EbzbAIBfzM4EAQAAACoAAABJAG4AZABlAHgAaQBuAGcARQByAHIAbwByAE0AZQBzAHMAYQBnAGUA AAAAAAEAAABwAAAASQBuAGQAZQB4AGkAbgBnACAAUABlAG4AZABpAG4AZwAgAHcAaABpAGwAZQAg AEIAaQBnAEYAdQBuAG4AZQBsAFAATwBJAEkAcwBVAHAAVABvAEQAYQB0AGUAIABpAHMAIABmAGEA bABzAGUALgAAAAsAAIBQ42MLzJzQEbzbAIBfzM4EAQAAACYAAABJAHMAUABlAHIAbQBhAG4AZQBu AHQARgBhAGkAbAB1AHIAZQAAAAAAAAAAAB8AAIAfpOszqHouQr57eeGpjlSzAQAAADgAAABDAG8A bgB2AGUAcgBzAGEAdABpAG8AbgBJAG4AZABlAHgAVAByAGEAYwBrAGkAbgBnAEUAeAAAAAEAAABE AQAASQBJAD0AWwBDAEkARAA9AGYAMgBhAGMANgA5ADMAZgAtAGEAZgBhADIALQA4ADIANAA5AC0A YQAxAGMAMgAtADcAZgAyAGUAOAAwADYANQA1ADEAZAAzADsASQBEAFgASABFAEEARAA9AEQAQQAw ADMAMAA2ADQAOQA0AEYAOwBJAEQAWABDAE8AVQBOAFQAPQAxAF0AOwBUAEYAUgA9AFQAaAByAGUA YQBkAEYAbwByAGsAaQBuAGcASQBzAEQAaQBzAGEAYgBsAGUAZAA7AFYAZQByAHMAaQBvAG4APQBW AGUAcgBzAGkAbwBuACAAMQA1AC4AMgAwACAAKABCAHUAaQBsAGQAIAA2ADkAMwAzAC4AMAApACwA IABTAHQAYQBnAGUAPQBIADQAOwBVAFAAPQAxADAAOwBEAFAAPQAxAAAAQAAAgAggBgAAAAAAwAAA AAAAAEYAAAAAv4UAACDIUkkGA9oBCwAAgAggBgAAAAAAwAAAAAAAAEYAAAAAgoUAAAAAAAACAQCA CCAGAAAAAADAAAAAAAAARgEAAAA2AAAASQBuAFQAcgBhAG4AcwBpAHQATQBlAHMAcwBhAGcAZQBD AG8AcgByAGUAbABhAHQAbwByAAAAAAABAAAAEAAAAOGYjWKvDPFAm2eB+qApqjkDAA00/T8AAB8A AICGAwIAAAAAAMAAAAAAAABGAQAAAC4AAABhAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4ALQBy AGUAcwB1AGwAdABzAAAAAAABAAAAsgAAAGQAawBpAG0APQBuAG8AbgBlACAAKABtAGUAcwBzAGEA ZwBlACAAbgBvAHQAIABzAGkAZwBuAGUAZAApACAAaABlAGEAZABlAHIALgBkAD0AbgBvAG4AZQA7 AGQAbQBhAHIAYwA9AG4AbwBuAGUAIABhAGMAdABpAG8AbgA9AG4AbwBuAGUAIABoAGUAYQBkAGUA cgAuAGYAcgBvAG0APQBuAHgAcAAuAGMAbwBtADsAAAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAA ACAAAAB4AC0AbQBzAC0AaABhAHMALQBhAHQAdABhAGMAaAAAAAEAAAACAAAAAAAAAB8AAICGAwIA AAAAAMAAAAAAAABGAQAAAC4AAAB4AC0AbQBzAC0AcAB1AGIAbABpAGMAdAByAGEAZgBmAGkAYwB0 AHkAcABlAAAAAAABAAAADAAAAEUAbQBhAGkAbAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAADYA AAB4AC0AbQBzAC0AdAByAGEAZgBmAGkAYwB0AHkAcABlAGQAaQBhAGcAbgBvAHMAdABpAGMAAAAA AAEAAABIAAAAUABBADQAUABSADAANABNAEIAOQA2ADMAOAA6AEUARQBfAHwARABCADkAUABSADAA NABNAEIAOAAyADMANgA6AEUARQBfAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAUAAAAHgALQBt AHMALQBvAGYAZgBpAGMAZQAzADYANQAtAGYAaQBsAHQAZQByAGkAbgBnAC0AYwBvAHIAcgBlAGwA YQB0AGkAbwBuAC0AaQBkAAAAAQAAAEoAAAA4ADQAZAAzAGQAZQAxADMALQBiAGIAZQBjAC0ANABi ADEAMgAtADIAYQAwADEALQAwADgAZABiAGQAMQAxAGQANgBjAGUAMwAAAAAAHwAAgIYDAgAAAAAA wAAAAAAAAEYBAAAAOAAAAHgALQBtAHMALQBlAHgAYwBoAGEAbgBnAGUALQBzAGUAbgBkAGUAcgBh AGQAYwBoAGUAYwBrAAAAAQAAAAQAAAAxAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAOgAAAHgA LQBtAHMALQBlAHgAYwBoAGEAbgBnAGUALQBhAG4AdABpAHMAcABhAG0ALQByAGUAbABhAHkAAAAA AAEAAAAEAAAAMAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAACoAAAB4AC0AbQBpAGMAcgBvAHMA bwBmAHQALQBhAG4AdABpAHMAcABhAG0AAAAAAAEAAAAOAAAAQgBDAEwAOgAwADsAAAAAAB8AAICG AwIAAAAAAMAAAAAAAABGAQAAAEQAAAB4AC0AbQBpAGMAcgBvAHMAbwBmAHQALQBhAG4AdABpAHMA cABhAG0ALQBtAGUAcwBzAGEAZwBlAC0AaQBuAGYAbwAAAAEAAAACBQAAOAA5ADcAWQBXAFkAVwBZ AFcAZgBtAGQAWAB1AFMARwBQAFAARgBQAHIATABsAEYAZwA4AE8AZwBTAEQAaABLAFIAdgB2AFAA egBkAEgAUgBrAGwAUwB6AE8AUABtAGIAbgBnAEoAdgBZAEcASQAyAEIAMgBkAEgAOQBFAFMAVABo ADYANgBXAEQAYQBWAGIAZwA3AEgAUwBpADQAUABUAHYATQBMAFAASABQADYAcgAvAEEAVgBIAGgA VQBqAEoAUwBsAHYAKwB0AFAAawBNADAAVwBVAG8AYgBWAEQAeABVAGQARQB4AE8AaAB5ADMALwBU AEQAagA2AHkAVQBHADkAUgBnADMAZwAwAEIAQgBDADkAMwBHAG4AUQBiAEkAeAB6AGYAcwBIAG8A LwAzAGcAVQBwAHQANABrAFIASwBlAE8AVQA0AEwAQwBRAFkAQQBMADQAZwBtAC8AVwBTADUATgBJ ADEAcABiAGkAUAByAGEAdwB0AGEAdwBrAFgAWAA0AGYAZwBTAFoAQQAxADUATQBSAEQASQBhACsA cAByAGsAYwBRAFYAVwAwAGMAdgBFAEgAaAB2AHQATgBMAFcAUAAvAHQANABLAFYAdQBJAEEASABX AG8AWABjAEgAMQBKAFIAeABXAEEAbABKAHMASQBSAEIAegBkAEgAOQBIAFcARgBYAEEARAA5AHgA dABpADYARABnAGcAbABhAEwAbQBFAFYANwB2AEsANwArAG8AVwBHAGkAZABtAGcAYgBmAHYAZgBl AGcAZgBCAE8AWABmAHAALwBuAFgAUgBKAEoASQBhAGMAMgBRADYAZgB2AGcAVgBIAG8ARgAzAE4A MwBZAFQAdAA2AEkAdQBIAC8AdgBzAGgAMAB4ADMAaAB2AHAAbwBtAGUAVwBOAGoANwBTAFAAVgB2 AEEAcQBHAEYAdABhADcAdwB1AFgAQwBlAEMAZgBUAEkAVABXAGoAUQBVAHkAcQBFAGIAMwBSAEYA MwBrADQAYQBaAGIAagBTADMAaQBZADQANwBYAEEAYwBKAEIAdABDAGwAbABQAEYAZQBLAGcANAAw AFAAUABMADYASQBYAHIAZgBDAHcAUwBrAEYAMQA2AGwAZABDAHUAYQBZAFIAawBZADEAVABoAFYA RgA5AEUAUQBGADYASgBKAGcAWQA5ADQAeQBOADQAZQB0AFYAcAByAFkAdQBnAEUANgAzADkAbQB2 AGkANQBQAGkAMABQAGQAYgB2AGsARwB0ADAAcwBHADIAMQBTAGwAVAByADYAZABYAEcATABLACsA UwBiAFgASgB2ADYANQA1ADcAVQA5ADIAZgBiAE4AaQBnADAAVABQAEoAMABOAFcAcQBvACsARgBT AHUAcQBmAFAANgByADYATQBIAEYAUABlAFIAQQBGAEIATwBYAHYANQBuAHIANwBjAEUAYwBrAGsA ZgBMAG0ASwB6AEwAMwA3ADMAWgA4ADQAVQBJAGkATgBYAFoAcgB4AG0ATAByAFoAVwBRAFgAYgB0 AFYAcgBTADEAWAB4AEoAMwA2AHIATwB1AEEAQwBuAGEAZQBUAEoAaABhAFoAZgBUAFEAUQBXAEkA RgBVAFEAVAB1AGUAZgAxADQANwB4AEYAMQBMAFEAcABXAEEANABHAGwATAA1AE4AVwB6AHEAbQBS AFkANwB6AFEARwAAAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAOAAAAHgALQBmAG8AcgBlAGYA cgBvAG4AdAAtAGEAbgB0AGkAcwBwAGEAbQAtAHIAZQBwAG8AcgB0AAAAAQAAAGIEAABDAEkAUAA6 ADIANQA1AC4AMgA1ADUALgAyADUANQAuADIANQA1ADsAQwBUAFIAWQA6ADsATABBAE4ARwA6AGUA bgA7AFMAQwBMADoAMQA7AFMAUgBWADoAOwBJAFAAVgA6AE4ATABJADsAUwBGAFYAOgBOAFMAUABN ADsASAA6AFAAQQA0AFAAUgAwADQATQBCADkANgAzADgALgBlAHUAcgBwAHIAZAAwADQALgBwAHIA bwBkAC4AbwB1AHQAbABvAG8AawAuAGMAbwBtADsAUABUAFIAOgA7AEMAQQBUADoATgBPAE4ARQA7 AFMARgBTADoAKAAxADMAMgAzADAAMAAzADEAKQAoADEAMwA2ADAAMAAzACkAKAAzADkANgAwADAA MwApACgAMwA3ADYAMAAwADIAKQAoADMANAA2ADAAMAAyACkAKAAzADYANgAwADAANAApACgAMwA5 ADgANgAwADQAMAAwADAAMAAyACkAKAAyADMAMAA5ADIAMgAwADUAMQA3ADkAOQAwADAAMwApACgA NAA1ADEAMQA5ADkAMAAyADQAKQAoADEAOAAwADAANwA5ADkAMAAwADkAKQAoADYANAAxADAAMAA3 ADkAOQAwADAAMwApACgAMQA4ADYAMAAwADkAKQAoADMAOAAwADcAMAA3ADAAMAAwADAAOQApACgA NgA2ADQANAA2ADAAMAA4ACkAKAAzADgAMQAwADAANwAwADAAMAAwADIAKQAoADYANgA1ADUANgAw ADAAOAApACgAMwAzADYANQA2ADAAMAAyACkAKAA2ADQANwA1ADYAMAAwADgAKQAoADQANwA4ADYA MAAwADAAMAAxACkAKAA2ADYANAA3ADYAMAAwADcAKQAoADUANAA5ADAANgAwADAAMwApACgANgA2 ADkANAA2ADAAMAA3ACkAKAA2ADUAMAA2ADAAMAA3ACkAKAA2ADkAMQA2ADAAMAA5ACkAKAA3ADYA MQAxADYAMAAwADYAKQAoADcAMQAyADAAMAA0ADAAMAAwADAAMQApACgAMgA5ADAANgAwADAAMgAp ACgAOAA5ADMANgAwADAAMgApACgANQA2ADYAMAAzADAAMAAwADAAMgApACgAOAA2ADcANgAwADAA MgApACgANQAyADUAMwA2ADAAMQA0ACkAKAA5ADYAOAA2ADAAMAAzACkAKAA0ADEAMwAwADAANwAw ADAAMAAwADEAKQAoADQAMwAyADYAMAAwADgAKQAoADgANgAzADYAMgAwADAAMQApACgAMwAxADYA MAAwADIAKQAoADcANgA5ADYAMAAwADUAKQAoADgAMwAzADgAMAA0ADAAMAAwADAAMQApACgAMQAy ADIAMAAwADAAMAAwADEAKQAoADIANgAwADAANQApACgANQA1ADAAMQA2ADAAMAAzACkAOwBEAEkA UgA6AE8AVQBUADsAUwBGAFAAOgAxADEAMAAxADsAAAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAA AFwAAAB4AC0AbQBzAC0AZQB4AGMAaABhAG4AZwBlAC0AYQBuAHQAaQBzAHAAYQBtAC0AbQBlAHMA cwBhAGcAZQBkAGEAdABhAC0AYwBoAHUAbgBrAGMAbwB1AG4AdAAAAAEAAAAEAAAAMQAAAB8AAICG AwIAAAAAAMAAAAAAAABGAQAAAEoAAAB4AC0AbQBzAC0AZQB4AGMAaABhAG4AZwBlAC0AYQBuAHQA aQBzAHAAYQBtAC0AbQBlAHMAcwBhAGcAZQBkAGEAdABhAC0AMAAAAAAAAQAAAIIMAAB5AFEANABv AGEAWABrADQARgBTAHcAQQB3AE0AeABtAFUAMgBmAHgASwAzAGEAQgBEAEoAMAB4AGMATABRAHIA aQBsAEYAaQBwAEsASwBqAHEAegBGAG4AdQBKAG8AZQBMAEQAdQBuAHMAUwBnAEcARAA0ADcAcAB3 AFAAbAAyAHoAegAxAFYAVwB3AFgAWABBAHgAbAB5AE8AUABzAE0AeQBtAG8AbwBwAFoAcABWAHQA TQBZAHIAYgB0ADYAYwBsAEwAdwB2ADYAMAA4ADQAOQBzAFUAMABLAFcAYQAvAFAAUgB1AFgARgA1 AHUAVgB0AFUARABJAHkAegBKAHoAawBnAGsASQBtAG8AWQBWAEoAaABQADYARAB3AGIAegBYAEwA ZwBtAGcAVABXAGsAdwBMADYASwBOAGMAVwBwAFMAVQB3AGwARQB3ADkAbwA1AGMAaABwAGwARQBV AC8AUABYAG4AUgBZAEQAdwBFAFEASwB5AGoAcQBwADAALwB2AHAAOQA0AGYATwBKAGoAaABPAGsA MABFAGIAUgBSAEwAeABWAGUAKwB3AEwAUQAzAGYAagAyAEsAYgA5ADMAZAB6ADMAKwBtADcAaAA0 AFYAOABOAHgAWgBnAFQAawBYAGoAagA3AC8ARwBFAGsAbABGAHkAcABiACsAVQBFAGsALwAvAG0A ZgBwAGIAegBVAHQAUgB6AEUAUwBKAGsAOQBJADIAaAB5AE0AVAA3ADUARwBnAG4ARgBiAGwAbwBl ADAAUwA3AHkAZABaADEAMwB0AEoAQwBQAG4AagBpAFYASABNACsARQBXAG4ASwBNAGoAaABiAGQA cwBPAFoAZgBTAHMAUQBYADkAUgB3ADIAVwAyAFkASQBCAGIAawBGAGYATQB4AHUAWgBYAGwAVQA5 AHkAbABKAGQAWQBOAGgAUQA1AEcAZQBPAHYAUAB5AFUAbgBUAC8AZQBjAC8AeAB0AG0AZwBOAFgA cABXAFMASQBxAGkAZwBpAEsATABJAGIAdQAzAEMAWgBGAFIAYQBTADkAbQBvAFYAcwBlAEkAWABF AEkAZQBNADkAVQBjAGcAdABNADIAagAxAEMAbQBUAHcAcwBEAFUAKwA0AE0ANQBBAEoAVQBoADMA cABBAHYAWgBNAGYATQA5AEgAcwBHAGMAVAAzAHcAcABhAFUAZQBYAGwAcABkAGUAZQBwAGoAbQBo AGIAMABhAGQAMgAzAFMAZAB0ADUAWgBmAHAASQA1AHUAegBTADkAcwBQAHMAVgBhAGQAUwByADMA MQBRAFYAWgBUAGEAdgAvAEoAUQBtADMAYQAxAFEAcAA3AGwASgBmADcANAB3AEsAdgB6AE8AKwBw AGEAbAA3AGQAMAAzAHIAUQB2AEQAVwAwAE8AZABtAHgAcwBFAGQASgBkAEQAeQBVAGsASwBjAGEA bgBHAEQAegArADkAcAB6AGEANwBsAEsAbQBiAEEANAB0AEIARQByADgAaABpAHYAOQBiAGcAMgBw AFUASgBaAFAAaQAzAHMAVQBrAFkAaABlAFcAdAB6AHgARABsAGwASABjAEEANQAxAHIAeQB4AGQA WgBVAHkAUAB4AG4ANQBvAE4AVgBQADYAUgB6AHEASABFAFQAcAAvAFYAOABrAEQATABsAG8AZAA0 AHkAVwBaAHUAZQA2AFgASgA0AG0AagBrAGcAKwAyAG8AUQA5ADkAegAxAHMAMQBWAHMASABTAFUA VwBSAFcAdAA2AHQANQB6AHEAOQB5ADkAQwBWAG8AQQA1AEQAcQB5AEMAMgBZAEwANgBrAEIAWQBh AFgASQBFAHEAQQBXADEAcgBCAGEAUAA5AGkARwBxADcANQBQAFcAMgBSAFIANwA4ADIAOQBLAGEA egBpAEsAOQByAEYAYwBZAHQAQwBpAHIAWABiAEoAbgBoAGsASgBOAEkAWgBqAHQAMQB6AE8AMgBq AGsAcgBJACsAdABmAFgAZwBDAGYARwBDAFgAMABMAEsAYgBzAGgAZwAwACsAVgAwAHoAYgBWAGQA aAB6AHoASQBxAFoAUwBTAFcAUgBBAGgAZQBkAGkAbQBqAFoAVwA0AFoATwAwAFAAZABLADYATgAr AEsAbQAzAEsAWQB4AG0AcwA2AEQAcQB6AHkAOABQAGkASgBwAGEAbgBYAHoAcgBwAGYANgB3AGwA NgArAHMASABEAGYAQgBEAFcAUgBxAFUAcgBjAEQAMQBlAFIATgA1AE4AbwAxAEwAMQBTAFgAbABK AHkARQBNAG0AcQA5AG0AcABYAEsAWQBDAC8AOQBZAGsARAA3AG8AWQBYADMAcgBMAHkAMQBpAFUA dgB6AHoAMABGAGgAaQBEAGoAVwBhAHgAcwB3AEEAVwBvAFAAYQBsAEsATwBHAFIAWgBGAG8ARgA0 AHkAdAA2AEUAdwAzADEAOABIADEAcAB4AHAAQwBZAFIAZgBjAGkAZgB3AE0AQwBmAFMASwBtAEoA RgAvAHkAOQB0AEwAZwAyAG8ANABNAEIAWAA4ADQAcAAwAGgASQB5AHMAcwA3ADQAYQBLAHoAQQB2 AFcAVgBHAEMAUwB3ADgAWQBBADUATAAyAFoANQAvAHoAdgBDAFkAWABBAE0AZgBCAGYANQBIAGgA SABTAGUANQBaAEYAYwBPADkAMgBIADYAUgBuAFYASgBPAGQANgA3AEQAbwBKAGQASABuAEQAVABG AHoAegBOAGYAdgBGAFcATQBKAGsAQwBZADIAdwBFAEIAOAArAGgAcwBPAGsAYwBlAHgAbABaADYA QgBqAHcAaQA0AEkAQgBhAFUARABvAHUAYwA1ADIATwBtAEgANABCAHQARQBqAEkAMgBLACsAbwBw AGcAMwBOAEIAeQBXADkAeQBmAEkAUABOADIANQBFAFoAdgBTAHAAbgAvAFAAUABVADMAWQBZAEYA UwA1ADYAZgBVAFkARAAvAEIAYgBjAGYASgBLAEIARgB0AEsANQBwAEUARgBJAEkAdQBVAFcAZQAy AHMAbQBSAGIATgByAEQAUQBhAFYAWABhADkAQgBkAHAAaQBsAEMAawBLAC8ANgBCAE4AMQBlAFMA aQBQAE8ARwB0AHYAbABQAGMAQwBrAHgAWgBDACsARwBFAHMAWQBIAE0AMgA1AEMAYgA4AEEASQBz AGkAOQBXAHQAVQBKAFgAeQBpAFcAQgA1AGEATQBRAHEAbQBnAHYAZABWAEcAcwBoAEIAKwAxAEMA RwA1AGwAaABRAEwAWABRAHQAbQB2AHEAeABLADkAMwBtAGMAegArAHIAeAB1AC8ARgB6ADgAaQBu AG0ATQBVAEoAYgBYAHkAcgBCAFgASAByAGEAYQBmAEwAaQBtADkAKwBnAC8AMgBuAGEAQwA2AFMA ZAA3AFQAYgBMAEQAMABCAFEAeABMAE4AeQArAEUARQBvADkAUQB3AFQAVgBQAEIARQBaAE8AdgA0 AEkATwBaAHEAMwB3ADMAKwBJADkAQwBGAGEANwBWAFIAVgBLAFAARgA4AGYANQBxAHQAYwBDAE8A dgBRAHgAVABNAFYAcwBEAFcAZwBrAG8AMgBiAEUAcwBiADkASgB1AFcAVQA3AEEAKwBCADgAeQBJ AHYAcgBZAFEAWgBWAGMAWQBwAGkAYwBwAEEARgBhAEsAUwBBAGsAZwArAGUAKwBIAHYAVQBlAEQA TAByAEsASQBlAEMAcgBKAE4ASwBOAEcANwBHAHgAawBYADEAWgBXAGEARwBjAE8AOQA5AGYAbABJ AFoAdgA3AC8AMwBoAEIATABsAEsAWQAxAEsAQQBMAEEARAAvAEIAWQB0AG8ATwA2AGkAQwBFAEoA VQAxAHkAWQByAEcAVAB4AE0AbgBrAFYAYQBuADAAYwByAEgAdABaAHcAQQBUAFQANQBLAFgAbwB3 AGYAQwB6AHIAawBjAGkAMQBJAHEARgAvAHQASQBWAFkAegB0AEQAQQBoAGsAbgBzAHEAMgBnADAA QwBQADMAcwB3ADEAeQBrAHQAQwAvAGwANQBZAG8AdQA0AGcAMABDAHgASwBGAGYAZQBYAEcAUAAr AFgATQBpAFcAagB4AHYAbgA4AHoAagBtAGUARABqAG8ARgBtAEEAVgBBAG0AMgA3AFUAdwA5AE8A LwBBAHIAcQBDAGIAUgBUAEMANwAxAGoAaABGAGQAcwA3AGIANgBhAFgARgBSAEgAcwB5AFQAawBv AAAAAABG3w== --_000_PA4PR04MB9638D34DE94CB6B24152E06DD1DBAPA4PR04MB9638eurp_--