get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/76282/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 76282,
    "url": "http://patches.dpdk.org/api/patches/76282/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200902053138.39649-4-ajit.khaparde@broadcom.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20200902053138.39649-4-ajit.khaparde@broadcom.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200902053138.39649-4-ajit.khaparde@broadcom.com",
    "date": "2020-09-02T05:31:37",
    "name": "[v3,3/4] net/bnxt: cleanups and checks ULP context allocation",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "dad00b12b0043500083feb649359a01ea23d7b4d",
    "submitter": {
        "id": 501,
        "url": "http://patches.dpdk.org/api/people/501/?format=api",
        "name": "Ajit Khaparde",
        "email": "ajit.khaparde@broadcom.com"
    },
    "delegate": {
        "id": 1766,
        "url": "http://patches.dpdk.org/api/users/1766/?format=api",
        "username": "ajitkhaparde",
        "first_name": "Ajit",
        "last_name": "Khaparde",
        "email": "ajit.khaparde@broadcom.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20200902053138.39649-4-ajit.khaparde@broadcom.com/mbox/",
    "series": [
        {
            "id": 11889,
            "url": "http://patches.dpdk.org/api/series/11889/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=11889",
            "date": "2020-09-02T05:31:34",
            "name": "bnxt patches",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/11889/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/76282/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/76282/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 710E9A04B5;\n\tWed,  2 Sep 2020 07:32:22 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 073961C0D7;\n\tWed,  2 Sep 2020 07:31:57 +0200 (CEST)",
            "from mail-ot1-f97.google.com (mail-ot1-f97.google.com\n [209.85.210.97]) by dpdk.org (Postfix) with ESMTP id 5CC12E07\n for <dev@dpdk.org>; Wed,  2 Sep 2020 07:31:55 +0200 (CEST)",
            "by mail-ot1-f97.google.com with SMTP id e23so3254177otk.7\n for <dev@dpdk.org>; Tue, 01 Sep 2020 22:31:55 -0700 (PDT)",
            "from localhost.localdomain ([192.19.223.252])\n by smtp-relay.gmail.com with ESMTPS id h26sm566703oos.1.2020.09.01.22.31.52\n (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);\n Tue, 01 Sep 2020 22:31:54 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com;\n s=google;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding;\n bh=9rNUukFseCQRzKl9VMNbvDvDzf2yaLhPgZjDqZpMejs=;\n b=F64/tnKZQ8mjxGCEp0QwJloqm9EGpvJ8OqRkIQgVchAVQhdjQJyllUfKKfeSK7laLg\n dOnsC4rYeolreTzlCX2LbMEYgi8NiqfFNIM9bbh8w0lS69B7NFjLLggZRSI+wtjbOkwN\n EP2sTjq7P+1o56ygtNx3Q1TMV2N1kuLeZ0ogU=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n :references:mime-version:content-transfer-encoding;\n bh=9rNUukFseCQRzKl9VMNbvDvDzf2yaLhPgZjDqZpMejs=;\n b=rVIE96XiImD9AipyI0LcYo+rXoS3RqIMxIK5jCjQ0FT9eFnfmK4KmXEraKmcj8BDvZ\n RinBWxhItEjn5rWsrltyWVx2sSn8LDxa33e4tngFUlglsEqHaHYVBHHN2FqeQKI60YgG\n Bveu1wZTt2Od+H5MUxO58WSjc65UBfG+S2dPuQONqaHnB15VbW1iIOT3Pxjmq8hFiW1l\n MD0uMvTuzErW/aacUSd2drW5FhqJ/jFMXqg/a5uU6adjuMGITDgJBQf+JDmjMaNyyPAq\n d07ojBidUeEaTRHZ7/Tx2lO2065oziJexFrINUIx664Bgh+peaWt5urJ7s7w+2danRnK\n ONxA==",
        "X-Gm-Message-State": "AOAM531QpiyCYJpJ4RKyiwmlMzAtQ2so82ZmsXyE1XZqVEGMYx2x+i9o\n bZiZAd9nJNQr88B07TIJnMepPpvTsy90OkLizSNKbTPhtdXCdYHlqJ8CZyMwXjT42G8tND2qMhs\n aAlp1hI0+Dp8T1tEYVhJN9xn44FLVboqB4ISs81cWGS4XCiMx0poscGaO53b60PKvn6IqAvZqeU\n QV6A==",
        "X-Google-Smtp-Source": "\n ABdhPJy08T7Y+3uTY4SL4IcsnW8/J4xl0O5v23jFGbmPMoJfZpM4avUXTXbSwcMbIQFOWj9ZXLW2JaNdIXjr",
        "X-Received": "by 2002:a9d:1d68:: with SMTP id m95mr4203294otm.110.1599024714542;\n Tue, 01 Sep 2020 22:31:54 -0700 (PDT)",
        "X-Relaying-Domain": "broadcom.com",
        "From": "Ajit Khaparde <ajit.khaparde@broadcom.com>",
        "To": "dev@dpdk.org",
        "Cc": "Somnath Kotur <somnath.kotur@broadcom.com>,\n Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>",
        "Date": "Tue,  1 Sep 2020 22:31:37 -0700",
        "Message-Id": "<20200902053138.39649-4-ajit.khaparde@broadcom.com>",
        "X-Mailer": "git-send-email 2.21.1 (Apple Git-122.3)",
        "In-Reply-To": "<20200902053138.39649-1-ajit.khaparde@broadcom.com>",
        "References": "<20200731172302.5292-1-ajit.khaparde@broadcom.com>\n <20200902053138.39649-1-ajit.khaparde@broadcom.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v3 3/4] net/bnxt: cleanups and checks ULP context\n\tallocation",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Somnath Kotur <somnath.kotur@broadcom.com>\n\nSet ulp_ctx explicitly to NULL in ulp_ctx_deinit() so that representor\ninit is aborted if parent ulp context is not initialized.\nAlso check for the same before creation of port default rules.\nAdditional checks added in VF rep dev ops for proper parent dev\ninitialization, to avoid null pointer dereference.\n\nFixes: 322bd6e70272 (\"net/bnxt: add port representor infrastructure\")\nFixes: 313ac35ac701 (\"net/bnxt: support ULP session manager init\")\n\nSigned-off-by: Somnath Kotur <somnath.kotur@broadcom.com>\nReviewed-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>\nReviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>\n---\n drivers/net/bnxt/bnxt_reps.c            | 18 ++++++++++++++++++\n drivers/net/bnxt/tf_ulp/bnxt_ulp.c      |  2 ++\n drivers/net/bnxt/tf_ulp/ulp_def_rules.c |  2 +-\n 3 files changed, 21 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/drivers/net/bnxt/bnxt_reps.c b/drivers/net/bnxt/bnxt_reps.c\nindex 6fa9a30d2..2941aff7b 100644\n--- a/drivers/net/bnxt/bnxt_reps.c\n+++ b/drivers/net/bnxt/bnxt_reps.c\n@@ -319,6 +319,7 @@ static int bnxt_vfr_alloc(struct rte_eth_dev *vfr_ethdev)\n {\n \tint rc = 0;\n \tstruct bnxt_vf_representor *vfr = vfr_ethdev->data->dev_private;\n+\tstruct bnxt *parent_bp;\n \n \tif (!vfr || !vfr->parent_dev) {\n \t\tPMD_DRV_LOG(ERR,\n@@ -326,6 +327,13 @@ static int bnxt_vfr_alloc(struct rte_eth_dev *vfr_ethdev)\n \t\treturn -ENOMEM;\n \t}\n \n+\tparent_bp = vfr->parent_dev->data->dev_private;\n+\tif (parent_bp && !parent_bp->ulp_ctx) {\n+\t\tPMD_DRV_LOG(ERR,\n+\t\t\t    \"ulp context not allocated for parent\\n\");\n+\t\treturn -EIO;\n+\t}\n+\n \t/* Check if representor has been already allocated in FW */\n \tif (vfr->vfr_tx_cfa_action)\n \t\treturn 0;\n@@ -534,6 +542,11 @@ int bnxt_vf_rep_rx_queue_setup_op(struct rte_eth_dev *eth_dev,\n \t\treturn -EINVAL;\n \t}\n \n+\tif (!parent_bp->rx_queues) {\n+\t\tPMD_DRV_LOG(ERR, \"Parent Rx qs not configured yet\\n\");\n+\t\treturn -EINVAL;\n+\t}\n+\n \tparent_rxq = parent_bp->rx_queues[queue_idx];\n \tif (!parent_rxq) {\n \t\tPMD_DRV_LOG(ERR, \"Parent RxQ has not been configured yet\\n\");\n@@ -628,6 +641,11 @@ int bnxt_vf_rep_tx_queue_setup_op(struct rte_eth_dev *eth_dev,\n \t\treturn -EINVAL;\n \t}\n \n+\tif (!parent_bp->tx_queues) {\n+\t\tPMD_DRV_LOG(ERR, \"Parent Tx qs not configured yet\\n\");\n+\t\treturn -EINVAL;\n+\t}\n+\n \tparent_txq = parent_bp->tx_queues[queue_idx];\n \tif (!parent_txq) {\n \t\tPMD_DRV_LOG(ERR, \"Parent TxQ has not been configured yet\\n\");\ndiff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp.c\nindex 263040ee4..0d4a45513 100644\n--- a/drivers/net/bnxt/tf_ulp/bnxt_ulp.c\n+++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp.c\n@@ -884,6 +884,8 @@ bnxt_ulp_deinit(struct bnxt *bp)\n \tulp_session_deinit(session);\n \n \trte_free(bp->ulp_ctx);\n+\n+\tbp->ulp_ctx = NULL;\n }\n \n /* Function to set the Mark DB into the context */\ndiff --git a/drivers/net/bnxt/tf_ulp/ulp_def_rules.c b/drivers/net/bnxt/tf_ulp/ulp_def_rules.c\nindex 9fb1a028f..46acc1d65 100644\n--- a/drivers/net/bnxt/tf_ulp/ulp_def_rules.c\n+++ b/drivers/net/bnxt/tf_ulp/ulp_def_rules.c\n@@ -465,7 +465,7 @@ bnxt_ulp_create_df_rules(struct bnxt *bp)\n \tint rc;\n \n \tif (!BNXT_TRUFLOW_EN(bp) ||\n-\t    BNXT_ETH_DEV_IS_REPRESENTOR(bp->eth_dev))\n+\t    BNXT_ETH_DEV_IS_REPRESENTOR(bp->eth_dev) || !bp->ulp_ctx)\n \t\treturn 0;\n \n \tport_id = bp->eth_dev->data->port_id;\n",
    "prefixes": [
        "v3",
        "3/4"
    ]
}