From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 471D1C43381 for ; Thu, 28 Feb 2019 06:59:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 09EBA21850 for ; Thu, 28 Feb 2019 06:59:40 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="K7+s1mc3" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731246AbfB1G7e (ORCPT ); Thu, 28 Feb 2019 01:59:34 -0500 Received: from mail-eopbgr150072.outbound.protection.outlook.com ([40.107.15.72]:44354 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1731229AbfB1G7d (ORCPT ); Thu, 28 Feb 2019 01:59:33 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VZVI+Ayb7qdY/Iiv1S1Km8L/zD8f9OgchJcYUg5e1mw=; b=K7+s1mc3dZzdu08oWoMPPHnPx6242LIe0dg+GXai1DgHCHDfdhBo6XCAH2i9McrhBr3FJHSMQnVMkZDSc0jtSgUsluNRg79smyZBcCDLPAh6lrciphzPGH4fDKxz78dw6/aYxMw8s29C3VRt6rqW1hU8ZCm21pfpdTL8JZyWbI8= Received: from AM6PR05MB5240.eurprd05.prod.outlook.com (20.177.196.214) by AM6PR05MB4168.eurprd05.prod.outlook.com (52.135.160.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1665.15; Thu, 28 Feb 2019 06:59:21 +0000 Received: from AM6PR05MB5240.eurprd05.prod.outlook.com ([fe80::458c:8deb:ca54:1327]) by AM6PR05MB5240.eurprd05.prod.outlook.com ([fe80::458c:8deb:ca54:1327%2]) with mapi id 15.20.1665.015; Thu, 28 Feb 2019 06:59:21 +0000 From: Ido Schimmel To: "netdev@vger.kernel.org" CC: "davem@davemloft.net" , Jiri Pirko , mlxsw , Ido Schimmel Subject: [PATCH net-next 07/14] mlxsw: spectrum_acl: assign vchunk->chunk by the newly created chunk Thread-Topic: [PATCH net-next 07/14] mlxsw: spectrum_acl: assign vchunk->chunk by the newly created chunk Thread-Index: AQHUzzMhCpVgCSXaoEmtcpbB23GRYA== Date: Thu, 28 Feb 2019 06:59:21 +0000 Message-ID: <20190228065850.7471-8-idosch@mellanox.com> References: <20190228065850.7471-1-idosch@mellanox.com> In-Reply-To: <20190228065850.7471-1-idosch@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM6PR08CA0025.eurprd08.prod.outlook.com (2603:10a6:20b:c0::13) To AM6PR05MB5240.eurprd05.prod.outlook.com (2603:10a6:20b:64::22) authentication-results: spf=none (sender IP is ) smtp.mailfrom=idosch@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.20.1 x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8c09417a-a686-4154-b2cd-08d69d4a4407 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020);SRVR:AM6PR05MB4168; x-ms-traffictypediagnostic: AM6PR05MB4168: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1;AM6PR05MB4168;23:kRitP3bKSKoZEmFb1CnOYxDQ3m5gfvoqjFhe7LI?= =?iso-8859-1?Q?kQ98hSWZHO6LjLHJ4GCLRbDwIj/BJRSusaN+nia9rwPJ+KHSc3+Yx8sIHP?= =?iso-8859-1?Q?zphAR4A6gliC0uXvadAyLTqDLU8KPKs9kdUIM0PR5PRnFhABSFfqKskOM1?= =?iso-8859-1?Q?chNgRsIvJt11dE1W+pHypEfchvib6oqr49Q+XI+mcLnXGKz4ENZUBjSh94?= =?iso-8859-1?Q?t5X2qGAiiKxvkoCGmI2RWuZ71iXFDz68tW1ZXmlqmx8DHKsVfdTLxBzgLF?= =?iso-8859-1?Q?6aegVQ947FMWhtZOVILkT8JYi/3uzRNxjFKF+WIcp+/I4bGqA/OXmhHv9Y?= =?iso-8859-1?Q?YjawqpNbdSX1URegJ6+tLmEDCH/XeM7884CKRYwPh77WYH9bAuTTlA2HBg?= =?iso-8859-1?Q?uKjK7GZKvxwjNuSuHjrejc/BNH+txll0reRjKyyrAP8IPo2UMfXFyiCZ2i?= =?iso-8859-1?Q?BY7jbVEfouvuyvefKWQgKPp8U0Jknud393ayGaaY05QrKrXmCb32xqeykR?= =?iso-8859-1?Q?4ImyK69fRKTuZsgLBTw8uGRK2dTSRlfbkqVkKEQQoQzNOv3Y8rc80UlVwR?= =?iso-8859-1?Q?VOrvq6Q1R1oEeR9ioXpl3PQ0q5br/ec+uMUsTqKrKjfssqkYjFUf535j2D?= =?iso-8859-1?Q?V6V5YS6nwgm7nTG1AczYECcDwQb0OPagHaL6p7mTGtKGGqZWwYvzICoXAU?= =?iso-8859-1?Q?JeCv3tRpR2OwJimTL4ADFN5LMlwlcXtp5SEXuEMWR6LYrxVQMRoJKTDsi2?= =?iso-8859-1?Q?tIIObngxwhdAH7D1JF310WHD5Fg8gpQDrwTdVu+IcVjveEz1MkRuuTthux?= =?iso-8859-1?Q?PhBhKmyIntXX2Y2vWVQ9JrWhAw6MElkoH0Yl7rRcVoXPWrfcjNSCPNGc0R?= =?iso-8859-1?Q?zNVVIHqDhVXqE5GZ6ovNmiLW6e01dCt7yttUtQqTdFcrneD5UqyF0ClWb/?= =?iso-8859-1?Q?s5LMT3cFucWH5bQbFRnZuzGcvbCFqSQ5+dLPQD2DIZ6UhoEMj7Z1ey2GEY?= =?iso-8859-1?Q?dnOzdsQNHQ221th+cIbrZsd0ZM1ng7MvJlEpEP5/VflNyx6Ro8AR4GOCIh?= =?iso-8859-1?Q?10w0uEpJXNOfgQmcMn2l3Y82P8U63W9bpLbbhyMUx7UJVozfZ5w3RAPZyT?= =?iso-8859-1?Q?IS/uLIAmYyClC1KkbQ5PaIVAMqKiRrgavpeD5Kys6DnBn4yoG8D+d99YLT?= =?iso-8859-1?Q?i4TsTcSz5UNKxde01saTBphSOREcuSKbI8MS8INCmm98AfayokmYgJyod9?= =?iso-8859-1?Q?F4Lk2c+aTa83biWWert82XL3J0TAIcwJcdKE7ozLk0cJmBYqJ2FDQ+oY3U?= =?iso-8859-1?Q?joTabYLGzmTr4TF2EFL+2M1fzpdtXkhWU/8N7EQvs2sNxk4ajV/o+6JjZe?= =?iso-8859-1?Q?R4ihNN3g=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 0962D394D2 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(346002)(39860400002)(376002)(366004)(136003)(396003)(189003)(199004)(97736004)(86362001)(478600001)(99286004)(8676002)(2906002)(5660300002)(1730700003)(54906003)(81156014)(81166006)(2616005)(476003)(6512007)(1076003)(11346002)(4326008)(316002)(446003)(105586002)(50226002)(66066001)(8936002)(106356001)(25786009)(76176011)(107886003)(53936002)(6436002)(68736007)(2351001)(2501003)(486006)(5640700003)(6486002)(7736002)(6916009)(14454004)(305945005)(102836004)(26005)(36756003)(6116002)(3846002)(6506007)(386003)(186003)(256004)(52116002)(71200400001)(71190400001);DIR:OUT;SFP:1101;SCL:1;SRVR:AM6PR05MB4168;H:AM6PR05MB5240.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: tmzntrKKDKKBcPCdiu23WEK1BCpFFFxR4r5glYkd/kYkrNfEl3gSAd5wgIDgpzolc9IQz90wvwJ1tB9aKNLGgcqSHKO5oXDNEkpvaOqt8wIWAWfn+mIEVd35On8bMjME2UWeMJGyo/gPyc4cDL677DB8fXVqKcgXuT8E3wCszz1bEeSOrT/zROXFTpV/qhTaij9mx8NVn2kl0Th2lnGmbGjMWaH72kUout4jRJQ9cwxPJiYfIvZGQLi7IEzZQErtkFnPP6yGx2oS+CY1oDK1i+OyAuz0eyk0xnwoDfuTVDAXtDE4BDSW+wwJlb513Y0R4wQEd2b6Q5O1HVmbYKn7fnsH0Ldgmbany03ms/h+cwzC0HIR863wkVj0g/ITGrna/lQivZemETToTkR7vKdruJpbVa3P+qv8DG0DFyj0CP8= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8c09417a-a686-4154-b2cd-08d69d4a4407 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Feb 2019 06:59:21.6861 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB4168 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Make the vchunk->chunk contain pointer of a new chunk we migrate to. In case of a rollback, it contains the original chunk. Signed-off-by: Jiri Pirko Signed-off-by: Ido Schimmel --- .../mellanox/mlxsw/spectrum_acl_tcam.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c b/driv= ers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c index 72734ee60a1e..6a50266b6809 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c @@ -1197,21 +1197,23 @@ mlxsw_sp_acl_tcam_vchunk_migrate_one(struct mlxsw_s= p *mlxsw_sp, struct mlxsw_sp_acl_tcam_region *region, bool this_is_rollback) { + struct mlxsw_sp_acl_tcam_chunk *new_chunk; struct mlxsw_sp_acl_tcam_ventry *ventry; - struct mlxsw_sp_acl_tcam_chunk *chunk2; int err; int err2; =20 - chunk2 =3D mlxsw_sp_acl_tcam_chunk_create(mlxsw_sp, vchunk, region); - if (IS_ERR(chunk2)) { + new_chunk =3D mlxsw_sp_acl_tcam_chunk_create(mlxsw_sp, vchunk, region); + if (IS_ERR(new_chunk)) { if (this_is_rollback) vchunk->vregion->failed_rollback =3D true; - return PTR_ERR(chunk2); + return PTR_ERR(new_chunk); } - vchunk->chunk2 =3D chunk2; + vchunk->chunk2 =3D vchunk->chunk; + vchunk->chunk =3D new_chunk; + list_for_each_entry(ventry, &vchunk->ventry_list, list) { err =3D mlxsw_sp_acl_tcam_ventry_migrate(mlxsw_sp, ventry, - vchunk->chunk2); + vchunk->chunk); if (err) { if (this_is_rollback) { vchunk->vregion->failed_rollback =3D true; @@ -1220,8 +1222,7 @@ mlxsw_sp_acl_tcam_vchunk_migrate_one(struct mlxsw_sp = *mlxsw_sp, goto rollback; } } - mlxsw_sp_acl_tcam_chunk_destroy(mlxsw_sp, vchunk->chunk); - vchunk->chunk =3D chunk2; + mlxsw_sp_acl_tcam_chunk_destroy(mlxsw_sp, vchunk->chunk2); vchunk->chunk2 =3D NULL; return 0; =20 @@ -1230,6 +1231,7 @@ mlxsw_sp_acl_tcam_vchunk_migrate_one(struct mlxsw_sp = *mlxsw_sp, * migration fails, there's no good way how to proceed. Set the * vregion with "failed_rollback" flag. */ + swap(vchunk->chunk, vchunk->chunk2); list_for_each_entry_continue_reverse(ventry, &vchunk->ventry_list, list) { err2 =3D mlxsw_sp_acl_tcam_ventry_migrate(mlxsw_sp, ventry, --=20 2.20.1