From patchwork Tue Jul 18 17:13:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Charles Keepax X-Patchwork-Id: 122180 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp1922161vqt; Tue, 18 Jul 2023 11:09:13 -0700 (PDT) X-Google-Smtp-Source: APBJJlFF5dRpHDgsBHcwvO7JhdP2fz75lbgcVTpRPt4XG7lgzKgJd/ebBaB7R7fM9a5vZVvbeq4X X-Received: by 2002:a92:c943:0:b0:348:7c4e:2959 with SMTP id i3-20020a92c943000000b003487c4e2959mr3181634ilq.23.1689703753581; Tue, 18 Jul 2023 11:09:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689703753; cv=none; d=google.com; s=arc-20160816; b=Agi/z2CDjTo22GBd8M1eNEd54mnd84j5Rb37GU2ePgOmvDdKPYzpgGuOTvncTUGq4U 5Jt9Byk+ybJHDDbTSbiZbR2hyQBjpsI2aasvUbWrD4SB58dNunMAB1x+F9AoY+ouywYd RW7yryaC9s6V4sVCdMuoLOGNVgAc+x65bUtoJn/ncrj2hF+C7MPc8Se8InepO25OOK9V 5suAbHfFUJbKBkg+NTD4/z9kKu7n7uWFZnEUJLzrMhvD/eeas0YHlYtHgrVWekPyfox+ RGUPao6rlPYMOg0IXqGDyrT6FuoN2nbd5gKc1cUnYYa7/fJXm44tuZGvprxdL9M1FEhw rFXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=cMMPz/fH5EniNJdP/uG9bosVI37Ht5TetmgLLC30gkk=; fh=lULBNGFpZvcy94s150sIvXGH2s2vLVDg4bg9zy+qDRk=; b=vqkKCdT51vU5CEO1/JyznrDEZco1Lc8awto67pcr7XFK40tH3VqfhSpn4T9PQmB9dY g9Enu/e7wf7qs0F3FbW92IsK0e0qFNUgKc1S/66zU4phCF1HxJmg0n4Fxlu5qrT9TcmJ 2KRvdjX61nWgwAA271BF/tS95FESpn9IVKFDhTovpc6uuTLa53VMim4aGE2bOF/hRx2a W959jLk4Fogs2qux7an6rZX20NS6U0gSsHG886IA0Ks4Nkm/aAjHf6e181oQtwHzqPFU WdX2vpNo+JkpFvjW5/V714dBFdF2s2jNVvNnwpSpAut71uLuELyHeQF8HU6y6V4w8b8z 1MUg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cirrus.com header.s=PODMain02222019 header.b=ZV1mPaJf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=cirrus.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id mg18-20020a17090b371200b0024e37ccb3fesi1914658pjb.68.2023.07.18.11.09.00; Tue, 18 Jul 2023 11:09:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@cirrus.com header.s=PODMain02222019 header.b=ZV1mPaJf; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=cirrus.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231776AbjGRROR (ORCPT + 99 others); Tue, 18 Jul 2023 13:14:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46126 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230062AbjGRROQ (ORCPT ); Tue, 18 Jul 2023 13:14:16 -0400 Received: from mx0b-001ae601.pphosted.com (mx0b-001ae601.pphosted.com [67.231.152.168]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5806111C for ; Tue, 18 Jul 2023 10:14:14 -0700 (PDT) Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.17.1.22/8.17.1.22) with ESMTP id 36I7rQ3L013833; Tue, 18 Jul 2023 12:14:10 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h= from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding:content-type; s=PODMain02222019; bh=c MMPz/fH5EniNJdP/uG9bosVI37Ht5TetmgLLC30gkk=; b=ZV1mPaJfp/LVTgTnp zp5FBbpFY+O+2jq8o/Oynq+K6SHpljGxF0YAmSuPzabGuOcOqWoF7C3BjZS0Y0+/ xIfccT0HlZm9MzHBuSRLITxV/36O2bxU6YgNE+9OVTlQwr16+0EctBLpANHZu5W4 2TDZ6xyzRW95YZvzIvrA/lqwX1tkTB5BB+apqIQ6RhrDcDRVhJF6+fbDeUVxtdnw pZFyfCxO+FMlNfo9pK5SY5fojDGuOBLxKe+HYvaAHpHHM9oXIv4nsjWlwWEFuADn S0DZRS8/Xa68v8Krk9d9E09v2Xv5WJYwspzusHSVswDOMjsRyVxBEodFrA5DAU0k dHGfQ== Received: from ediex01.ad.cirrus.com ([84.19.233.68]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 3rus6gur76-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 18 Jul 2023 12:13:48 -0500 (CDT) Received: from ediex02.ad.cirrus.com (198.61.84.81) by ediex01.ad.cirrus.com (198.61.84.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Tue, 18 Jul 2023 18:13:47 +0100 Received: from ediswmail.ad.cirrus.com (198.61.86.93) by anon-ediex02.ad.cirrus.com (198.61.84.81) with Microsoft SMTP Server id 15.2.1118.30 via Frontend Transport; Tue, 18 Jul 2023 18:13:47 +0100 Received: from algalon.ad.cirrus.com (algalon.ad.cirrus.com [198.90.251.122]) by ediswmail.ad.cirrus.com (Postfix) with ESMTP id 00FE8458; Tue, 18 Jul 2023 17:13:46 +0000 (UTC) From: Charles Keepax To: CC: , , Subject: [PATCH] regmap: maple: Clear async flag when doing a maple tree cache sync Date: Tue, 18 Jul 2023 18:13:46 +0100 Message-ID: <20230718171346.1002994-1-ckeepax@opensource.cirrus.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: 1SCD0pyraLMVTWZovO3pBkZIkdqdoCRF X-Proofpoint-GUID: 1SCD0pyraLMVTWZovO3pBkZIkdqdoCRF X-Proofpoint-Spam-Reason: safe X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771782803120445134 X-GMAIL-MSGID: 1771782803120445134 The normal regcache_sync function sets the async flag on the register map. The maple tree sync code uses a temporary buffer, which is freed after the register is written, however, as the async flag is set the buffer might not be used until after it is freed. Fix this by clearing the async flag in the maple tree sync function. Fixes: bfa0b38c1483 ("regmap: maple: Implement block sync for the maple tree cache") Signed-off-by: Charles Keepax --- drivers/base/regmap/regcache-maple.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/base/regmap/regcache-maple.c b/drivers/base/regmap/regcache-maple.c index 283c2e02a2985..a24045a8c18f9 100644 --- a/drivers/base/regmap/regcache-maple.c +++ b/drivers/base/regmap/regcache-maple.c @@ -248,6 +248,8 @@ static int regcache_maple_sync(struct regmap *map, unsigned int min, bool sync_needed = false; map->cache_bypass = true; + /* Maple tree sync uses a temporary buffer, so clear async */ + map->async = false; rcu_read_lock();