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=-8.6 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,URIBL_BLOCKED,USER_AGENT_MUTT 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 2C952C43387 for ; Tue, 8 Jan 2019 03:10:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id F19DE2085A for ; Tue, 8 Jan 2019 03:10:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=ziepe.ca header.i=@ziepe.ca header.b="T1Md2A0P" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727507AbfAHDKz (ORCPT ); Mon, 7 Jan 2019 22:10:55 -0500 Received: from mail-pl1-f194.google.com ([209.85.214.194]:44264 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727495AbfAHDKz (ORCPT ); Mon, 7 Jan 2019 22:10:55 -0500 Received: by mail-pl1-f194.google.com with SMTP id e11so1128968plt.11 for ; Mon, 07 Jan 2019 19:10:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=mTU8L9taT42nJlKS7WDhNBNj1Bxdnhw8JvM7QjLZq2k=; b=T1Md2A0PxmY1m/8bM8/9vEEXo9zxuESgfgLOhVgDxJx91WdYYAQCzkyYefAzwIDiAZ KbC5DmQ5GycRV64YQjxf82YgtvBwBl+BEIQB61/urfi1QW2/ryX+PcZ1jlBaSCYug+y8 NBGcYyrCHQcAHiEniW9zK6/bDUL2YVYLKDKPOcHxJLaS17jW+hUm74rxKYYZg7ZuAT6K jGJJ17+wy5zBhRInkJop248Ikr69dJNmfDhRcEVTIg4KYEDYPjQjj/vS4Cz0Am5lypRO m4Njm8qAFMR83dfxxGwUo9gRQcaMD0UoujcrdB2mhMJty6O5emlGvf5IYI7gpgTuSRTz RDIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=mTU8L9taT42nJlKS7WDhNBNj1Bxdnhw8JvM7QjLZq2k=; b=UwyHuPtYJ903NuCda5TuBsJtON8W/KZIt4eG+ZDQaiAaTgeLFGPQrevKvedmdA3xMx lEfJhHT7CmxrkQZ96Rwqy9rUPdnjLjzqbFP7D2NfzEt3N1cNfv2Yx77RdL4TeQcKZhZG ne2zpGKtJ++QsUbRl4DDouGKbj1uUlhzMtd/L4UIDp03y00gKPlwWiGPP2OoMURrtBtR 17ZozPwhJXSKzd0iLKvGL3Htng6qJ882azflNxym7ywif81Y88kMqfR1kJW1fPL/sj6Y 5sQe8Lezm9xdfI6UynsPSMy/uclH+fdgydcHetfgIpy2xXs3x09bp0FwpC5YkZUXkECG kwgw== X-Gm-Message-State: AJcUukfoRwCYSvJL45TXaTmrOE71rt6HTG7AObSlvZJInYRNnsJ5W+wk oB8vshSyIpmU+QbG5B5PBpPJqg== X-Google-Smtp-Source: ALg8bN4lURhhSVlfnZ/cuFm68mShTlrJeW6ZM92V38GDyDvm/3r59pZ9PS3PpeJF1Ob3lMvhnZMwpQ== X-Received: by 2002:a17:902:780c:: with SMTP id p12mr43096pll.197.1546917053886; Mon, 07 Jan 2019 19:10:53 -0800 (PST) Received: from ziepe.ca (S010614cc2056d97f.ed.shawcable.net. [174.3.196.123]) by smtp.gmail.com with ESMTPSA id m65sm116846275pfg.180.2019.01.07.19.10.52 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 07 Jan 2019 19:10:52 -0800 (PST) Received: from jgg by mlx.ziepe.ca with local (Exim 4.90_1) (envelope-from ) id 1gghn1-0005Xz-Sg; Mon, 07 Jan 2019 20:10:51 -0700 Date: Mon, 7 Jan 2019 20:10:51 -0700 From: Jason Gunthorpe To: Adit Ranadive Cc: "dledford@redhat.com" , "linux-rdma@vger.kernel.org" , Pv-drivers , "stable@vger.kernel.org" Subject: Re: [PATCH v1 for-rc] RDMA/vmw_pvrdma: Return the correct opcode when creating WR Message-ID: <20190108031051.GC5336@ziepe.ca> References: <1546903346-15461-1-git-send-email-aditr@vmware.com> <20190107232815.GP27929@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org On Tue, Jan 08, 2019 at 12:02:42AM +0000, Adit Ranadive wrote: > On 1/7/19 3:28 PM, Jason Gunthorpe wrote: > > On Mon, Jan 07, 2019 at 11:23:05PM +0000, Adit Ranadive wrote: > >> From: Adit Ranadive > >> > >> Since the IB_WR_REG_MR opcode value changed, let's set the PVRDMA > >> device opcodes explicitly. > >> > >> Reported-by: Ruishuang Wang > >> Fixes: 9a59739bd01f ("IB/rxe: Revise the ib_wr_opcode enum") > >> Cc: stable@vger.kernel.org > >> Reviewed-by: Bryan Tan > >> Reviewed-by: Ruishuang Wang > >> Reviewed-by: Vishnu Dasa > >> Signed-off-by: Adit Ranadive > >> drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 43 +++++++++++++++++++++++++++++++ > >> 1 file changed, 43 insertions(+) > >> > >> diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma.h b/drivers/infiniband/hw/vmw_pvrdma/pvrdma.h > >> index 42b8685c997e..a85d7ba96d55 100644 > >> +++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma.h > >> @@ -427,6 +427,49 @@ static inline enum ib_qp_state pvrdma_qp_state_to_ib(enum pvrdma_qp_state state) > >> > >> static inline enum pvrdma_wr_opcode ib_wr_opcode_to_pvrdma(enum ib_wr_opcode op) > >> { > >> + switch (op) { > >> + case IB_WR_RDMA_WRITE: > >> + return PVRDMA_WR_RDMA_WRITE; > >> + case IB_WR_RDMA_WRITE_WITH_IMM: > >> + return PVRDMA_WR_RDMA_WRITE_WITH_IMM; > >> + case IB_WR_SEND: > >> + return PVRDMA_WR_SEND; > >> + case IB_WR_SEND_WITH_IMM: > >> + return PVRDMA_WR_SEND_WITH_IMM; > >> + case IB_WR_RDMA_READ: > >> + return PVRDMA_WR_RDMA_READ; > >> + case IB_WR_ATOMIC_CMP_AND_SWP: > >> + return PVRDMA_WR_ATOMIC_CMP_AND_SWP; > >> + case IB_WR_ATOMIC_FETCH_AND_ADD: > >> + return PVRDMA_WR_ATOMIC_FETCH_AND_ADD; > >> + case IB_WR_LSO: > >> + return PVRDMA_WR_LSO; > >> + case IB_WR_SEND_WITH_INV: > >> + return PVRDMA_WR_SEND_WITH_INV; > >> + case IB_WR_RDMA_READ_WITH_INV: > >> + return PVRDMA_WR_RDMA_READ_WITH_INV; > >> + case IB_WR_LOCAL_INV: > >> + return PVRDMA_WR_LOCAL_INV; > >> + case IB_WR_REG_MR: > >> + return PVRDMA_WR_FAST_REG_MR; > >> + case IB_WR_MASKED_ATOMIC_CMP_AND_SWP: > >> + return PVRDMA_WR_MASKED_ATOMIC_CMP_AND_SWP; > >> + case IB_WR_MASKED_ATOMIC_FETCH_AND_ADD: > >> + return PVRDMA_WR_MASKED_ATOMIC_FETCH_AND_ADD; > >> + case IB_WR_REG_SIG_MR: > >> + return PVRDMA_WR_REG_SIG_MR; > >> + case IB_WR_RESERVED1: > >> + case IB_WR_RESERVED2: > >> + case IB_WR_RESERVED3: > >> + case IB_WR_RESERVED4: > >> + case IB_WR_RESERVED5: > >> + case IB_WR_RESERVED6: > >> + case IB_WR_RESERVED7: > >> + case IB_WR_RESERVED8: > >> + case IB_WR_RESERVED9: > >> + case IB_WR_RESERVED10: > >> + return (enum pvrdma_wr_opcode)op; > >> + } > >> return (enum pvrdma_wr_opcode)op; > > > > I ment it should always translate, not cast like this - if no > > translation is available then it should be a posting failure. > > > > Jason > > > > Not sure if I follow you. We can post a failure but that would be > in pvrdma_qp.c when it looks at the opcode returned from here. We > would have to handle all the IB enums here though if you don't want > a default case (you would get compiler warnings otherwise). You'd do something like default: return PVRDMA_WR_ERROR; And something, somewhere, should fail the posting. Jason