Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/488920/?format=api
{ "id": 488920, "url": "http://patchwork.ozlabs.org/api/patches/488920/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1435334047-6404-1-git-send-email-jacob.e.keller@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": "<1435334047-6404-1-git-send-email-jacob.e.keller@intel.com>", "list_archive_url": null, "date": "2015-06-26T15:54:06", "name": "[rc2,1/2] fm10k: create \"correct\" header for the remote end on connect", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "dd75d72c94c65722e73dd9ea57aa0f6aa23e8ad6", "submitter": { "id": 9784, "url": "http://patchwork.ozlabs.org/api/people/9784/?format=api", "name": "Jacob Keller", "email": "jacob.e.keller@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/1435334047-6404-1-git-send-email-jacob.e.keller@intel.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/488920/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/488920/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 894C1140081\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat, 27 Jun 2015 01:54:13 +1000 (AEST)", "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 24EC5842F8;\n\tFri, 26 Jun 2015 15:54:12 +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 oI1y9w6eEDwO; Fri, 26 Jun 2015 15:54:11 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 994D985BF9;\n\tFri, 26 Jun 2015 15:54:11 +0000 (UTC)", "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\tby ash.osuosl.org (Postfix) with ESMTP id CCBFD1C1F39\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 26 Jun 2015 15:54:10 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id C82AF95F9D\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 26 Jun 2015 15:54:10 +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 IENpNm-zcbtD for <intel-wired-lan@lists.osuosl.org>;\n\tFri, 26 Jun 2015 15:54:09 +0000 (UTC)", "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 9DCAC95F8C\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 26 Jun 2015 15:54:09 +0000 (UTC)", "from orsmga002.jf.intel.com ([10.7.209.21])\n\tby orsmga103.jf.intel.com with ESMTP; 26 Jun 2015 08:54:09 -0700", "from jekeller-desk.amr.corp.intel.com ([134.134.3.85])\n\tby orsmga002.jf.intel.com with ESMTP; 26 Jun 2015 08:54:09 -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.13,686,1427785200\"; d=\"scan'208\";a=\"753778784\"", "From": "Jacob Keller <jacob.e.keller@intel.com>", "To": "Intel Wired LAN <intel-wired-lan@lists.osuosl.org>", "Date": "Fri, 26 Jun 2015 08:54:06 -0700", "Message-Id": "<1435334047-6404-1-git-send-email-jacob.e.keller@intel.com>", "X-Mailer": "git-send-email 2.4.3", "Subject": "[Intel-wired-lan] [PATCH rc2 1/2] fm10k: create \"correct\" header\n\tfor the remote end on connect", "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": "When we connect to the mailbox, we insert a fake disconnect header so\nthat the code does not see an invalid header and thus instantly error\nevery time we bring up the mailbox. However, we incorrectly record the\ntail and head from the local perspective. Since the remote end shouldn't\nhave anything for us, add a \"create_fake_disconnect_hdr\" function which\ninverts the TAIL and HEAD fields. This enables us to connect without any\nerrors of either TAIL or HEAD incorrectness, and prevents creating\nextraneous error messages. This is necessary now since mbx_reset_work\ndoes not actually reset the Tx FIFO head and tail pointers, thus head\nand tail might not be equivalent on a reconnect.\n\n-rc2\n* Remove duplicate reference\n\nSigned-off-by: Jacob Keller <jacob.e.keller@intel.com>\n---\n drivers/net/ethernet/intel/fm10k/fm10k_mbx.c | 25 ++++++++++++++++++++++++-\n 1 file changed, 24 insertions(+), 1 deletion(-)", "diff": "diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_mbx.c b/drivers/net/ethernet/intel/fm10k/fm10k_mbx.c\nindex 0ff21d1fb9db..5403d8602fce 100644\n--- a/drivers/net/ethernet/intel/fm10k/fm10k_mbx.c\n+++ b/drivers/net/ethernet/intel/fm10k/fm10k_mbx.c\n@@ -899,6 +899,27 @@ static void fm10k_mbx_create_disconnect_hdr(struct fm10k_mbx_info *mbx)\n }\n \n /**\n+ * fm10k_mbx_create_fake_disconnect_hdr - Generate a false disconnect mailbox header\n+ * @mbx: pointer to mailbox\n+ *\n+ * This function creates a fake disconnect header for loading into remote\n+ * mailbox header. The primary purpose is to prevent errors on immediate\n+ * start up after mbx->connect.\n+ **/\n+static void fm10k_mbx_create_fake_disconnect_hdr(struct fm10k_mbx_info *mbx)\n+{\n+\tu32 hdr = FM10K_MSG_HDR_FIELD_SET(FM10K_MSG_DISCONNECT, TYPE) |\n+\t\t FM10K_MSG_HDR_FIELD_SET(mbx->head, TAIL) |\n+\t\t FM10K_MSG_HDR_FIELD_SET(mbx->tail, HEAD);\n+\tu16 crc = fm10k_crc_16b(&hdr, mbx->local, 1);\n+\n+\tmbx->mbx_lock |= FM10K_MBX_ACK;\n+\n+\t/* load header to memory to be written */\n+\tmbx->mbx_hdr = hdr | FM10K_MSG_HDR_FIELD_SET(crc, CRC);\n+}\n+\n+/**\n * fm10k_mbx_create_error_msg - Generate a error message\n * @mbx: pointer to mailbox\n * @err: local error encountered\n@@ -1435,8 +1456,10 @@ static s32 fm10k_mbx_connect(struct fm10k_hw *hw, struct fm10k_mbx_info *mbx)\n \t/* Place mbx in ready to connect state */\n \tmbx->state = FM10K_STATE_CONNECT;\n \n+\tfm10k_mbx_reset_work(mbx);\n+\n \t/* initialize header of remote mailbox */\n-\tfm10k_mbx_create_disconnect_hdr(mbx);\n+\tfm10k_mbx_create_fake_disconnect_hdr(mbx);\n \tfm10k_write_reg(hw, mbx->mbmem_reg ^ mbx->mbmem_len, mbx->mbx_hdr);\n \n \t/* enable interrupt and notify other party of new message */\n", "prefixes": [ "rc2", "1/2" ] }