Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/788801/?format=api
{ "id": 788801, "url": "http://patchwork.ozlabs.org/api/patches/788801/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20170714132709.52657-5-alice.michael@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": "<20170714132709.52657-5-alice.michael@intel.com>", "list_archive_url": null, "date": "2017-07-14T13:27:04", "name": "[next,S77-V3,05/10] i40e: don't clear suspended state until we finish resuming", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "0718c69061fdadbdcba2def5f4eba985d9da89a4", "submitter": { "id": 71123, "url": "http://patchwork.ozlabs.org/api/people/71123/?format=api", "name": "Michael, Alice", "email": "alice.michael@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/20170714132709.52657-5-alice.michael@intel.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/788801/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/788801/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<intel-wired-lan-bounces@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 hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\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 3x8QqL0bRxz9sNd\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat, 15 Jul 2017 07:31:25 +1000 (AEST)", "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 825858A438;\n\tFri, 14 Jul 2017 21:31:24 +0000 (UTC)", "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id nXq9wc4PdiiZ; Fri, 14 Jul 2017 21:31:23 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id BF37D8A42D;\n\tFri, 14 Jul 2017 21:31:23 +0000 (UTC)", "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\tby ash.osuosl.org (Postfix) with ESMTP id C2C8A1C42AA\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 14 Jul 2017 21:31:19 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id BBB858A420\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 14 Jul 2017 21:31:19 +0000 (UTC)", "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id RNjDLEizAhpJ for <intel-wired-lan@lists.osuosl.org>;\n\tFri, 14 Jul 2017 21:31:17 +0000 (UTC)", "from mga07.intel.com (mga07.intel.com [134.134.136.100])\n\tby hemlock.osuosl.org (Postfix) with ESMTPS id 2EB178A421\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 14 Jul 2017 21:31:17 +0000 (UTC)", "from orsmga005.jf.intel.com ([10.7.209.41])\n\tby orsmga105.jf.intel.com with ESMTP; 14 Jul 2017 14:31:16 -0700", "from unknown (HELO localhost.jf.intel.com) ([10.166.16.121])\n\tby orsmga005.jf.intel.com with ESMTP; 14 Jul 2017 14:31:16 -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.40,360,1496127600\"; d=\"scan'208\";a=\"125288629\"", "From": "Alice Michael <alice.michael@intel.com>", "To": "alice.michael@intel.com,\n\tintel-wired-lan@lists.osuosl.org", "Date": "Fri, 14 Jul 2017 09:27:04 -0400", "Message-Id": "<20170714132709.52657-5-alice.michael@intel.com>", "X-Mailer": "git-send-email 2.9.3", "In-Reply-To": "<20170714132709.52657-1-alice.michael@intel.com>", "References": "<20170714132709.52657-1-alice.michael@intel.com>", "Subject": "[Intel-wired-lan] [next PATCH S77-V3 05/10] i40e: don't clear\n\tsuspended state until we finish resuming", "X-BeenThere": "intel-wired-lan@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.osuosl.org>", "List-Unsubscribe": "<https://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>", "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>", "List-Post": "<mailto:intel-wired-lan@osuosl.org>", "List-Help": "<mailto:intel-wired-lan-request@osuosl.org?subject=help>", "List-Subscribe": "<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@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@osuosl.org", "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>" }, "content": "From: Jacob Keller <jacob.e.keller@intel.com>\n\nWhen handling suspend and resume callbacks we want to make sure that (a)\nwe don't suspend again if we're already suspended and (b) we don't\nresume again if we're already resuming. Lets make sure we test_and_set\nthe __I40E_SUSPENDED bit in i40e_suspend which ensures that a suspend\ncall when already suspended will exit early. Additionally, if\n__I40E_SUSPENDED is not set when we begin resuming, exit early as well.\n\nSigned-off-by: Jacob Keller <jacob.e.keller@intel.com>\n---\n drivers/net/ethernet/intel/i40e/i40e_main.c | 19 +++++++++++++------\n 1 file changed, 13 insertions(+), 6 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c\nindex b47cc14..11c9565 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_main.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c\n@@ -12045,7 +12045,10 @@ static int i40e_suspend(struct device *dev)\n \tstruct i40e_pf *pf = pci_get_drvdata(pdev);\n \tstruct i40e_hw *hw = &pf->hw;\n \n-\tset_bit(__I40E_SUSPENDED, pf->state);\n+\t/* If we're already suspended, then there is nothing to do */\n+\tif (test_and_set_bit(__I40E_SUSPENDED, pf->state))\n+\t\treturn 0;\n+\n \tset_bit(__I40E_DOWN, pf->state);\n \n \tif (pf->wol_en && (pf->hw_features & I40E_HW_WOL_MC_MAGIC_PKT_WAKE))\n@@ -12070,11 +12073,15 @@ static int i40e_resume(struct device *dev)\n \tstruct pci_dev *pdev = to_pci_dev(dev);\n \tstruct i40e_pf *pf = pci_get_drvdata(pdev);\n \n-\t/* handling the reset will rebuild the device state */\n-\tif (test_and_clear_bit(__I40E_SUSPENDED, pf->state)) {\n-\t\tclear_bit(__I40E_DOWN, pf->state);\n-\t\ti40e_reset_and_rebuild(pf, false, false);\n-\t}\n+\t/* If we're not suspended, then there is nothing to do */\n+\tif (!test_bit(__I40E_SUSPENDED, pf->state))\n+\t\treturn 0;\n+\n+\tclear_bit(__I40E_DOWN, pf->state);\n+\ti40e_reset_and_rebuild(pf, false, false);\n+\n+\t/* Clear suspended state last after everything is recovered */\n+\tclear_bit(__I40E_SUSPENDED, pf->state);\n \n \treturn 0;\n }\n", "prefixes": [ "next", "S77-V3", "05/10" ] }