Received: by 2002:a05:7412:2a8c:b0:e2:908c:2ebd with SMTP id u12csp3343758rdh; Thu, 28 Sep 2023 09:00:42 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEdxM89aP3hlar+sW9AlycDa/jmZgN+2cwroIHA2qRgaTNmeYPSJLM5H7Skaymt4po63ngy X-Received: by 2002:a17:902:d482:b0:1c5:76b6:d4f8 with SMTP id c2-20020a170902d48200b001c576b6d4f8mr1713725plg.44.1695916841724; Thu, 28 Sep 2023 09:00:41 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1695916841; cv=pass; d=google.com; s=arc-20160816; b=uZrM5L/QqDYZ1NjLDQCaHM/qwHFy47Zc0orSm2UnMTPJgBvjjCKVnczLENXDli9PY0 COCsdowqtqV9mhtwnD6IqsxNxMQHNWCrfSwPlheSGSMj+RDP6ijYammDWvmXb2HcU0vH oXFfbI+ETnGR2luJ70RPAhj3vWvzC0oKCvMcs/3wTt/cSocay9A9cOBJqkVr5QoKK7W9 6lJq/8tOxZoODlpmkMFykLu6FaNSZk0+XhSb4tW83LM45mB0en2HalqA/KdBit3+kyZb OcJ2r16jGFYYk4EIF9sAEaLGd/aDsq1NiDw/TGqYzGXn495XARFbanoXu1I3V2f82C73 0t2A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :message-id:date:subject:cc:to:from:dkim-signature; bh=wTqtp10S8n8sRWwgeXyvqrvNYdS12+M7dnIPKdSrsI4=; fh=0f95jaFBz0QakYqORlWE6DJMdLXDSQ0BqK1r1/7eEjc=; b=wyxGMqX0CC2QkMeF6Y+jb2YAZOZvLi1EUipGMuW1XlOblipoRlYp2nksm5INvJaoPW /V0TofSRgMmr4ZRbxHhqP83ew5OQchPu0m/wwNHIfo3XdXZHf0U2P7UwTySvv/5WPnvc a1Vetjj0+43/dYBKLgD1b9CngpVWR/isgMRBdOfHDJyKh0HJ34g1fOK4YV1jzLUi3w/v fmOZi3m5a/l7xHXeKx+WmN18UWD0caW3z+6kwXlanpiwyNYwL6IZK63Ag2eFrsERP9LI MYs03DabjzEGAU2zjwhcqXM31LJUOJE/ooEbhthFD4HiLC1x0WXt2w9VrNfDMgWGT03K rBnw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@silabs.onmicrosoft.com header.s=selector2-silabs-onmicrosoft-com header.b=gFgMMekY; arc=pass (i=1 spf=pass spfdomain=silabs.com dkim=pass dkdomain=silabs.com dmarc=pass fromdomain=silabs.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=silabs.com Return-Path: Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id l12-20020a170903244c00b001c474ff2fdesi20935325pls.378.2023.09.28.09.00.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Sep 2023 09:00:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass header.i=@silabs.onmicrosoft.com header.s=selector2-silabs-onmicrosoft-com header.b=gFgMMekY; arc=pass (i=1 spf=pass spfdomain=silabs.com dkim=pass dkdomain=silabs.com dmarc=pass fromdomain=silabs.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=silabs.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id C148D806117E; Thu, 28 Sep 2023 03:12:00 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230523AbjI1KLp (ORCPT + 99 others); Thu, 28 Sep 2023 06:11:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58454 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230358AbjI1KLo (ORCPT ); Thu, 28 Sep 2023 06:11:44 -0400 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2071.outbound.protection.outlook.com [40.107.95.71]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F137A122; Thu, 28 Sep 2023 03:11:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GwK5Jkl6TzDzG6w3gGeLGpDCUbRpu4xIgEHV0bsnyZ3oZ8lZMT5RmbcPSZLs1MuK+gWeZ3dFUtzHAh2tm0avFPcc2ft+ILnkXlE9Xs5ujDs/XuMtzEfA4GPhzEh0D2iCieHbi6aUUynJWNOALhxcu351dhEkhEFhs9t/mcP+5sAixgflt4WlzUsc5UcpcXjP1vcDQgMr3BAwjxANPvZ0lkSI6yMEroakA/+aM38/hF8ov7czGk3V5ldZEx5sDyC4CWSH1IwUmImICStd/b1UOlE4Guxqn5G4PnlFv6xiqB2UK5TDP+qJrAhDlKGreG7/n1T3w1N3axAx8nue8SZ3+Q== 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=wTqtp10S8n8sRWwgeXyvqrvNYdS12+M7dnIPKdSrsI4=; b=CBrMa/FRxG9Oh6Rto0gnmDLhgTNqJXxWR8H3QzSCxJErx/QEfPmdzBE5JCLpDMXsZUhM8KH5cpqCZ7h6XGZBHvxxHkpKTWiUsPcSbpZs7MEUPZOyDOy9umHlFnUzQQV1WXDdWbuqXogNkkwZhLOQtCeLlLucQpwmEtGcKPNFv8CQu8FNIQYIBIkeAUsVh2f7/VJ42EU1tYVHP9wdgE0cfZ9blK+1GfxUQu40atbSxnlqm7rzBfpErRwTTE2qCmlIwLgOMF8Vl2BFmF02AEZARz98Pzq67AwtFFuw69p7dsdGWySFLNbsi8NFxS9i9PJ12VCEYFpSDP8ssMlyrBwC4A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.onmicrosoft.com; s=selector2-silabs-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wTqtp10S8n8sRWwgeXyvqrvNYdS12+M7dnIPKdSrsI4=; b=gFgMMekYT5WFewXw/WZ5/Q4uq9qsHuWRz+6XejoRyKnFF96whPK9ij6hgNyllVgZUkMmuuypsPTRrpoK5/pO2asRNT7qAPSWtK3ZCVUqOUJhLsTh/eBrFSmu/aAQpkdkB3wMzB1gqCdGInaF/3DddXw6UZsx8lvL3dggnPI+G4Q= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=silabs.com; Received: from IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) by SA0PR11MB4557.namprd11.prod.outlook.com (2603:10b6:806:96::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.28; Thu, 28 Sep 2023 10:11:39 +0000 Received: from IA1PR11MB7773.namprd11.prod.outlook.com ([fe80::d6c8:4cb6:2594:d8f3]) by IA1PR11MB7773.namprd11.prod.outlook.com ([fe80::d6c8:4cb6:2594:d8f3%4]) with mapi id 15.20.6813.027; Thu, 28 Sep 2023 10:11:39 +0000 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= To: linux-wireless@vger.kernel.org, Kalle Valo Cc: linux-kernel@vger.kernel.org, Felix Fietkau , Felipe Negrelli Wolter , Olivier Souloumiac , Alexandr Suslenko , =?UTF-8?q?J=C3=A9r=C3=B4me=20Pouiller?= Subject: [PATCH] wifi: wfx: fix case where rates are out of order Date: Thu, 28 Sep 2023 12:10:48 +0200 Message-Id: <20230928101048.5543-1-jerome.pouiller@silabs.com> X-Mailer: git-send-email 2.39.2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 X-ClientProxiedBy: GVAP278CA0001.CHEP278.PROD.OUTLOOK.COM (2603:10a6:710:20::11) To IA1PR11MB7773.namprd11.prod.outlook.com (2603:10b6:208:3f0::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA1PR11MB7773:EE_|SA0PR11MB4557:EE_ X-MS-Office365-Filtering-Correlation-Id: 36ef0e84-769c-4698-d7e8-08dbc00b4e38 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CSp+NV01aevQUMWw75RQPz2yqfR42faWHkkkbiATWqLsdduvLx+uujBQlVSicMyX5t8/PIn+TsDw9/PCtMJbCoq9VM9MlIn3fYZ9NCF1SSpklwcbey0IRbhE5ltD6IXtRgIw9llCrven9jla3JIsHfyA8SfqKkzTP4PX5wW6O+8bm8xPitXwMGIVdbhJtUf58Grkyq93tey3XSkzoaxhjSsfV4w4IM4yw01NZ4Hc1iWS0S1diJc5VdUG8e5UBABP7gQRIMxhdvLeX899Gfx/6FP1DDAll/b9R2iFlQXqpvbYOkczf8se1OHgA/6WncKOdlWbhngY/UHa55kjKtejzXh3xhhKrDAtOCui3IE7JzWmbQSfU8lVMVe7Ph1qeNkFH/fUaMoYBOCXrvP28GzB2db9Mz/Nv9ef8OFW8IFg51B+TpReDIwCB+d45o49LHw6hivXve09WnIu5R8i1LWNuqVqNfvvkiZDD7osMHqzn7lC46GB1tNkbddH2mxaiofktfnmr+k8sXX1HMS4NhUrjemm8emJviJMQb0nBNmLgcg042+w9s1GPQbgng+Cps56Eb5BvJOc76C58msR9ncTiWW4jRnf0VoYz6bMZC8/0QlnQ7YccJ7urHftuymZuRM4 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA1PR11MB7773.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(39850400004)(376002)(366004)(230922051799003)(1800799009)(186009)(64100799003)(451199024)(6512007)(66946007)(316002)(6916009)(2906002)(66476007)(66556008)(54906003)(41300700001)(8936002)(8676002)(4326008)(478600001)(1076003)(6666004)(5660300002)(52116002)(38100700002)(38350700002)(6506007)(2616005)(86362001)(26005)(66574015)(36756003)(107886003)(6486002)(83380400001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aUJKbms5U3hDQTVYYUdqOURqOUpySGtyQ2kzRFdLRC9WTFdMVzlmM1djVXpY?= =?utf-8?B?RmFvcU94T3pUcmF3RnZtY3RyOFRwL3FtNmRJUE85RDl1NGFlNGIvRmRvMURB?= =?utf-8?B?N21uQ0Q0OVA0eS9OOS9vTWVFb09jTkg0ZzlBZExnWkM1TnhQb1pRa3lPUFBF?= =?utf-8?B?T2tpM2dOcnpwMU9lZzFLT09hVUNTY0Y4VDNRZ2RMellPY3pSblMxeHNWQ2ps?= =?utf-8?B?Wk9VZHNOT2hkZDZjYnJUUXJCamh6REtlcmxYOTVyT1czNWF0elFUSlR4Rnh1?= =?utf-8?B?MEJhbjN6b29YTUZWZE1pK0xJLzFtVXVTSzJ4eVpNUnBVRU1JcUNTMWlLSTVK?= =?utf-8?B?TW1jMjJPcEN5bG5aZGNBWDllZnZlanl5YnR4UHJBS05xU0RUMlN6bkJxNERE?= =?utf-8?B?cHJiQ2NjV1BSS05hV29OUFJmaWFUVEZLanNCVVJtVnk3MVNOY0xZQXNiR2Nv?= =?utf-8?B?UVRVZ3RDUWd3WWZBQ01OSnVtMytmNTk1K0lQMHV3OUptNC8zZXpvWU41YXBU?= =?utf-8?B?SnVIMzRrUFErSTRPNGJDOXhiODBzWUMwcExYcnZvczF5dEdCMkY2YlJHN0s0?= =?utf-8?B?cWovVVpYY01KS2VRK3dsLzdOQmYvekhyUGEyeEhVOVFiS1Bmd2JpNitYcldP?= =?utf-8?B?SFJqVEhBbG1naGl3bjFpVUZFZXdWdkxMZUZwTStIQ1FCSjM5alg0WlBvODht?= =?utf-8?B?NjFCbFlkd2lCMnRDSHBPbUtqUzVSRTg1Z2VCSHZnZVZRTlRCQ3dJNzZpRkQy?= =?utf-8?B?MXRHamdTcWFZL1pnRGlXMSsvZENEbmVTbi9tRDREM3NFSWQrVENsYnJYamJp?= =?utf-8?B?MWJobTNRZWZYbEVmR2ZRUnlhTTFPdHJPcjcyOTlOMjk1UUZsMWFMYTJlYUpW?= =?utf-8?B?eHlvU29iVE81MkszamJzWFhVZWRjY28rbFNvN0ZhRnN6dUpLbkJXVHBGT2N4?= =?utf-8?B?bXM3d1RNQ0I1SGxaNXJQWjRCbEd3NHRtbWdJQzdGRy9qcFk5bmEwUnQvbWRu?= =?utf-8?B?V1pQVzcwbE94SHNqT2VPbnJOeHpWTnJxczByTFptTjRVRmxTb2JTQ01wNU9F?= =?utf-8?B?S0UxS1VUN1ZKaWhFaFIvOEZJTEhVbFZkTy9ROEFxREVrSjFhaVpQVXZIU1BV?= =?utf-8?B?VCs0UlJsQ3FVWldZRGJuT1MxK1hqeFRScXZNQ0JSUjJhUTUyaVpnUTRjR0h0?= =?utf-8?B?cmp1dVkycDR3M05lRitRdlhISmI2MENWQWEzcXZsSG92MklubngrbnpVTXAw?= =?utf-8?B?RGxwTVNwMVgzY1FEaC9xVDl1UmJlZm52K25WOXRjcUd1a1ZLUXR0dHpEOUdz?= =?utf-8?B?M2tZdTlOdkthanlMLythQ2xBdVRram9zZnc4WlRsWHA2TW5jYXJkQlBONm84?= =?utf-8?B?eW9mY0dXTEk4NUR3NktsaWJCeTllRXNCbnN3YzZzajg0RnFHakVBTWMzcENJ?= =?utf-8?B?ZFM4VDBadUpncEhKeGdVU1VES3RTSFZCb1dESjdQOXcybVIvZDE3WktSd05V?= =?utf-8?B?aGM5K2FnOU94VVVSQWpzeS9RZllQamJqcDNqQjdKYzV3cTVWTGtIK3RzS2Np?= =?utf-8?B?aVlVV3hrNVllYlNSMXJVUUhZenEzOEZRbEJRczNybG5oNkFWazNrNzF5ZTNY?= =?utf-8?B?QS8zS2hTVEZ2Vnl4VmEzV0VXUWhKcGNyWXN2VnMxS1EyNUM1eTFvUVdYbUZF?= =?utf-8?B?L0FKOFlXckRsWDU3ZHJmNHhrcXpkb2JFdHBmVDVKNWRUcXJZNml6SjN6Q3cz?= =?utf-8?B?bmlRNUM5aE5lVmRIallhcmdhbEloSmp5SDlzekFhSlVQRUQrYitDTkhJWWJR?= =?utf-8?B?N212YXJRNndmV3JVMXUvVFg3bDdOZVFNZzBoODR1Y2ZSTHM2WjliYmp6U3pL?= =?utf-8?B?NTBLeU5oLytPaU5TcDVqNDdoYklJamlhODc2Wi9YSzJHV0Q5VVBYcDMzMDhR?= =?utf-8?B?eS9zYzlTTEFsNlJVL1lHdUM1MDUwalJseDlDZG9waHNHWDRFa2lIaWlZU2ZC?= =?utf-8?B?SGY2Z0ozOTl0OWxpSXBVREUvZnltM3lGR2NjN1JiYlFJM1BNRFFUczN5bUkz?= =?utf-8?B?SkFkMFhCRGxjMmE5aUdBRVU3aGI4Y0JaK1lTczFDMmlLbTNVaHhyYWRSaFNj?= =?utf-8?Q?5xCtQl5pFsHY8jd8QDjTZEwUM?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 36ef0e84-769c-4698-d7e8-08dbc00b4e38 X-MS-Exchange-CrossTenant-AuthSource: IA1PR11MB7773.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Sep 2023 10:11:39.3819 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fBXaGPU3brfB8ohF92LZZUbjAyWQT0Wy0r7QZgdu6c3ohfv2AZEDrWAcXrKDTboxXBnuKVSE9rYkFekfJqDE9g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4557 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, 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 groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Thu, 28 Sep 2023 03:12:00 -0700 (PDT) RnJvbTogRmVsaXBlIE5lZ3JlbGxpIFdvbHRlciA8ZmVsaXBlLm5lZ3JlbGxpd29sdGVyQHNpbGFi cy5jb20+CgpXaGVuIGZyYW1lcyBhcmUgc2VudCBvdmVyIHRoZSBhaXIsIHRoZSBkZXZpY2UgYWx3 YXlzIGFwcGxpZXMgdGhlIGRhdGEKcmF0ZXMgaW4gZGVzY2VuZGluZyBvcmRlci4gVGhlIGRyaXZl ciBhc3N1bWVkIE1pbnN0cmVsIGFsc28gcHJvdmlkZWQKcmF0ZSBpbiBkZXNjZW5kaW5nIG9yZGVy LgoKSG93ZXZlciwgaW4gc29tZSBjYXNlcywgTWluc3RyZWwgY2FuIGEgY2hvb3NlIGEgZmFsbGJh Y2sgcmF0ZSBncmVhdGVyCnRoYW4gdGhlIHByaW1hcnkgcmF0ZS4gSW4gdGhpcyBjYXNlLCB0aGUg dHdvIHJhdGVzIHdhcyBpbnZlcnRlZCwgdGhlCmRldmljZSB0cnkgaGlnaGVzdCByYXRlIGZpcnN0 IGFuZCB3ZSBnZXQgbWFueSByZXRyaWVzLgoKU2luY2UgdGhlIGRldmljZSBhbHdheXMgYXBwbHkg cmF0ZXMgaW4gZGVzY2VuZGluZyBvcmRlci4gVGhlIHdvcmthcm91bmQKaXMgdG8gZHJvcCByYXRl IHdoZW4gaXQgaGlnaGVyIHRoYW4gaXRzIHByZWRlY2Vzc29yIGluIHRoZSByYXRlIGxpc3QuClRo dXMgWyA0LCA1LCAzIF0gYmVjb21lIFsgNCwgMyBdLgoKVGhpcyBwYXRjaCBoYXMgYmVlbiB0ZXN0 ZWQgaW4gaXNvbGF0ZWQgcm9vbSB3aXRoIGEgc2VyaWVzIG9mCmF0dGVudWF0b3JzLiBIZXJlIGFy ZSB0aGUgTWluc3RyZWwgc3RhdGlzdGljcyB3aXRoIDgwZEJtIG9mIGF0dGVudWF0aW9uOgoKICBX aXRob3V0IHRoZSBmaXg6CgogICAgICAgICAgICAgICAgICBiZXN0ICAgIF9fX19fX19fX19fX3Jh dGVfX19fX19fX19fICAgIF9fX19zdGF0aXN0aWNzX19fICAgIF9fX19fbGFzdF9fX18gICAgX19f X19fc3VtLW9mX19fX19fX18KICAgIG1vZGUgZ3VhcmQgIyAgcmF0ZSAgIFtuYW1lICAgaWR4IGFp cnRpbWUgIG1heF90cF0gIFthdmcodHApIGF2Zyhwcm9iKV0gIFtyZXRyeXxzdWN8YXR0XSAgWyNz dWNjZXNzIHwgI2F0dGVtcHRzXQogICAgSFQyMCAgTEdJICAxICAgICAgIFMgIE1DUzAgICAgIDAg ICAgMTQ3NyAgICAgNS42ICAgICAgIDUuMiAgICAgIDgyLjcgICAgICAgMyAgICAgMCAwICAgICAg ICAgICAgIDMgICA0CiAgICBIVDIwICBMR0kgIDEgICAgICAgICAgTUNTMSAgICAgMSAgICAgNzM4 ICAgIDEwLjYgICAgICAgMC4wICAgICAgIDAuMCAgICAgICAwICAgICAwIDAgICAgICAgICAgICAg MCAgIDEKICAgIEhUMjAgIExHSSAgMSAgICAgRCAgICBNQ1MyICAgICAyICAgICA0OTIgICAgMTQu OSAgICAgIDEzLjUgICAgICA4MS41ICAgICAgIDUgICAgIDAgMCAgICAgICAgICAgICA1ICAgOQog ICAgSFQyMCAgTEdJICAxICAgIEMgICAgIE1DUzMgICAgIDMgICAgIDM2OSAgICAxOC44ICAgICAg MTcuNiAgICAgIDg0LjMgICAgICAgNSAgICAgMCAwICAgICAgICAgICAgNzYgICA5NgogICAgSFQy MCAgTEdJICAxICBBICAgUCAgIE1DUzQgICAgIDQgICAgIDI0NiAgICAyNS40ICAgICAgMjIuNCAg ICAgIDc5LjUgICAgICAgNSAgICAgMCAwICAgICAgICAgMTEyNjggICAxNDAyNgogICAgSFQyMCAg TEdJICAxICAgQiAgIFMgIE1DUzUgICAgIDUgICAgIDE4NSAgICAzMC43ICAgICAgMTkuNyAgICAg IDU3LjcgICAgICAgNSAgICAgOCA5ICAgICAgICAgIDM5MTggICA5NzkzCiAgICBIVDIwICBMR0kg IDEgICAgICAgICAgTUNTNiAgICAgNiAgICAgMTY0ICAgIDMzLjAgICAgICAgMC4wICAgICAgIDAu MCAgICAgICA1ICAgICAwIDAgICAgICAgICAgICAgNiAgIDEwMgogICAgSFQyMCAgTEdJICAxICAg ICAgICAgIE1DUzcgICAgIDcgICAgIDE0OCAgICAzNS4xICAgICAgIDAuMCAgICAgICAwLjAgICAg ICAgMCAgICAgMCAwICAgICAgICAgICAgIDAgICA0NAoKICBXaXRoIHRoZSBmaXg6CgogICAgICAg ICAgICAgICAgICBiZXN0ICAgIF9fX19fX19fX19fX3JhdGVfX19fX19fX19fICAgIF9fX19zdGF0 aXN0aWNzX19fICAgIF9fX19fbGFzdF9fX18gICAgX19fX19fc3VtLW9mX19fX19fX18KICAgIG1v ZGUgZ3VhcmQgIyAgcmF0ZSAgIFtuYW1lICAgaWR4IGFpcnRpbWUgIG1heF90cF0gIFthdmcodHAp IGF2Zyhwcm9iKV0gIFtyZXRyeXxzdWN8YXR0XSAgWyNzdWNjZXNzIHwgI2F0dGVtcHRzXQogICAg SFQyMCAgTEdJICAxICAgICAgIFMgIE1DUzAgICAgIDAgICAgMTQ3NyAgICAgNS42ICAgICAgIDEu OCAgICAgIDI4LjYgICAgICAgMSAgICAgMCAwICAgICAgICAgICAgIDEgICA1CiAgICBIVDIwICBM R0kgIDEgICAgIERQICAgTUNTMSAgICAgMSAgICAgNzM4ICAgIDEwLjYgICAgICAgOS43ICAgICAg ODIuNiAgICAgICA0ICAgICAwIDAgICAgICAgICAgICAxNCAgIDM0CiAgICBIVDIwICBMR0kgIDEg ICAgICAgICAgTUNTMiAgICAgMiAgICAgNDkyICAgIDE0LjkgICAgICAgOS4yICAgICAgNTUuNCAg ICAgICA1ICAgICAwIDAgICAgICAgICAgICA1MiAgIDc3CiAgICBIVDIwICBMR0kgIDEgICBCICAg UyAgTUNTMyAgICAgMyAgICAgMzY5ICAgIDE4LjggICAgICAxNS42ICAgICAgNzQuOSAgICAgICA1 ICAgICAxIDEgICAgICAgICAgIDQxNyAgIDU1NAogICAgSFQyMCAgTEdJICAxICBBICAgICAgIE1D UzQgICAgIDQgICAgIDI0NiAgICAyNS40ICAgICAgMTYuNyAgICAgIDU5LjIgICAgICAgNSAgICAg MSAxICAgICAgICAgMTM4MTIgICAxNzk1MQogICAgSFQyMCAgTEdJICAxICAgIEMgIFMgIE1DUzUg ICAgIDUgICAgIDE4NSAgICAzMC43ICAgICAgMTQuMCAgICAgIDQxLjAgICAgICAgNSAgICAgMSA1 ICAgICAgICAgICAgNTcgICA2NDAKICAgIEhUMjAgIExHSSAgMSAgICAgICAgICBNQ1M2ICAgICA2 ICAgICAxNjQgICAgMzMuMCAgICAgICAwLjAgICAgICAgMC4wICAgICAgIDAgICAgIDAgMSAgICAg ICAgICAgICAwICAgNDgKICAgIEhUMjAgIExHSSAgMSAgICAgICBTICBNQ1M3ICAgICA3ICAgICAx NDggICAgMzUuMSAgICAgICAwLjAgICAgICAgMC4wICAgICAgIDAgICAgIDAgMCAgICAgICAgICAg ICAwICAgMzYKCldlIGNhbiBub3RpY2UgdGhlIGRldmljZSB0cnkgbm93IHRvIHNlbmQgd2l0aCBs b3dlciByYXRlcyAoYW5kIGhpZ2gKc3VjY2VzcyByYXRlcykuIEF0IHRoZSBlbmQsIHdlIG1lYXN1 cmVkIDIwLTI1JSBiZXR0ZXIgdGhyb3VnaHB1dCB3aXRoCnRoaXMgcGF0Y2guCgpGaXhlczogOWJj YTQ1ZjNkNjkyNCAic3RhZ2luZzogd2Z4OiBhbGxvdyB0byBzZW5kIDgwMi4xMSBmcmFtZXMiClRl c3RlZC1ieTogT2xpdmllciBTb3Vsb3VtaWFjIDxvbGl2aWVyLnNvdWxvdW1pYWNAc2lsYWJzLmNv bT4KVGVzdGVkLWJ5OiBBbGV4YW5kciBTdXNsZW5rbyA8c3VzbGVua28ub0BhamF4LnN5c3RlbXM+ ClJlcG9ydGVkLWJ5OiBBbGV4YW5kciBTdXNsZW5rbyA8c3VzbGVua28ub0BhamF4LnN5c3RlbXM+ CkNvLWRldmVsb3BlZC1ieTogSsOpcsO0bWUgUG91aWxsZXIgPGplcm9tZS5wb3VpbGxlckBzaWxh YnMuY29tPgpTaWduZWQtb2ZmLWJ5OiBKw6lyw7RtZSBQb3VpbGxlciA8amVyb21lLnBvdWlsbGVy QHNpbGFicy5jb20+Ci0tLQogZHJpdmVycy9uZXQvd2lyZWxlc3Mvc2lsYWJzL3dmeC9kYXRhX3R4 LmMgfCA3MSArKysrKysrKystLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDI5IGluc2Vy dGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVs ZXNzL3NpbGFicy93ZngvZGF0YV90eC5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3Mvc2lsYWJzL3dm eC9kYXRhX3R4LmMKaW5kZXggNmE1ZTUyYTk2ZDE4My4uY2FhMjIyMjZiMDFiYyAxMDA2NDQKLS0t IGEvZHJpdmVycy9uZXQvd2lyZWxlc3Mvc2lsYWJzL3dmeC9kYXRhX3R4LmMKKysrIGIvZHJpdmVy cy9uZXQvd2lyZWxlc3Mvc2lsYWJzL3dmeC9kYXRhX3R4LmMKQEAgLTIyNiw1MyArMjI2LDQwIEBA IHN0YXRpYyB1OCB3ZnhfdHhfZ2V0X2xpbmtfaWQoc3RydWN0IHdmeF92aWYgKnd2aWYsIHN0cnVj dCBpZWVlODAyMTFfc3RhICpzdGEsCiAKIHN0YXRpYyB2b2lkIHdmeF90eF9maXh1cF9yYXRlcyhz dHJ1Y3QgaWVlZTgwMjExX3R4X3JhdGUgKnJhdGVzKQogewotCWludCBpOwotCWJvb2wgZmluaXNo ZWQ7CisJYm9vbCBoYXNfcmF0ZTAgPSBmYWxzZTsKKwlpbnQgaSwgajsKIAotCS8qIEZpcm13YXJl IGlzIG5vdCBhYmxlIHRvIG1peCByYXRlcyB3aXRoIGRpZmZlcmVudCBmbGFncyAqLwotCWZvciAo aSA9IDA7IGkgPCBJRUVFODAyMTFfVFhfTUFYX1JBVEVTOyBpKyspIHsKLQkJaWYgKHJhdGVzWzBd LmZsYWdzICYgSUVFRTgwMjExX1RYX1JDX1NIT1JUX0dJKQotCQkJcmF0ZXNbaV0uZmxhZ3MgfD0g SUVFRTgwMjExX1RYX1JDX1NIT1JUX0dJOwotCQlpZiAoIShyYXRlc1swXS5mbGFncyAmIElFRUU4 MDIxMV9UWF9SQ19TSE9SVF9HSSkpCisJZm9yIChpID0gMSwgaiA9IDE7IGogPCBJRUVFODAyMTFf VFhfTUFYX1JBVEVTOyBqKyspIHsKKwkJaWYgKHJhdGVzW2pdLmlkeCA9PSAtMSkKKwkJCWJyZWFr OworCQkvKiBUaGUgZGV2aWNlIHVzZSB0aGUgcmF0ZXMgaW4gZGVzY2VuZGluZyBvcmRlciwgd2hh dGV2ZXIgdGhlIHJlcXVlc3QgZnJvbSBtaW5zdHJlbC4KKwkJICogV2UgaGF2ZSB0byB0cmFkZSBv ZmYgaGVyZS4gTW9zdCBpbXBvcnRhbnQgaXMgdG8gcmVzcGVjdCB0aGUgcHJpbWFyeSByYXRlCisJ CSAqIHJlcXVlc3RlZCBieSBtaW5zdHJlbC4gU28sIHdlIGRyb3BzIHRoZSBlbnRyaWVzIHdpdGgg cmF0ZSBoaWdoZXIgdGhhbiB0aGUKKwkJICogcHJldmlvdXMuCisJCSAqLworCQlpZiAocmF0ZXNb al0uaWR4ID49IHJhdGVzW2kgLSAxXS5pZHgpIHsKKwkJCXJhdGVzW2kgLSAxXS5jb3VudCArPSBy YXRlc1tqXS5jb3VudDsKKwkJCXJhdGVzW2kgLSAxXS5jb3VudCA9IG1pbl90KHUxNiwgMTUsIHJh dGVzW2kgLSAxXS5jb3VudCk7CisJCX0gZWxzZSB7CisJCQltZW1jcHkocmF0ZXMgKyBpLCByYXRl cyArIGosIHNpemVvZihyYXRlc1tpXSkpOworCQkJaWYgKHJhdGVzW2ldLmlkeCA9PSAwKQorCQkJ CWhhc19yYXRlMCA9IHRydWU7CisJCQkvKiBUaGUgZGV2aWNlIGFwcGx5IFNob3J0IEdJIG9ubHkg b24gdGhlIGZpcnN0IHJhdGUgKi8KIAkJCXJhdGVzW2ldLmZsYWdzICY9IH5JRUVFODAyMTFfVFhf UkNfU0hPUlRfR0k7Ci0JCWlmICghKHJhdGVzWzBdLmZsYWdzICYgSUVFRTgwMjExX1RYX1JDX1VT RV9SVFNfQ1RTKSkKLQkJCXJhdGVzW2ldLmZsYWdzICY9IH5JRUVFODAyMTFfVFhfUkNfVVNFX1JU U19DVFM7Ci0JfQotCi0JLyogU29ydCByYXRlcyBhbmQgcmVtb3ZlIGR1cGxpY2F0ZXMgKi8KLQlk byB7Ci0JCWZpbmlzaGVkID0gdHJ1ZTsKLQkJZm9yIChpID0gMDsgaSA8IElFRUU4MDIxMV9UWF9N QVhfUkFURVMgLSAxOyBpKyspIHsKLQkJCWlmIChyYXRlc1tpICsgMV0uaWR4ID09IHJhdGVzW2ld LmlkeCAmJgotCQkJICAgIHJhdGVzW2ldLmlkeCAhPSAtMSkgewotCQkJCXJhdGVzW2ldLmNvdW50 ICs9IHJhdGVzW2kgKyAxXS5jb3VudDsKLQkJCQlpZiAocmF0ZXNbaV0uY291bnQgPiAxNSkKLQkJ CQkJcmF0ZXNbaV0uY291bnQgPSAxNTsKLQkJCQlyYXRlc1tpICsgMV0uaWR4ID0gLTE7Ci0JCQkJ cmF0ZXNbaSArIDFdLmNvdW50ID0gMDsKLQotCQkJCWZpbmlzaGVkID0gZmFsc2U7Ci0JCQl9Ci0J CQlpZiAocmF0ZXNbaSArIDFdLmlkeCA+IHJhdGVzW2ldLmlkeCkgewotCQkJCXN3YXAocmF0ZXNb aSArIDFdLCByYXRlc1tpXSk7Ci0JCQkJZmluaXNoZWQgPSBmYWxzZTsKLQkJCX0KKwkJCWkrKzsK IAkJfQotCX0gd2hpbGUgKCFmaW5pc2hlZCk7CisJfQogCS8qIEVuc3VyZSB0aGF0IE1DUzAgb3Ig MU1icHMgaXMgcHJlc2VudCBhdCB0aGUgZW5kIG9mIHRoZSByZXRyeSBsaXN0ICovCi0JZm9yIChp ID0gMDsgaSA8IElFRUU4MDIxMV9UWF9NQVhfUkFURVM7IGkrKykgewotCQlpZiAocmF0ZXNbaV0u aWR4ID09IDApCi0JCQlicmVhazsKLQkJaWYgKHJhdGVzW2ldLmlkeCA9PSAtMSkgewotCQkJcmF0 ZXNbaV0uaWR4ID0gMDsKLQkJCXJhdGVzW2ldLmNvdW50ID0gODsgLyogPT0gaHctPm1heF9yYXRl X3RyaWVzICovCi0JCQlyYXRlc1tpXS5mbGFncyA9IHJhdGVzW2kgLSAxXS5mbGFncyAmIElFRUU4 MDIxMV9UWF9SQ19NQ1M7Ci0JCQlicmVhazsKLQkJfQorCWlmICghaGFzX3JhdGUwICYmIGkgPCBJ RUVFODAyMTFfVFhfTUFYX1JBVEVTKSB7CisJCXJhdGVzW2ldLmlkeCA9IDA7CisJCXJhdGVzW2ld LmNvdW50ID0gODsgLyogPT0gaHctPm1heF9yYXRlX3RyaWVzICovCisJCXJhdGVzW2ldLmZsYWdz ID0gcmF0ZXNbMF0uZmxhZ3MgJiBJRUVFODAyMTFfVFhfUkNfTUNTOworCQlpKys7CisJfQorCWZv ciAoOyBpIDwgSUVFRTgwMjExX1RYX01BWF9SQVRFUzsgaSsrKSB7CisJCW1lbXNldChyYXRlcyAr IGksIDAsIHNpemVvZihyYXRlc1tpXSkpOworCQlyYXRlc1tpXS5pZHggPSAtMTsKIAl9Ci0JLyog QWxsIHJldHJpZXMgdXNlIGxvbmcgR0kgKi8KLQlmb3IgKGkgPSAxOyBpIDwgSUVFRTgwMjExX1RY X01BWF9SQVRFUzsgaSsrKQotCQlyYXRlc1tpXS5mbGFncyAmPSB+SUVFRTgwMjExX1RYX1JDX1NI T1JUX0dJOwogfQogCiBzdGF0aWMgdTggd2Z4X3R4X2dldF9yZXRyeV9wb2xpY3lfaWQoc3RydWN0 IHdmeF92aWYgKnd2aWYsIHN0cnVjdCBpZWVlODAyMTFfdHhfaW5mbyAqdHhfaW5mbykKLS0gCjIu MzkuMgoK