get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2221016,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2221016/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260408-ibmvfc-fpin-support-v1-3-52b06c464e03@linux.ibm.com/",
    "project": {
        "id": 2,
        "url": "http://patchwork.ozlabs.org/api/1.1/projects/2/?format=api",
        "name": "Linux PPC development",
        "link_name": "linuxppc-dev",
        "list_id": "linuxppc-dev.lists.ozlabs.org",
        "list_email": "linuxppc-dev@lists.ozlabs.org",
        "web_url": "https://github.com/linuxppc/wiki/wiki",
        "scm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git",
        "webscm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/"
    },
    "msgid": "<20260408-ibmvfc-fpin-support-v1-3-52b06c464e03@linux.ibm.com>",
    "date": "2026-04-08T17:07:44",
    "name": "[3/5] ibmvfc: make ibmvfc login to fabric",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "35ee04f4e60e4e749da784684c4efebb4353258a",
    "submitter": {
        "id": 93089,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/93089/?format=api",
        "name": "Dave Marquardt via B4 Relay",
        "email": "devnull+davemarq.linux.ibm.com@kernel.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260408-ibmvfc-fpin-support-v1-3-52b06c464e03@linux.ibm.com/mbox/",
    "series": [
        {
            "id": 499164,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/499164/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=499164",
            "date": "2026-04-08T17:07:44",
            "name": "ibmvfc: make ibmvfc support FPIN messages",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/499164/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2221016/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2221016/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "\n <linuxppc-dev+bounces-19516-incoming=patchwork.ozlabs.org@lists.ozlabs.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linuxppc-dev@lists.ozlabs.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=Kz5Gw/ZM;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19516-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)",
            "lists.ozlabs.org;\n arc=none smtp.remote-ip=172.234.252.31",
            "lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org",
            "lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=Kz5Gw/ZM;\n\tdkim-atps=neutral",
            "lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org\n (client-ip=172.234.252.31; helo=sea.source.kernel.org;\n envelope-from=devnull+davemarq.linux.ibm.com@kernel.org;\n receiver=lists.ozlabs.org)"
        ],
        "Received": [
            "from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4frTyz1W5tz1xv0\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 09 Apr 2026 03:07:55 +1000 (AEST)",
            "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4frTyx3B4Wz2yjp;\n\tThu, 09 Apr 2026 03:07:53 +1000 (AEST)",
            "from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4frTyv6TCsz2yC9\n\tfor <linuxppc-dev@lists.ozlabs.org>; Thu, 09 Apr 2026 03:07:51 +1000 (AEST)",
            "from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])\n\tby sea.source.kernel.org (Postfix) with ESMTP id 954BF443FE;\n\tWed,  8 Apr 2026 17:07:49 +0000 (UTC)",
            "by smtp.kernel.org (Postfix) with ESMTPS id 79757C2BCB0;\n\tWed,  8 Apr 2026 17:07:49 +0000 (UTC)",
            "from aws-us-west-2-korg-lkml-1.web.codeaurora.org\n (localhost.localdomain [127.0.0.1])\n\tby smtp.lore.kernel.org (Postfix) with ESMTP id 6FF2810F9962;\n\tWed,  8 Apr 2026 17:07:49 +0000 (UTC)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1775668073;\n\tcv=none;\n b=eLlBDs3i9uOy6DgQ+sXBeSK6DKXJk83aq+57YG/K30XhzmnCJ+iCWDk27mNQ0fxOJK8scrEz0xJefmb5mQuffXPiMAtj5gT+JboPG3xxwoDlJbp0QrZUbsFW07bBVkSbydJE2Ft/XH1EpQkPEiXLPMeB0pSHBDUmtWlGQfBu6bTUeMDSNIx+ATtVjDgPd+R0i56usmo+jZe5Oqeq/hPvotn30mXcxjyKqoNpDoDo2Mn0Onrsxe1mJxkERl/eMX7tnBQgMlGlS/H79sUSwe/i3iaOsLzMLIx+B8uPOvFEJl5UwUjf9m6gwrTIdissp3RCuOl+kaI/SJ/bxPpnQEs07w==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1775668073; c=relaxed/relaxed;\n\tbh=w07MUTiTXNHHkVOBsl0MnjIHGs6edOD7xSxZz20i0Tg=;\n\th=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References:\n\t In-Reply-To:To:Cc;\n b=OtysVxUkBAtxfGuUh0cba1R+g9sByHhxft0P0PsihTKbqqJbz/VZLhdcIw4//qbmRFVFqn8pbfF2BHiVRb5NUXu5rI5Y3FZsP3vgLKOGqoJPilwHaud2G/7DPuzf8+pbtSUMoqHAKQ5yCFNlI6qccMXryv95hHbTzCHBo3KZSSC/oyMgT+0BAu4QLl5SFBIfb03mpYxR/VISV2xsmTgy1Z5vxb0m4SPtH7ls1xDF3pjvwSYeEa2GSatdbqkVzhM24KSQ5i3d338rUje5Qwv/ZuAa0GYL2dXJID+gGUuYFpKmKqDP29Qxy/AkBArTZEHjPfotYdwAUuMxTW3WBSCssA==",
        "ARC-Authentication-Results": "i=1; lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org;\n dkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=Kz5Gw/ZM; dkim-atps=neutral;\n spf=pass (client-ip=172.234.252.31; helo=sea.source.kernel.org;\n envelope-from=devnull+davemarq.linux.ibm.com@kernel.org;\n receiver=lists.ozlabs.org) smtp.mailfrom=kernel.org",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1775668069;\n\tbh=ImWMoB/rnm1FclghGraQ/e8MyN35n7tNJtP8/fXzR9I=;\n\th=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From;\n\tb=Kz5Gw/ZMqUqOM80f932tb7gcvTZkhU9a74kBB/StL/kcET/Px5UiDXntqZIpV4814\n\t PK5AN7fXmTB3EyJTHWRHf1izLabBRsXdJeX6LOqovr2LCWbqjzwlmoNQLaSzG2JY37\n\t vH8XN+4BeDMeQpOtYm1CN9krkzERvmVrnsxi/h9Rotnqx64VZlYTo/Uuje9iDZxT+H\n\t VUT4+gbv7VPXEiv3wqLTI1K4zX7Ol60FnpaxZBLNq0wPv7efemfEy+0HZlMxjS7Cv3\n\t toG1/tnY+yefCxTS4V7t8URCfN+d8aCYdv3aqph8eHH5jDT7rB6oUEbVkPqvJ7vwsL\n\t ZxF0usJT9t1xg==",
        "From": "Dave Marquardt via B4 Relay <devnull+davemarq.linux.ibm.com@kernel.org>",
        "Date": "Wed, 08 Apr 2026 12:07:44 -0500",
        "Subject": "[PATCH 3/5] ibmvfc: make ibmvfc login to fabric",
        "X-Mailing-List": "linuxppc-dev@lists.ozlabs.org",
        "List-Id": "<linuxppc-dev.lists.ozlabs.org>",
        "List-Help": "<mailto:linuxppc-dev+help@lists.ozlabs.org>",
        "List-Owner": "<mailto:linuxppc-dev+owner@lists.ozlabs.org>",
        "List-Post": "<mailto:linuxppc-dev@lists.ozlabs.org>",
        "List-Archive": "<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>",
        "List-Subscribe": "<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>",
        "List-Unsubscribe": "<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>",
        "Precedence": "list",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "7bit",
        "Message-Id": "<20260408-ibmvfc-fpin-support-v1-3-52b06c464e03@linux.ibm.com>",
        "References": "<20260408-ibmvfc-fpin-support-v1-0-52b06c464e03@linux.ibm.com>",
        "In-Reply-To": "<20260408-ibmvfc-fpin-support-v1-0-52b06c464e03@linux.ibm.com>",
        "To": "\"James E.J. Bottomley\" <James.Bottomley@HansenPartnership.com>,\n \"Martin K. Petersen\" <martin.petersen@oracle.com>,\n Madhavan Srinivasan <maddy@linux.ibm.com>,\n Michael Ellerman <mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>,\n \"Christophe Leroy (CS GROUP)\" <chleroy@kernel.org>,\n Tyrel Datwyler <tyreld@linux.ibm.com>",
        "Cc": "linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,\n linuxppc-dev@lists.ozlabs.org, Brian King <brking@linux.ibm.com>,\n Greg Joyce <gjoyce@linux.ibm.com>, Kyle Mahlkuch <kmahlkuc@linux.ibm.com>,\n Dave Marquardt <davemarq@linux.ibm.com>",
        "X-Mailer": "b4 0.15.1",
        "X-Developer-Signature": "v=1; a=ed25519-sha256; t=1775668068; l=6364;\n i=davemarq@linux.ibm.com; s=20260216; h=from:subject:message-id;\n bh=Cbt/rfPik4XB8M92YhjaqQXiYCRxYwBJ6PtbbYpBhuo=;\n b=PXjs5+PHKlzRHjXbLUSryG+lUh5EBrAAbuiDita0EbTjLRL/t6LJedUzoIHU9xDcXXxT1naLW\n LWJZM0Iqw8qA+RDwk8neWFD38h7cMPjLzGzXIoNZtyBn8j6A0+EavPp",
        "X-Developer-Key": "i=davemarq@linux.ibm.com; a=ed25519;\n pk=vy0/nfobrje6EqZxuyw6a3ZstytG8WK2vf5Y3xtGrEg=",
        "X-Endpoint-Received": "by B4 Relay for davemarq@linux.ibm.com/20260216 with\n auth_id=689",
        "X-Original-From": "Dave Marquardt <davemarq@linux.ibm.com>",
        "Reply-To": "davemarq@linux.ibm.com",
        "X-Spam-Status": "No, score=-0.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,\n\tDKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS\n\tautolearn=disabled version=4.0.1 OzLabs 8",
        "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"
    },
    "content": "From: Dave Marquardt <davemarq@linux.ibm.com>\n\nMake ibmvfc login to fabric when NPIV login returns SUPPORT_SCSI or\nSUPPORT_NVMEOF capabilities.\n---\n drivers/scsi/ibmvscsi/ibmvfc.c | 100 ++++++++++++++++++++++++++++++++++++++---\n drivers/scsi/ibmvscsi/ibmvfc.h |  20 +++++++++\n 2 files changed, 115 insertions(+), 5 deletions(-)",
    "diff": "diff --git a/drivers/scsi/ibmvscsi/ibmvfc.c b/drivers/scsi/ibmvscsi/ibmvfc.c\nindex 808301fa452d..803fc3caa14d 100644\n--- a/drivers/scsi/ibmvscsi/ibmvfc.c\n+++ b/drivers/scsi/ibmvscsi/ibmvfc.c\n@@ -5205,6 +5205,89 @@ static void ibmvfc_discover_targets(struct ibmvfc_host *vhost)\n \t\tibmvfc_link_down(vhost, IBMVFC_LINK_DEAD);\n }\n \n+static void ibmvfc_fabric_login_done(struct ibmvfc_event *evt)\n+{\n+\tstruct ibmvfc_fabric_login *rsp = &evt->xfer_iu->fabric_login;\n+\tu32 mad_status = be16_to_cpu(rsp->common.status);\n+\tstruct ibmvfc_host *vhost = evt->vhost;\n+\tint level = IBMVFC_DEFAULT_LOG_LEVEL;\n+\n+\tENTER;\n+\n+\tswitch (mad_status) {\n+\tcase IBMVFC_MAD_SUCCESS:\n+\t\tvhost->logged_in = 1;\n+\t\tvhost->fabric_capabilities = rsp->capabilities;\n+\t\tfc_host_port_id(vhost->host) = be64_to_cpu(rsp->nport_id);\n+\t\tibmvfc_free_event(evt);\n+\t\tbreak;\n+\n+\tcase IBMVFC_MAD_FAILED:\n+\t\tif (ibmvfc_retry_cmd(be16_to_cpu(rsp->status), be16_to_cpu(rsp->error)))\n+\t\t\tlevel += ibmvfc_retry_host_init(vhost);\n+\t\telse\n+\t\t\tibmvfc_link_down(vhost, IBMVFC_LINK_DEAD);\n+\t\tibmvfc_log(vhost, level, \"Fabric Login failed: %s (%x:%x)\\n\",\n+\t\t\t   ibmvfc_get_cmd_error(be16_to_cpu(rsp->status), be16_to_cpu(rsp->error)),\n+\t\t\t\t\t\tbe16_to_cpu(rsp->status), be16_to_cpu(rsp->error));\n+\t\tibmvfc_free_event(evt);\n+\t\tLEAVE;\n+\t\treturn;\n+\n+\tcase IBMVFC_MAD_CRQ_ERROR:\n+\t\tibmvfc_retry_host_init(vhost);\n+\t\tfallthrough;\n+\n+\tcase IBMVFC_MAD_DRIVER_FAILED:\n+\t\tibmvfc_free_event(evt);\n+\t\tLEAVE;\n+\t\treturn;\n+\n+\tdefault:\n+\t\tdev_err(vhost->dev, \"Invalid fabric Login response: 0x%x\\n\", mad_status);\n+\t\tibmvfc_link_down(vhost, IBMVFC_LINK_DEAD);\n+\t\tibmvfc_free_event(evt);\n+\t\tLEAVE;\n+\t\treturn;\n+\t}\n+\n+\tibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_QUERY);\n+\twake_up(&vhost->work_wait_q);\n+\n+\tLEAVE;\n+}\n+\n+static void ibmvfc_fabric_login(struct ibmvfc_host *vhost)\n+{\n+\tstruct ibmvfc_fabric_login *mad;\n+\tstruct ibmvfc_event *evt = ibmvfc_get_reserved_event(&vhost->crq);\n+\tint level = IBMVFC_DEFAULT_LOG_LEVEL;\n+\n+\tif (!evt) {\n+\t\tibmvfc_log(vhost, level, \"Fabric Login failed: no available events\\n\");\n+\t\treturn;\n+\t}\n+\n+\tibmvfc_init_event(evt, ibmvfc_fabric_login_done, IBMVFC_MAD_FORMAT);\n+\tmad = &evt->iu.fabric_login;\n+\tmemset(mad, 0, sizeof(*mad));\n+\tif (vhost->scsi_scrqs.protocol == IBMVFC_PROTO_SCSI)\n+\t\tmad->common.opcode = cpu_to_be32(IBMVFC_FABRIC_LOGIN);\n+\telse if (vhost->scsi_scrqs.protocol == IBMVFC_PROTO_NVME)\n+\t\tmad->common.opcode = cpu_to_be32(IBMVFC_NVMF_FABRIC_LOGIN);\n+\telse {\n+\t\tibmvfc_log(vhost, level, \"Fabric Login failed: unknown protocol\\n\");\n+\t\treturn;\n+\t}\n+\tmad->common.version = cpu_to_be32(1);\n+\tmad->common.length = cpu_to_be16(sizeof(*mad));\n+\n+\tibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_INIT_WAIT);\n+\n+\tif (ibmvfc_send_event(evt, vhost, default_timeout))\n+\t\tibmvfc_link_down(vhost, IBMVFC_LINK_DOWN);\n+}\n+\n static void ibmvfc_channel_setup_done(struct ibmvfc_event *evt)\n {\n \tstruct ibmvfc_host *vhost = evt->vhost;\n@@ -5251,8 +5334,12 @@ static void ibmvfc_channel_setup_done(struct ibmvfc_event *evt)\n \t\treturn;\n \t}\n \n-\tibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_QUERY);\n-\twake_up(&vhost->work_wait_q);\n+\tif (ibmvfc_check_caps(vhost, (IBMVFC_SUPPORT_SCSI | IBMVFC_SUPPORT_NVMEOF))) {\n+\t\tibmvfc_fabric_login(vhost);\n+\t} else {\n+\t\tibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_QUERY);\n+\t\twake_up(&vhost->work_wait_q);\n+\t}\n }\n \n static void ibmvfc_channel_setup(struct ibmvfc_host *vhost)\n@@ -5443,9 +5530,12 @@ static void ibmvfc_npiv_login_done(struct ibmvfc_event *evt)\n \tvhost->host->can_queue = be32_to_cpu(rsp->max_cmds) - IBMVFC_NUM_INTERNAL_REQ;\n \tvhost->host->max_sectors = npiv_max_sectors;\n \n-\tif (ibmvfc_check_caps(vhost, IBMVFC_CAN_SUPPORT_CHANNELS) && vhost->do_enquiry) {\n-\t\tibmvfc_channel_enquiry(vhost);\n-\t} else {\n+\tif (ibmvfc_check_caps(vhost, IBMVFC_CAN_SUPPORT_CHANNELS)) {\n+\t\tif (vhost->do_enquiry)\n+\t\t\tibmvfc_channel_enquiry(vhost);\n+\t} else if (ibmvfc_check_caps(vhost, (IBMVFC_SUPPORT_SCSI | IBMVFC_SUPPORT_NVMEOF)))\n+\t\tibmvfc_fabric_login(vhost);\n+\telse {\n \t\tvhost->do_enquiry = 0;\n \t\tibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_QUERY);\n \t\twake_up(&vhost->work_wait_q);\ndiff --git a/drivers/scsi/ibmvscsi/ibmvfc.h b/drivers/scsi/ibmvscsi/ibmvfc.h\nindex cd0917f70c6d..4f680c5d9558 100644\n--- a/drivers/scsi/ibmvscsi/ibmvfc.h\n+++ b/drivers/scsi/ibmvscsi/ibmvfc.h\n@@ -138,6 +138,8 @@ enum ibmvfc_mad_types {\n \tIBMVFC_CHANNEL_ENQUIRY\t= 0x1000,\n \tIBMVFC_CHANNEL_SETUP\t= 0x2000,\n \tIBMVFC_CONNECTION_INFO\t= 0x4000,\n+\tIBMVFC_FABRIC_LOGIN\t= 0x8000,\n+\tIBMVFC_NVMF_FABRIC_LOGIN\t= 0x8001,\n };\n \n struct ibmvfc_mad_common {\n@@ -227,6 +229,8 @@ struct ibmvfc_npiv_login_resp {\n #define IBMVFC_MAD_VERSION_CAP\t\t0x20\n #define IBMVFC_HANDLE_VF_WWPN\t\t0x40\n #define IBMVFC_CAN_SUPPORT_CHANNELS\t0x80\n+#define IBMVFC_SUPPORT_NVMEOF\t\t0x100\n+#define IBMVFC_SUPPORT_SCSI\t\t0x200\n #define IBMVFC_SUPPORT_NOOP_CMD\t\t0x1000\n \t__be32 max_cmds;\n \t__be32 scsi_id_sz;\n@@ -590,6 +594,19 @@ struct ibmvfc_connection_info {\n \t__be64 reserved[16];\n } __packed __aligned(8);\n \n+struct ibmvfc_fabric_login {\n+\tstruct ibmvfc_mad_common common;\n+\t__be64 flags;\n+#define IBMVFC_STRIP_MERGE\t0x1\n+#define IBMVFC_LINK_COMMANDS\t0x2\n+\t__be64 capabilities;\n+\t__be64 nport_id;\n+\t__be16 status;\n+\t__be16 error;\n+\t__be32 pad;\n+\t__be64 reserved[16];\n+} __packed __aligned(8);\n+\n struct ibmvfc_trace_start_entry {\n \tu32 xfer_len;\n } __packed;\n@@ -709,6 +726,7 @@ union ibmvfc_iu {\n \tstruct ibmvfc_channel_enquiry channel_enquiry;\n \tstruct ibmvfc_channel_setup_mad channel_setup;\n \tstruct ibmvfc_connection_info connection_info;\n+\tstruct ibmvfc_fabric_login fabric_login;\n } __packed __aligned(8);\n \n enum ibmvfc_target_action {\n@@ -921,6 +939,8 @@ struct ibmvfc_host {\n \tstruct work_struct rport_add_work_q;\n \twait_queue_head_t init_wait_q;\n \twait_queue_head_t work_wait_q;\n+\t__be64 fabric_capabilities;\n+\tunsigned int login_cap_index;\n };\n \n #define DBG_CMD(CMD) do { if (ibmvfc_debug) CMD; } while (0)\n",
    "prefixes": [
        "3/5"
    ]
}