get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 512634,
    "url": "http://patchwork.ozlabs.org/api/patches/512634/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1441065295-234333-5-git-send-email-catherine.sullivan@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": "<1441065295-234333-5-git-send-email-catherine.sullivan@intel.com>",
    "list_archive_url": null,
    "date": "2015-08-31T23:54:44",
    "name": "[next,S14,04/15] i40evf: properly handle ndo_set_mac_address calls",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "88efc4231b1ba7d0a3837441e76c8cb3ed2e9470",
    "submitter": {
        "id": 13931,
        "url": "http://patchwork.ozlabs.org/api/people/13931/?format=api",
        "name": "Catherine Sullivan",
        "email": "catherine.sullivan@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/1441065295-234333-5-git-send-email-catherine.sullivan@intel.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/512634/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/512634/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 fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ozlabs.org (Postfix) with ESMTP id 4E2DA140761\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue,  1 Sep 2015 09:54:09 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 9F717A3641;\n\tMon, 31 Aug 2015 23:54:08 +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 7pSeQo6X5_Fl; Mon, 31 Aug 2015 23:54:08 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id B809EA36E4;\n\tMon, 31 Aug 2015 23:54:07 +0000 (UTC)",
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id 2D0701C1009\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 31 Aug 2015 23:54:06 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 2142633CFD\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 31 Aug 2015 23:54:06 +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 etxyXf4HRIY3 for <intel-wired-lan@lists.osuosl.org>;\n\tMon, 31 Aug 2015 23:54:05 +0000 (UTC)",
            "from mga11.intel.com (mga11.intel.com [192.55.52.93])\n\tby silver.osuosl.org (Postfix) with ESMTP id 50FF23315B\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 31 Aug 2015 23:54:05 +0000 (UTC)",
            "from orsmga003.jf.intel.com ([10.7.209.27])\n\tby fmsmga102.fm.intel.com with ESMTP; 31 Aug 2015 16:54:05 -0700",
            "from catheri1-tigger.jf.intel.com ([134.134.176.92])\n\tby orsmga003.jf.intel.com with ESMTP; 31 Aug 2015 16:54:05 -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.17,445,1437462000\"; d=\"scan'208\";a=\"635798412\"",
        "From": "Catherine Sullivan <catherine.sullivan@intel.com>",
        "To": "intel-wired-lan@lists.osuosl.org",
        "Date": "Mon, 31 Aug 2015 19:54:44 -0400",
        "Message-Id": "<1441065295-234333-5-git-send-email-catherine.sullivan@intel.com>",
        "X-Mailer": "git-send-email 1.9.3",
        "In-Reply-To": "<1441065295-234333-1-git-send-email-catherine.sullivan@intel.com>",
        "References": "<1441065295-234333-1-git-send-email-catherine.sullivan@intel.com>",
        "Subject": "[Intel-wired-lan] [next PATCH S14 04/15] i40evf: properly handle\n\tndo_set_mac_address calls",
        "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: Mitch Williams <mitch.a.williams@intel.com>\n\nThe driver was not correctly handling calls to its ndo_set_mac_address\nmethod. It did not properly check to see if the override would be\nallowed by the PF driver, and never removed the old address from its\nfilter list.\n\nAdd a new flag to the adapter struct which is set if the MAC address is\nassigned by the PF. Check this flag and don't allow the MAC address to\nbe changed if it is set. Search for and properly remove the filter\nfor the old MAC address when the new one is set.\n\nSigned-off-by: Mitch Williams <mitch.a.williams@intel.com>\nChange-ID: I817bf620c869c5a80e6a7eab65c9cbad1dc89799\n---\n drivers/net/ethernet/intel/i40evf/i40evf.h      |  1 +\n drivers/net/ethernet/intel/i40evf/i40evf_main.c | 18 +++++++++++++++---\n 2 files changed, 16 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/i40evf/i40evf.h b/drivers/net/ethernet/intel/i40evf/i40evf.h\nindex e7a223e..132f03a 100644\n--- a/drivers/net/ethernet/intel/i40evf/i40evf.h\n+++ b/drivers/net/ethernet/intel/i40evf/i40evf.h\n@@ -220,6 +220,7 @@ struct i40evf_adapter {\n #define I40EVF_FLAG_RESET_NEEDED                 BIT(10)\n #define I40EVF_FLAG_WB_ON_ITR_CAPABLE\t\tBIT(11)\n #define I40EVF_FLAG_OUTER_UDP_CSUM_CAPABLE\tBIT(12)\n+#define I40EVF_FLAG_ADDR_SET_BY_PF               BIT(13)\n /* duplicates for common code */\n #define I40E_FLAG_FDIR_ATR_ENABLED\t\t 0\n #define I40E_FLAG_DCB_ENABLED\t\t\t 0\ndiff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c\nindex c00e495..7ea7d2e 100644\n--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c\n+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c\n@@ -841,6 +841,15 @@ static int i40evf_set_mac(struct net_device *netdev, void *p)\n \tif (ether_addr_equal(netdev->dev_addr, addr->sa_data))\n \t\treturn 0;\n \n+\tif (adapter->flags & I40EVF_FLAG_ADDR_SET_BY_PF)\n+\t\treturn -EPERM;\n+\n+\tf = i40evf_find_filter(adapter, hw->mac.addr);\n+\tif (f) {\n+\t\tf->remove = true;\n+\t\tadapter->aq_required |= I40EVF_FLAG_AQ_DEL_MAC_FILTER;\n+\t}\n+\n \tf = i40evf_add_filter(adapter, addr->sa_data);\n \tif (f) {\n \t\tether_addr_copy(hw->mac.addr, addr->sa_data);\n@@ -2244,10 +2253,13 @@ static void i40evf_init_task(struct work_struct *work)\n \tif (!is_valid_ether_addr(adapter->hw.mac.addr)) {\n \t\tdev_info(&pdev->dev, \"Invalid MAC address %pM, using random\\n\",\n \t\t\t adapter->hw.mac.addr);\n-\t\trandom_ether_addr(adapter->hw.mac.addr);\n+\t\teth_hw_addr_random(netdev);\n+\t\tether_addr_copy(adapter->hw.mac.addr, netdev->dev_addr);\n+\t} else {\n+\t\tadapter->flags |= I40EVF_FLAG_ADDR_SET_BY_PF;\n+\t\tether_addr_copy(netdev->dev_addr, adapter->hw.mac.addr);\n+\t\tether_addr_copy(netdev->perm_addr, adapter->hw.mac.addr);\n \t}\n-\tether_addr_copy(netdev->dev_addr, adapter->hw.mac.addr);\n-\tether_addr_copy(netdev->perm_addr, adapter->hw.mac.addr);\n \n \tinit_timer(&adapter->watchdog_timer);\n \tadapter->watchdog_timer.function = &i40evf_watchdog_timer;\n",
    "prefixes": [
        "next",
        "S14",
        "04/15"
    ]
}