get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 662457,
    "url": "http://patchwork.ozlabs.org/api/patches/662457/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1472063631-9033-2-git-send-email-bimmy.pujari@intel.com/",
    "project": {
        "id": 46,
        "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api",
        "name": "Intel Wired Ethernet development",
        "link_name": "intel-wired-lan",
        "list_id": "intel-wired-lan.osuosl.org",
        "list_email": "intel-wired-lan@osuosl.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1472063631-9033-2-git-send-email-bimmy.pujari@intel.com>",
    "list_archive_url": null,
    "date": "2016-08-24T18:33:46",
    "name": "[next,S44,1/6] i40e: fix setting user defined RSS hash key",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "455d335382143e33f5c115888d37f01c24706879",
    "submitter": {
        "id": 68919,
        "url": "http://patchwork.ozlabs.org/api/people/68919/?format=api",
        "name": "Pujari, Bimmy",
        "email": "bimmy.pujari@intel.com"
    },
    "delegate": {
        "id": 68,
        "url": "http://patchwork.ozlabs.org/api/users/68/?format=api",
        "username": "jtkirshe",
        "first_name": "Jeff",
        "last_name": "Kirsher",
        "email": "jeffrey.t.kirsher@intel.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1472063631-9033-2-git-send-email-bimmy.pujari@intel.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/662457/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/662457/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<intel-wired-lan-bounces@lists.osuosl.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Received": [
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3sKGF206vDz9sCj\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 25 Aug 2016 04:34:45 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 781A63157B;\n\tWed, 24 Aug 2016 18:34:44 +0000 (UTC)",
            "from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id GQHcdmyprpyd; Wed, 24 Aug 2016 18:34:38 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby silver.osuosl.org (Postfix) with ESMTP id BA0D231570;\n\tWed, 24 Aug 2016 18:34:38 +0000 (UTC)",
            "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ash.osuosl.org (Postfix) with ESMTP id 4A44A1C16C7\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed, 24 Aug 2016 18:34:37 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 466E085771\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed, 24 Aug 2016 18:34:37 +0000 (UTC)",
            "from fraxinus.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id cVo5tyvfrmrI for <intel-wired-lan@lists.osuosl.org>;\n\tWed, 24 Aug 2016 18:34:36 +0000 (UTC)",
            "from mga05.intel.com (mga05.intel.com [192.55.52.43])\n\tby fraxinus.osuosl.org (Postfix) with ESMTPS id AD08F8556B\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tWed, 24 Aug 2016 18:34:36 +0000 (UTC)",
            "from fmsmga003.fm.intel.com ([10.253.24.29])\n\tby fmsmga105.fm.intel.com with ESMTP; 24 Aug 2016 11:34:26 -0700",
            "from bimmy.jf.intel.com (HELO bimmy.linux1.jf.intel.com)\n\t([134.134.2.177])\n\tby FMSMGA003.fm.intel.com with ESMTP; 24 Aug 2016 11:34:23 -0700"
        ],
        "X-Virus-Scanned": [
            "amavisd-new at osuosl.org",
            "amavisd-new at osuosl.org"
        ],
        "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.28,571,1464678000\"; d=\"scan'208\";a=\"753043622\"",
        "From": "Bimmy Pujari <bimmy.pujari@intel.com>",
        "To": "intel-wired-lan@lists.osuosl.org",
        "Date": "Wed, 24 Aug 2016 11:33:46 -0700",
        "Message-Id": "<1472063631-9033-2-git-send-email-bimmy.pujari@intel.com>",
        "X-Mailer": "git-send-email 2.4.11",
        "In-Reply-To": "<1472063631-9033-1-git-send-email-bimmy.pujari@intel.com>",
        "References": "<1472063631-9033-1-git-send-email-bimmy.pujari@intel.com>",
        "Cc": "Alan Brady <alan.brady@intel.com>",
        "Subject": "[Intel-wired-lan] [next PATCH S44 1/6] i40e: fix setting user\n\tdefined RSS hash key",
        "X-BeenThere": "intel-wired-lan@lists.osuosl.org",
        "X-Mailman-Version": "2.1.18-1",
        "Precedence": "list",
        "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.lists.osuosl.org>",
        "List-Unsubscribe": "<http://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>",
        "List-Post": "<mailto:intel-wired-lan@lists.osuosl.org>",
        "List-Help": "<mailto:intel-wired-lan-request@lists.osuosl.org?subject=help>",
        "List-Subscribe": "<http://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=subscribe>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "intel-wired-lan-bounces@lists.osuosl.org",
        "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@lists.osuosl.org>"
    },
    "content": "From: Alan Brady <alan.brady@intel.com>\n\nPreviously, when using ethtool to change the RSS hash key, ethtool would\nreport back saying the old key was still being used and no error was\nreported.  It was unclear whether it was being reported incorrectly or\nbeing set incorrectly.  Debugging revealed 'i40e_set_rxfh()' returned\nzero immediately instead of setting the key because a user defined\nindirection table is not supplied when changing the hash key.\n\nThis fix instead changes it such that if an indirection table is not\nsupplied, then a default one is created and the hash key is now\ncorrectly set.\n\nSigned-off-by: Alan Brady <alan.brady@intel.com>\nChange-ID: Iddb621897ecf208650272b7ee46702cad7b69a71\n---\n drivers/net/ethernet/intel/i40e/i40e.h         |  2 ++\n drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 12 +++++++-----\n drivers/net/ethernet/intel/i40e/i40e_main.c    |  6 ++----\n 3 files changed, 11 insertions(+), 9 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h\nindex 7c5f579..22657ea 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e.h\n+++ b/drivers/net/ethernet/intel/i40e/i40e.h\n@@ -705,6 +705,8 @@ void i40e_do_reset_safe(struct i40e_pf *pf, u32 reset_flags);\n void i40e_do_reset(struct i40e_pf *pf, u32 reset_flags);\n int i40e_config_rss(struct i40e_vsi *vsi, u8 *seed, u8 *lut, u16 lut_size);\n int i40e_get_rss(struct i40e_vsi *vsi, u8 *seed, u8 *lut, u16 lut_size);\n+void i40e_fill_rss_lut(struct i40e_pf *pf, u8 *lut,\n+\t\t       u16 rss_table_size, u16 rss_size);\n struct i40e_vsi *i40e_find_vsi_from_id(struct i40e_pf *pf, u16 id);\n void i40e_update_stats(struct i40e_vsi *vsi);\n void i40e_update_eth_stats(struct i40e_vsi *vsi);\ndiff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c\nindex 104d2fb..bfdf46e 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c\n@@ -2922,15 +2922,13 @@ static int i40e_set_rxfh(struct net_device *netdev, const u32 *indir,\n {\n \tstruct i40e_netdev_priv *np = netdev_priv(netdev);\n \tstruct i40e_vsi *vsi = np->vsi;\n+\tstruct i40e_pf *pf = vsi->back;\n \tu8 *seed = NULL;\n \tu16 i;\n \n \tif (hfunc != ETH_RSS_HASH_NO_CHANGE && hfunc != ETH_RSS_HASH_TOP)\n \t\treturn -EOPNOTSUPP;\n \n-\tif (!indir)\n-\t\treturn 0;\n-\n \tif (key) {\n \t\tif (!vsi->rss_hkey_user) {\n \t\t\tvsi->rss_hkey_user = kzalloc(I40E_HKEY_ARRAY_SIZE,\n@@ -2948,8 +2946,12 @@ static int i40e_set_rxfh(struct net_device *netdev, const u32 *indir,\n \t}\n \n \t/* Each 32 bits pointed by 'indir' is stored with a lut entry */\n-\tfor (i = 0; i < I40E_HLUT_ARRAY_SIZE; i++)\n-\t\tvsi->rss_lut_user[i] = (u8)(indir[i]);\n+\tif (indir)\n+\t\tfor (i = 0; i < I40E_HLUT_ARRAY_SIZE; i++)\n+\t\t\tvsi->rss_lut_user[i] = (u8)(indir[i]);\n+\telse\n+\t\ti40e_fill_rss_lut(pf, vsi->rss_lut_user, I40E_HLUT_ARRAY_SIZE,\n+\t\t\t\t  vsi->rss_size);\n \n \treturn i40e_config_rss(vsi, seed, vsi->rss_lut_user,\n \t\t\t       I40E_HLUT_ARRAY_SIZE);\ndiff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c\nindex b836b6e..196a7750 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_main.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c\n@@ -57,8 +57,6 @@ static int i40e_setup_pf_switch(struct i40e_pf *pf, bool reinit);\n static int i40e_setup_misc_vector(struct i40e_pf *pf);\n static void i40e_determine_queue_usage(struct i40e_pf *pf);\n static int i40e_setup_pf_filter_control(struct i40e_pf *pf);\n-static void i40e_fill_rss_lut(struct i40e_pf *pf, u8 *lut,\n-\t\t\t      u16 rss_table_size, u16 rss_size);\n static void i40e_fdir_sb_setup(struct i40e_pf *pf);\n static int i40e_veb_get_bw_info(struct i40e_veb *veb);\n \n@@ -8228,8 +8226,8 @@ int i40e_get_rss(struct i40e_vsi *vsi, u8 *seed, u8 *lut, u16 lut_size)\n  * @rss_table_size: Lookup table size\n  * @rss_size: Range of queue number for hashing\n  */\n-static void i40e_fill_rss_lut(struct i40e_pf *pf, u8 *lut,\n-\t\t\t      u16 rss_table_size, u16 rss_size)\n+void i40e_fill_rss_lut(struct i40e_pf *pf, u8 *lut,\n+\t\t       u16 rss_table_size, u16 rss_size)\n {\n \tu16 i;\n \n",
    "prefixes": [
        "next",
        "S44",
        "1/6"
    ]
}