From patchwork Mon Oct 17 16:43:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Justin Tee X-Patchwork-Id: 13009026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4ABC8C4332F for ; Mon, 17 Oct 2022 16:35:33 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229797AbiJQQfb (ORCPT ); Mon, 17 Oct 2022 12:35:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59950 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230096AbiJQQf3 (ORCPT ); Mon, 17 Oct 2022 12:35:29 -0400 Received: from mail-qk1-x72e.google.com (mail-qk1-x72e.google.com [IPv6:2607:f8b0:4864:20::72e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4177E51A21 for ; Mon, 17 Oct 2022 09:35:28 -0700 (PDT) Received: by mail-qk1-x72e.google.com with SMTP id d13so6969630qko.5 for ; Mon, 17 Oct 2022 09:35:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=A8NMre4QGtyFkZKy2qLyczfF7yFuzFP9jEXRo5AiHqI=; b=HQqZXtXe27btppP5FyDjFaJml1tbQD6DEyEKyGgNebA7UGtjDI4N/X0Qbsrp2SIx46 f9n1WOn3i+6UgNehm0r+VVmjS5LsDysUMlNevDaZgKb6i4e91gqCAUNibah4Jao19tal 0dJ0+J5qmANgySL7Bo4g8H43LNTsJhWfO6ccx+VPx5A5i09eJpQu54ecRRlVs9g+0pD+ nuXtvQ/xGh9Td7qscNabR7Pv08gzB++jW0Rngwa1XumxjDLSO9PBCLR249DVnggfAft6 /On0brIaKHrnCb/N/8Hnif0+RqixKFyU4PPQfcYOwXgnyPb89EsQK3LBcd1sNMFIU7yA 15Bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=A8NMre4QGtyFkZKy2qLyczfF7yFuzFP9jEXRo5AiHqI=; b=GfiglJigzvyvqY7WHEk8ciinhj/cxNFC2P1dzPeWaBmZaLX42H5NZ3Ef20rqJb62qg SKo6oVMnoQgAAZmMRbCNW+tg5tKl17X/B1rynuG3xX8B6jEimlqi1LPb8FO/syenIv2u dY1zzEmQcHORQeCev348g9waWo74JWZrlMFGftC5QrqGc89VVh6v6Af9FAsuZEWTiY+h 1FINcDwSDg6AglQluCg8Kau7/tuzXIPAMO0Bjv+rUHo83iWxdEd29f5nIjYqbyJye3zR Q3AFqoN5pszh+lZn4zy7S3d4N85q8RTqfsjJ6YZnvU1bpJ4ZT/dxsuotZ5xNgbp89oMO EsQA== X-Gm-Message-State: ACrzQf1xfxoneML/tct33on0ZZf+6VoUJJ1GrszEI6bXTCXQ/1nn1bH8 v2f1UNhWKSG1hYElWOjd+QX/B1LuL88= X-Google-Smtp-Source: AMsMyM6ZutpS47cxUTV9H3d14BUNdz2eTl1gu/U1A1dJiLmpiv5TuVqmA6Dz/J6SgtSvbbtn3A+F2Q== X-Received: by 2002:a37:30c:0:b0:6ee:a5d0:e91f with SMTP id 12-20020a37030c000000b006eea5d0e91fmr8213885qkd.309.1666024527086; Mon, 17 Oct 2022 09:35:27 -0700 (PDT) Received: from dhcp-10-231-55-133.dhcp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r2-20020ae9d602000000b006ceb933a9fesm152235qkk.81.2022.10.17.09.35.25 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Oct 2022 09:35:26 -0700 (PDT) From: Justin Tee To: linux-scsi@vger.kernel.org Cc: jsmart2021@gmail.com, Justin Tee , Justin Tee Subject: [PATCH 1/5] lpfc: Set sli4_param's cmf option to zero when CMF is turned off Date: Mon, 17 Oct 2022 09:43:19 -0700 Message-Id: <20221017164323.14536-1-justintee8345@gmail.com> X-Mailer: git-send-email 2.38.0.83.gd420dda057 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org Add missed clearing of phba->sli4_hba.pc_sli4_params.cmf when CMF is turned off. Signed-off-by: Justin Tee --- drivers/scsi/lpfc/lpfc_sli.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c index 99d06dc7ddf6..768294b9bc0b 100644 --- a/drivers/scsi/lpfc/lpfc_sli.c +++ b/drivers/scsi/lpfc/lpfc_sli.c @@ -8354,6 +8354,7 @@ lpfc_cmf_setup(struct lpfc_hba *phba) phba->cgn_i = NULL; /* Ensure CGN Mode is off */ phba->cmf_active_mode = LPFC_CFG_OFF; + sli4_params->cmf = 0; return 0; } } From patchwork Mon Oct 17 16:43:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Justin Tee X-Patchwork-Id: 13009027 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 83551C433FE for ; Mon, 17 Oct 2022 16:35:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229960AbiJQQfk (ORCPT ); Mon, 17 Oct 2022 12:35:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60208 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229898AbiJQQfj (ORCPT ); Mon, 17 Oct 2022 12:35:39 -0400 Received: from mail-qt1-x82b.google.com (mail-qt1-x82b.google.com [IPv6:2607:f8b0:4864:20::82b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9BAAC3B975 for ; Mon, 17 Oct 2022 09:35:38 -0700 (PDT) Received: by mail-qt1-x82b.google.com with SMTP id h24so7703597qta.7 for ; Mon, 17 Oct 2022 09:35:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ptDyamYofHoy/erqE6WWoA4EsxdHTu9VdtG5MEtr8E0=; b=ax5+RwyHDFR4h3iMfan47kvNEaq+hM1pnpz3PHuA3uYp+IJS24sv81TY27aQ9ufJ4Q OFJiNp166HsgqGtflrXat2UldH3DEeeEjiriZrqcO4+UpDRSoL6ankXsmvG5lyS57fjV qbtqKzMf1ejqqh6xRY3y3ngC6bREQZZKnX6Rv38p2r+szJkG9XHPcqZYzbN/D/78/HGu 6qhUQZhWtCtK0UWN8HY5jIrB5A6QRLUx6MLUuPovHyLXUHCG5z0iEDcrcQpnlzoec4yp ooTJ8C0lTICeOial3QGdSy6aWMNfG5yuR8fnDvWnYWsovr3QIkNWM7Go+5WaZTq2Wz0q Unpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ptDyamYofHoy/erqE6WWoA4EsxdHTu9VdtG5MEtr8E0=; b=V+8Tel1/pzCDjmaIOknnlsz3w3g5b98k5cm1NdfiUWDbwTT/gymKxCnnx17gUF9b6F 35JukVWVra0cAuT6oaMn6hkxlygcBo1nEtr1dwNkSFCdx0AUGxq99DZSv1JhQJ4wG0B7 KpofvovDZBoumEuQfzRZMcSm6ucUJQRYYwHbHtBirsZ8o4sv5RerwW/RQEtBdS+Mkr6z NogodQ8QDEj1mnXCZ0IhWRI8WecKkkSObSfIdGuPeWU6qknFGrDHB2PaAglLugHLUkdo +KYBzlZdRYQlZlViiyHdaeDkryO0jOwMYu6J9Fnzru4hQ59IVjAO3Kd0qi21fsgn1Jcp v1ZQ== X-Gm-Message-State: ACrzQf2d3hQrg6qdquVOWh/jXkSGyti8l4a8PRNW4KHNXcr2DnbaDvC5 BIgJRc1txx6WrjjpInXtUiabFoYoKHI= X-Google-Smtp-Source: AMsMyM6sqNFdjO14ZYHUIY5Ai2b2WBaj/ojZBa0rS5fJHaWKK2mSn0o/zqTv9v1gfVllwbvl4bBf+w== X-Received: by 2002:ac8:7d49:0:b0:399:d201:840b with SMTP id h9-20020ac87d49000000b00399d201840bmr9623921qtb.309.1666024537642; Mon, 17 Oct 2022 09:35:37 -0700 (PDT) Received: from dhcp-10-231-55-133.dhcp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r2-20020ae9d602000000b006ceb933a9fesm152235qkk.81.2022.10.17.09.35.36 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Oct 2022 09:35:37 -0700 (PDT) From: Justin Tee To: linux-scsi@vger.kernel.org Cc: jsmart2021@gmail.com, Justin Tee , Justin Tee Subject: [PATCH 2/5] lpfc: Fix hard lockup when reading the rx_monitor from debugfs Date: Mon, 17 Oct 2022 09:43:20 -0700 Message-Id: <20221017164323.14536-2-justintee8345@gmail.com> X-Mailer: git-send-email 2.38.0.83.gd420dda057 In-Reply-To: <20221017164323.14536-1-justintee8345@gmail.com> References: <20221017164323.14536-1-justintee8345@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org During I/O and simultaneous cat of /sys/kernel/debug/lpfc/fnX/rx_monitor, a hard lockup similar to the call trace below may occur. The spin_lock_bh in lpfc_rx_monitor_report is not protecting from timer interrupts as expected, so change the strength of the spin lock to _irq. Kernel panic - not syncing: Hard LOCKUP CPU: 3 PID: 110402 Comm: cat Kdump: loaded exception RIP: native_queued_spin_lock_slowpath+91 [IRQ stack] native_queued_spin_lock_slowpath at ffffffffb814e30b _raw_spin_lock at ffffffffb89a667a lpfc_rx_monitor_record at ffffffffc0a73a36 [lpfc] lpfc_cmf_timer at ffffffffc0abbc67 [lpfc] __hrtimer_run_queues at ffffffffb8184250 hrtimer_interrupt at ffffffffb8184ab0 smp_apic_timer_interrupt at ffffffffb8a026ba apic_timer_interrupt at ffffffffb8a01c4f [End of IRQ stack] apic_timer_interrupt at ffffffffb8a01c4f lpfc_rx_monitor_report at ffffffffc0a73c80 [lpfc] lpfc_rx_monitor_read at ffffffffc0addde1 [lpfc] full_proxy_read at ffffffffb83e7fc3 vfs_read at ffffffffb833fe71 ksys_read at ffffffffb83402af do_syscall_64 at ffffffffb800430b entry_SYSCALL_64_after_hwframe at ffffffffb8a000ad Signed-off-by: Justin Tee --- drivers/scsi/lpfc/lpfc_sli.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c index 768294b9bc0b..86ba45ac91c8 100644 --- a/drivers/scsi/lpfc/lpfc_sli.c +++ b/drivers/scsi/lpfc/lpfc_sli.c @@ -8150,10 +8150,10 @@ u32 lpfc_rx_monitor_report(struct lpfc_hba *phba, "IO_cnt", "Info", "BWutil(ms)"); } - /* Needs to be _bh because record is called from timer interrupt + /* Needs to be _irq because record is called from timer interrupt * context */ - spin_lock_bh(ring_lock); + spin_lock_irq(ring_lock); while (*head_idx != *tail_idx) { entry = &ring[*head_idx]; @@ -8197,7 +8197,7 @@ u32 lpfc_rx_monitor_report(struct lpfc_hba *phba, if (cnt >= max_read_entries) break; } - spin_unlock_bh(ring_lock); + spin_unlock_irq(ring_lock); return cnt; } From patchwork Mon Oct 17 16:43:21 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Justin Tee X-Patchwork-Id: 13009028 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7AC59C433FE for ; Mon, 17 Oct 2022 16:35:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229965AbiJQQfq (ORCPT ); Mon, 17 Oct 2022 12:35:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60304 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229898AbiJQQfp (ORCPT ); Mon, 17 Oct 2022 12:35:45 -0400 Received: from mail-qk1-x736.google.com (mail-qk1-x736.google.com [IPv6:2607:f8b0:4864:20::736]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1A8AA642EE for ; Mon, 17 Oct 2022 09:35:44 -0700 (PDT) Received: by mail-qk1-x736.google.com with SMTP id t25so6978319qkm.2 for ; Mon, 17 Oct 2022 09:35:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ir1jATq+agAdz0wDmIw25l9q7fuV09eeZfqEofI1bGQ=; b=dGRwYm609S2iDQQCw76sVvdLxJWWv7xDSxDNvXTN9kUK+6og1b9IiQ+X6Wz6WViRDM LcrqFX5jPKRDMDS3/IeeWld7VW794yb4UqkuEhLpbkIIrrG6z+MJ+41q8FYAEs47QDCc TpoTL5IOsQzwxE1GTS6lXb86bwQE5asG2629vnwQf+eTeEAHIa19gKAHkCt0A5iSrT+J /lMb41s6c+vLDHVIGpmJq6m0ur58wm4SSbv/i2/YQEEKQYjGfbE4cgEtWLawNNDqyWOg LW5K5VSazNlMHkbC1UL9Zmm7+1Bp8ieHigMQtmbumOhQTEYtWNshXfJEpztcNAFsIe3Q Gp7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ir1jATq+agAdz0wDmIw25l9q7fuV09eeZfqEofI1bGQ=; b=uUxxz8QCYUk4q9CULy+GIclohceMXOtVllZlICTVKDvADL7OATbMk7wgbux31WAIfG pPQhaTzYZ3b6bzy1bT7hUl2XoLdd6cCOKH28egjDQGnDA3JXPHirRtnVQQ4yONGlkNsq 7T10oR4dXjyfZpkZ9qv71EWgTd6ebieeAAKFeo8WBjMozwvk9fEH6b1mWYKItY7wU9/s nVcLyM1wpkUHiq5AqsZiNnBsrh8lnKMJ7cLJg8icoHWM6bdXh0gfXXddrgLr+Z3fBAgF nEZlmLHdt9KZLjV2tROD7guKmh7MTrsUI+lOqY2D9ldKSegmcHqFmYC8FrBBo6Lm6PUc fqlQ== X-Gm-Message-State: ACrzQf1BhbkQzBLBP13+Qnvz/bENEK9Th6LOYWuQDAF+FAlFwV8b2PPH 4320dsYr4jTtLXP+NeLdtBa8znxbSYo= X-Google-Smtp-Source: AMsMyM7xwHdMENwlSyFNikSyjfD1hblB1zJKIUxqEIGEhM80GrZ6NtumUwjv0Hm+dN9uofNa4T8JnA== X-Received: by 2002:a05:620a:408e:b0:6da:aac5:390d with SMTP id f14-20020a05620a408e00b006daaac5390dmr8151780qko.745.1666024543091; Mon, 17 Oct 2022 09:35:43 -0700 (PDT) Received: from dhcp-10-231-55-133.dhcp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r2-20020ae9d602000000b006ceb933a9fesm152235qkk.81.2022.10.17.09.35.42 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Oct 2022 09:35:42 -0700 (PDT) From: Justin Tee To: linux-scsi@vger.kernel.org Cc: jsmart2021@gmail.com, Justin Tee , Justin Tee Subject: [PATCH 3/5] lpfc: Log when congestion management limits are in effect Date: Mon, 17 Oct 2022 09:43:21 -0700 Message-Id: <20221017164323.14536-3-justintee8345@gmail.com> X-Mailer: git-send-email 2.38.0.83.gd420dda057 In-Reply-To: <20221017164323.14536-1-justintee8345@gmail.com> References: <20221017164323.14536-1-justintee8345@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org When bandwidth reduces from or recovers back to 100% due to congestion management, log the event. Signed-off-by: Justin Tee --- drivers/scsi/lpfc/lpfc_sli.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c index 86ba45ac91c8..d25afc9dde14 100644 --- a/drivers/scsi/lpfc/lpfc_sli.c +++ b/drivers/scsi/lpfc/lpfc_sli.c @@ -1848,6 +1848,18 @@ lpfc_cmf_sync_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb, phba->cmf_link_byte_count); bwpcent = div64_u64(bw * 100 + slop, phba->cmf_link_byte_count); + + if (phba->cmf_max_bytes_per_interval < bw && + bwpcent > 95) + lpfc_printf_log(phba, KERN_INFO, LOG_CGN_MGMT, + "6208 Congestion bandwidth " + "limits removed\n"); + else if ((phba->cmf_max_bytes_per_interval > bw) && + ((bwpcent + pcent) <= 100) && ((bwpcent + pcent) > 95)) + lpfc_printf_log(phba, KERN_INFO, LOG_CGN_MGMT, + "6209 Congestion bandwidth " + "limits in effect\n"); + if (asig) { lpfc_printf_log(phba, KERN_INFO, LOG_CGN_MGMT, "6237 BW Threshold %lld%% (%lld): " From patchwork Mon Oct 17 16:43:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Justin Tee X-Patchwork-Id: 13009029 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1E31EC433FE for ; Mon, 17 Oct 2022 16:35:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230120AbiJQQfw (ORCPT ); Mon, 17 Oct 2022 12:35:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60366 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230119AbiJQQft (ORCPT ); Mon, 17 Oct 2022 12:35:49 -0400 Received: from mail-qv1-xf31.google.com (mail-qv1-xf31.google.com [IPv6:2607:f8b0:4864:20::f31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0027A6E2D1 for ; Mon, 17 Oct 2022 09:35:47 -0700 (PDT) Received: by mail-qv1-xf31.google.com with SMTP id i9so7766006qvo.0 for ; Mon, 17 Oct 2022 09:35:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=v/JEMZmB8xu7y8UA8xYb5uojCLoWGBJGrgr2TehQ90M=; b=pag4SqbM3h2O4wlveVcpNs1SqSfkkqash9BvmaC2PX/z0BRiGqHcywbFB9JJWTdr/1 vkSTTQDTEGSL6DPF/1+IofpLb5EXw0DMFw032Bmn4SJ5VwwxqaUowcWCgho4tnjo2GtF SJh8T+wvR0OsI5PVEFu8RWhRsCmdovuO0QkoucRr+ntq0mAH+1OGVfqRPOga8wCIZQhw GvhU7I+2TvRaEaJkZGOweOf95vJd17J49wFBCPj+CAJzK55RvuF2G4urtUII2VDQookK l1rbicBvRHzat73yuxgq7fhunEKIJfhKnwUVCLcBONahleGmEnmos9pELE089h6/ZEjO HYMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=v/JEMZmB8xu7y8UA8xYb5uojCLoWGBJGrgr2TehQ90M=; b=b4oo3d1AzAt5ZkLr0c+n7U9/Wg3D5pXimSpinb/JKXi2Qa1Vfx0JndqUOJwdS1Jv0I IJjaO4Tug+NIMYQi2mmrNEmsYACyrSXj1cxXqwYhlqE1fvs9bdSZCr4XA69BzkLi8/9J OXPlTaCeVTmnTpvyXigN3iH3h7OPdQ8Q8FZ0INKP4G00TfRbGzFCDB6cYjyYIuCSgkCE OGonsjrN9yF7L/lX1rDPH44gDxu2i0rQRbGndfmHptoGP6LvnNDs+dUD3d2lN66qMu1M SMVyjxp/9O50E1sg6cl+0/bEl6k7IDxAUggo96UvZ2g+IizZA0Xm3St/J/tI4BFZdVk7 cGSw== X-Gm-Message-State: ACrzQf3kwxfJFpZWRYRpjUrPLrfDhQ/yi52AvKdntT2ZDZkyilMDdfsS BEi+A354FNZutp0Hq6l7iGxtJpLXqo0= X-Google-Smtp-Source: AMsMyM7APb3rpeABFLsxuMpwuHes44u7oCN2896TRiKEaOxLXc73/aPM7vCSwMRsBv4s0yR0eVO+6w== X-Received: by 2002:a05:6214:1c85:b0:4af:7393:3d91 with SMTP id ib5-20020a0562141c8500b004af73933d91mr9115127qvb.74.1666024546873; Mon, 17 Oct 2022 09:35:46 -0700 (PDT) Received: from dhcp-10-231-55-133.dhcp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r2-20020ae9d602000000b006ceb933a9fesm152235qkk.81.2022.10.17.09.35.45 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Oct 2022 09:35:46 -0700 (PDT) From: Justin Tee To: linux-scsi@vger.kernel.org Cc: jsmart2021@gmail.com, Justin Tee , Justin Tee Subject: [PATCH 4/5] lpfc: Create a sysfs entry called lpfc_xcvr_data for transceiver info Date: Mon, 17 Oct 2022 09:43:22 -0700 Message-Id: <20221017164323.14536-4-justintee8345@gmail.com> X-Mailer: git-send-email 2.38.0.83.gd420dda057 In-Reply-To: <20221017164323.14536-1-justintee8345@gmail.com> References: <20221017164323.14536-1-justintee8345@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org The DUMP_MEMORY mailbox command is implemented for page A0 and A2 to retrieve transceiver information from firmware. The mailbox command output is then formatted to print raw data values for userspace to parse via sysfs. Signed-off-by: Justin Tee --- drivers/scsi/lpfc/lpfc_attr.c | 118 +++++++++++++++++++++++++++++++ drivers/scsi/lpfc/lpfc_crtn.h | 3 + drivers/scsi/lpfc/lpfc_els.c | 128 ++++++++++++++++++++++++++++++++++ drivers/scsi/lpfc/lpfc_hw4.h | 5 +- 4 files changed, 252 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c index ef1481326fd7..030ad1d59cbd 100644 --- a/drivers/scsi/lpfc/lpfc_attr.c +++ b/drivers/scsi/lpfc/lpfc_attr.c @@ -1877,6 +1877,122 @@ lpfc_set_trunking(struct lpfc_hba *phba, char *buff_out) return 0; } +static ssize_t +lpfc_xcvr_data_show(struct device *dev, struct device_attribute *attr, + char *buf) +{ + struct Scsi_Host *shost = class_to_shost(dev); + struct lpfc_vport *vport = (struct lpfc_vport *)shost->hostdata; + struct lpfc_hba *phba = vport->phba; + int rc; + int len = 0; + struct lpfc_rdp_context *rdp_context; + u16 temperature; + u16 rx_power; + u16 tx_bias; + u16 tx_power; + u16 vcc; + char chbuf[128]; + u16 wavelength = 0; + struct sff_trasnceiver_codes_byte7 *trasn_code_byte7; + + /* Get transceiver information */ + rdp_context = kmalloc(sizeof(*rdp_context), GFP_KERNEL); + + rc = lpfc_get_sfp_info_wait(phba, rdp_context); + if (rc) { + len = scnprintf(buf, PAGE_SIZE - len, "SFP info NA:\n"); + goto out_free_rdp; + } + + strncpy(chbuf, &rdp_context->page_a0[SSF_VENDOR_NAME], 16); + chbuf[16] = 0; + + len = scnprintf(buf, PAGE_SIZE - len, "VendorName:\t%s\n", chbuf); + len += scnprintf(buf + len, PAGE_SIZE - len, + "VendorOUI:\t%02x-%02x-%02x\n", + (uint8_t)rdp_context->page_a0[SSF_VENDOR_OUI], + (uint8_t)rdp_context->page_a0[SSF_VENDOR_OUI + 1], + (uint8_t)rdp_context->page_a0[SSF_VENDOR_OUI + 2]); + strncpy(chbuf, &rdp_context->page_a0[SSF_VENDOR_PN], 16); + chbuf[16] = 0; + len += scnprintf(buf + len, PAGE_SIZE - len, "VendorPN:\t%s\n", chbuf); + strncpy(chbuf, &rdp_context->page_a0[SSF_VENDOR_SN], 16); + chbuf[16] = 0; + len += scnprintf(buf + len, PAGE_SIZE - len, "VendorSN:\t%s\n", chbuf); + strncpy(chbuf, &rdp_context->page_a0[SSF_VENDOR_REV], 4); + chbuf[4] = 0; + len += scnprintf(buf + len, PAGE_SIZE - len, "VendorRev:\t%s\n", chbuf); + strncpy(chbuf, &rdp_context->page_a0[SSF_DATE_CODE], 8); + chbuf[8] = 0; + len += scnprintf(buf + len, PAGE_SIZE - len, "DateCode:\t%s\n", chbuf); + len += scnprintf(buf + len, PAGE_SIZE - len, "Identifier:\t%xh\n", + (uint8_t)rdp_context->page_a0[SSF_IDENTIFIER]); + len += scnprintf(buf + len, PAGE_SIZE - len, "ExtIdentifier:\t%xh\n", + (uint8_t)rdp_context->page_a0[SSF_EXT_IDENTIFIER]); + len += scnprintf(buf + len, PAGE_SIZE - len, "Connector:\t%xh\n", + (uint8_t)rdp_context->page_a0[SSF_CONNECTOR]); + wavelength = (rdp_context->page_a0[SSF_WAVELENGTH_B1] << 8) | + rdp_context->page_a0[SSF_WAVELENGTH_B0]; + + len += scnprintf(buf + len, PAGE_SIZE - len, "Wavelength:\t%d nm\n", + wavelength); + trasn_code_byte7 = (struct sff_trasnceiver_codes_byte7 *) + &rdp_context->page_a0[SSF_TRANSCEIVER_CODE_B7]; + + len += scnprintf(buf + len, PAGE_SIZE - len, "Speeds: \t"); + if (*(uint8_t *)trasn_code_byte7 == 0) { + len += scnprintf(buf + len, PAGE_SIZE - len, + "Unknown\n"); + } else { + if (trasn_code_byte7->fc_sp_100MB) + len += scnprintf(buf + len, PAGE_SIZE - len, + "1 "); + if (trasn_code_byte7->fc_sp_200mb) + len += scnprintf(buf + len, PAGE_SIZE - len, + "2 "); + if (trasn_code_byte7->fc_sp_400MB) + len += scnprintf(buf + len, PAGE_SIZE - len, + "4 "); + if (trasn_code_byte7->fc_sp_800MB) + len += scnprintf(buf + len, PAGE_SIZE - len, + "8 "); + if (trasn_code_byte7->fc_sp_1600MB) + len += scnprintf(buf + len, PAGE_SIZE - len, + "16 "); + if (trasn_code_byte7->fc_sp_3200MB) + len += scnprintf(buf + len, PAGE_SIZE - len, + "32 "); + if (trasn_code_byte7->speed_chk_ecc) + len += scnprintf(buf + len, PAGE_SIZE - len, + "64 "); + len += scnprintf(buf + len, PAGE_SIZE - len, "GB\n"); + } + temperature = (rdp_context->page_a2[SFF_TEMPERATURE_B1] << 8 | + rdp_context->page_a2[SFF_TEMPERATURE_B0]); + vcc = (rdp_context->page_a2[SFF_VCC_B1] << 8 | + rdp_context->page_a2[SFF_VCC_B0]); + tx_power = (rdp_context->page_a2[SFF_TXPOWER_B1] << 8 | + rdp_context->page_a2[SFF_TXPOWER_B0]); + tx_bias = (rdp_context->page_a2[SFF_TX_BIAS_CURRENT_B1] << 8 | + rdp_context->page_a2[SFF_TX_BIAS_CURRENT_B0]); + rx_power = (rdp_context->page_a2[SFF_RXPOWER_B1] << 8 | + rdp_context->page_a2[SFF_RXPOWER_B0]); + + len += scnprintf(buf + len, PAGE_SIZE - len, + "Temperature:\tx%04x C\n", temperature); + len += scnprintf(buf + len, PAGE_SIZE - len, "Vcc:\t\tx%04x V\n", vcc); + len += scnprintf(buf + len, PAGE_SIZE - len, + "TxBiasCurrent:\tx%04x mA\n", tx_bias); + len += scnprintf(buf + len, PAGE_SIZE - len, "TxPower:\tx%04x mW\n", + tx_power); + len += scnprintf(buf + len, PAGE_SIZE - len, "RxPower:\tx%04x mW\n", + rx_power); +out_free_rdp: + kfree(rdp_context); + return len; +} + /** * lpfc_board_mode_show - Return the state of the board * @dev: class device that is converted into a Scsi_host. @@ -2810,6 +2926,7 @@ static DEVICE_ATTR_RO(lpfc_drvr_version); static DEVICE_ATTR_RO(lpfc_enable_fip); static DEVICE_ATTR(board_mode, S_IRUGO | S_IWUSR, lpfc_board_mode_show, lpfc_board_mode_store); +static DEVICE_ATTR_RO(lpfc_xcvr_data); static DEVICE_ATTR(issue_reset, S_IWUSR, NULL, lpfc_issue_reset); static DEVICE_ATTR(max_vpi, S_IRUGO, lpfc_max_vpi_show, NULL); static DEVICE_ATTR(used_vpi, S_IRUGO, lpfc_used_vpi_show, NULL); @@ -5906,6 +6023,7 @@ static struct attribute *lpfc_hba_attrs[] = { &dev_attr_lpfc_fcp_wait_abts_rsp.attr, &dev_attr_nport_evt_cnt.attr, &dev_attr_board_mode.attr, + &dev_attr_lpfc_xcvr_data.attr, &dev_attr_max_vpi.attr, &dev_attr_used_vpi.attr, &dev_attr_max_rpi.attr, diff --git a/drivers/scsi/lpfc/lpfc_crtn.h b/drivers/scsi/lpfc/lpfc_crtn.h index d2d207791056..8928f016d09e 100644 --- a/drivers/scsi/lpfc/lpfc_crtn.h +++ b/drivers/scsi/lpfc/lpfc_crtn.h @@ -687,3 +687,6 @@ int lpfc_issue_els_qfpa(struct lpfc_vport *vport); void lpfc_sli_rpi_release(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp); + +int lpfc_get_sfp_info_wait(struct lpfc_hba *phba, + struct lpfc_rdp_context *rdp_context); diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index 863b2125fed6..2b03210264bb 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c @@ -7190,6 +7190,134 @@ lpfc_get_rdp_info(struct lpfc_hba *phba, struct lpfc_rdp_context *rdp_context) return 1; } +int lpfc_get_sfp_info_wait(struct lpfc_hba *phba, + struct lpfc_rdp_context *rdp_context) +{ + LPFC_MBOXQ_t *mbox = NULL; + int rc; + struct lpfc_dmabuf *mp; + struct lpfc_dmabuf *mpsave; + void *virt; + MAILBOX_t *mb; + + mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); + if (!mbox) { + lpfc_printf_log(phba, KERN_WARNING, LOG_MBOX | LOG_ELS, + "7205 failed to allocate mailbox memory"); + return 1; + } + + if (lpfc_sli4_dump_page_a0(phba, mbox)) + goto sfp_fail; + mp = mbox->ctx_buf; + mpsave = mp; + virt = mp->virt; + if (phba->sli_rev < LPFC_SLI_REV4) { + mb = &mbox->u.mb; + mb->un.varDmp.cv = 1; + mb->un.varDmp.co = 1; + mb->un.varWords[2] = 0; + mb->un.varWords[3] = DMP_SFF_PAGE_A0_SIZE / 4; + mb->un.varWords[4] = 0; + mb->un.varWords[5] = 0; + mb->un.varWords[6] = 0; + mb->un.varWords[7] = 0; + mb->un.varWords[8] = 0; + mb->un.varWords[9] = 0; + mb->un.varWords[10] = 0; + mbox->in_ext_byte_len = DMP_SFF_PAGE_A0_SIZE; + mbox->out_ext_byte_len = DMP_SFF_PAGE_A0_SIZE; + mbox->mbox_offset_word = 5; + mbox->ctx_buf = virt; + } else { + bf_set(lpfc_mbx_memory_dump_type3_length, + &mbox->u.mqe.un.mem_dump_type3, DMP_SFF_PAGE_A0_SIZE); + mbox->u.mqe.un.mem_dump_type3.addr_lo = putPaddrLow(mp->phys); + mbox->u.mqe.un.mem_dump_type3.addr_hi = putPaddrHigh(mp->phys); + } + mbox->vport = phba->pport; + mbox->ctx_ndlp = (struct lpfc_rdp_context *)rdp_context; + + rc = lpfc_sli_issue_mbox_wait(phba, mbox, 30); + if (rc == MBX_NOT_FINISHED) { + rc = 1; + goto error; + } + + if (phba->sli_rev == LPFC_SLI_REV4) + mp = (struct lpfc_dmabuf *)(mbox->ctx_buf); + else + mp = mpsave; + + if (bf_get(lpfc_mqe_status, &mbox->u.mqe)) { + rc = 1; + goto error; + } + + lpfc_sli_bemem_bcopy(mp->virt, &rdp_context->page_a0, + DMP_SFF_PAGE_A0_SIZE); + + memset(mbox, 0, sizeof(*mbox)); + memset(mp->virt, 0, DMP_SFF_PAGE_A2_SIZE); + INIT_LIST_HEAD(&mp->list); + + /* save address for completion */ + mbox->ctx_buf = mp; + mbox->vport = phba->pport; + + bf_set(lpfc_mqe_command, &mbox->u.mqe, MBX_DUMP_MEMORY); + bf_set(lpfc_mbx_memory_dump_type3_type, + &mbox->u.mqe.un.mem_dump_type3, DMP_LMSD); + bf_set(lpfc_mbx_memory_dump_type3_link, + &mbox->u.mqe.un.mem_dump_type3, phba->sli4_hba.physical_port); + bf_set(lpfc_mbx_memory_dump_type3_page_no, + &mbox->u.mqe.un.mem_dump_type3, DMP_PAGE_A2); + if (phba->sli_rev < LPFC_SLI_REV4) { + mb = &mbox->u.mb; + mb->un.varDmp.cv = 1; + mb->un.varDmp.co = 1; + mb->un.varWords[2] = 0; + mb->un.varWords[3] = DMP_SFF_PAGE_A2_SIZE / 4; + mb->un.varWords[4] = 0; + mb->un.varWords[5] = 0; + mb->un.varWords[6] = 0; + mb->un.varWords[7] = 0; + mb->un.varWords[8] = 0; + mb->un.varWords[9] = 0; + mb->un.varWords[10] = 0; + mbox->in_ext_byte_len = DMP_SFF_PAGE_A2_SIZE; + mbox->out_ext_byte_len = DMP_SFF_PAGE_A2_SIZE; + mbox->mbox_offset_word = 5; + mbox->ctx_buf = virt; + } else { + bf_set(lpfc_mbx_memory_dump_type3_length, + &mbox->u.mqe.un.mem_dump_type3, DMP_SFF_PAGE_A2_SIZE); + mbox->u.mqe.un.mem_dump_type3.addr_lo = putPaddrLow(mp->phys); + mbox->u.mqe.un.mem_dump_type3.addr_hi = putPaddrHigh(mp->phys); + } + + mbox->ctx_ndlp = (struct lpfc_rdp_context *)rdp_context; + rc = lpfc_sli_issue_mbox_wait(phba, mbox, 30); + if (bf_get(lpfc_mqe_status, &mbox->u.mqe)) { + rc = 1; + goto error; + } + rc = 0; + + lpfc_sli_bemem_bcopy(mp->virt, &rdp_context->page_a2, + DMP_SFF_PAGE_A2_SIZE); + +error: + mbox->ctx_buf = mpsave; + lpfc_mbox_rsrc_cleanup(phba, mbox, MBOX_THD_UNLOCKED); + + return rc; + +sfp_fail: + mempool_free(mbox, phba->mbox_mem_pool); + return 1; +} + /* * lpfc_els_rcv_rdp - Process an unsolicited RDP ELS. * @vport: pointer to a host virtual N_Port data structure. diff --git a/drivers/scsi/lpfc/lpfc_hw4.h b/drivers/scsi/lpfc/lpfc_hw4.h index 5288fc69908a..fb3504dbb899 100644 --- a/drivers/scsi/lpfc/lpfc_hw4.h +++ b/drivers/scsi/lpfc/lpfc_hw4.h @@ -3162,7 +3162,8 @@ struct lpfc_mbx_memory_dump_type3 { #define SFF_LENGTH_COPPER 18 #define SSF_LENGTH_50UM_OM3 19 #define SSF_VENDOR_NAME 20 -#define SSF_VENDOR_OUI 36 +#define SSF_TRANSCEIVER2 36 +#define SSF_VENDOR_OUI 37 #define SSF_VENDOR_PN 40 #define SSF_VENDOR_REV 56 #define SSF_WAVELENGTH_B1 60 @@ -3281,7 +3282,7 @@ struct sff_trasnceiver_codes_byte6 { struct sff_trasnceiver_codes_byte7 { uint8_t fc_sp_100MB:1; /* 100 MB/sec */ - uint8_t reserve:1; + uint8_t speed_chk_ecc:1; uint8_t fc_sp_200mb:1; /* 200 MB/sec */ uint8_t fc_sp_3200MB:1; /* 3200 MB/sec */ uint8_t fc_sp_400MB:1; /* 400 MB/sec */ From patchwork Mon Oct 17 16:43:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Justin Tee X-Patchwork-Id: 13009030 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0F481C4332F for ; Mon, 17 Oct 2022 16:35:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230022AbiJQQfy (ORCPT ); Mon, 17 Oct 2022 12:35:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60378 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229898AbiJQQfv (ORCPT ); Mon, 17 Oct 2022 12:35:51 -0400 Received: from mail-qt1-x833.google.com (mail-qt1-x833.google.com [IPv6:2607:f8b0:4864:20::833]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D4CEE642EE for ; Mon, 17 Oct 2022 09:35:50 -0700 (PDT) Received: by mail-qt1-x833.google.com with SMTP id s3so8028531qtn.12 for ; Mon, 17 Oct 2022 09:35:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lKGJw9sRGpuNe9Qxd5cTMnwtu/aTjr0G71xSCbQ8M48=; b=Uh5k1JWJhhNfnmJ+P2zpSGuXVEm1vciCsAkPtKw8pYZBInnawM1LzmuBh74DDR5hv9 HzmWFhgZXcDn10lEOZRunZzuml29w243qd79gUQofd8lmTr96Eyr0nLbJLN5nG5Q+4jg D4o0qmD3JVOeIzUkZ4hq53axaJisG7eUTYMwqcSGNyd7pa36foYHRUKaPSXQy7gNsSco TtOMTuZuTBydsv2vdVtdAQ0gVbxOdqL8yjwt3OCY0MXmPLNRpETr5XIx3WxgKllhqaSQ kJMbQ8+dCeiS9DQsNdciAHYA/xOIzaAmbR929RfsesX4YNSokg+XnR+vL3Lska0eYDpw GmuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lKGJw9sRGpuNe9Qxd5cTMnwtu/aTjr0G71xSCbQ8M48=; b=BzH4XetFwA9kJnQoO3oeaaKAExmYpRsvkRp2bjyA6hmr1aMb+SkJewJf8vQCo5ihW8 GBbOUNaTLuLiq2K47hDnl/1i7pcJFuUiKJNK4VWR9vssUocyVwz8Ge6XNCZD/D6dw0dh ZWOxYBqD5gpZ9ZSSeYTfA1QA582EeDeXgdwHGFXK3HNr7IavNoXB4gWO67Jef5pNLOEl 5FdUpEUUZShTlaW58AHReiFa8tqpZmPwTqW3iD7KPE2SjUbAzkDFk2wU41UgKADWt41Q Y95+JB3Tk1HuEm/qeldL/BUPTR8kVlWhkt9KnTnRZQaIwHOposJGxMQDpX5k7eP19sUb lSkA== X-Gm-Message-State: ACrzQf0MdwMY09Vk6HeApwDmwd4M/34IeRI1UcaAxd0vfkA2xatgAlUS gtdKFbmz5Vt2a1crvL/5durXi6C8nv4= X-Google-Smtp-Source: AMsMyM4zoSaauKh6H8ToTqnBNITa7LjPofbgcEYXyQHYWqt7WVhlj/Uk56My2EhIqO3ik+6MzHqT0Q== X-Received: by 2002:a05:622a:1002:b0:39c:d841:9ad6 with SMTP id d2-20020a05622a100200b0039cd8419ad6mr9418583qte.572.1666024549824; Mon, 17 Oct 2022 09:35:49 -0700 (PDT) Received: from dhcp-10-231-55-133.dhcp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id r2-20020ae9d602000000b006ceb933a9fesm152235qkk.81.2022.10.17.09.35.48 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Oct 2022 09:35:49 -0700 (PDT) From: Justin Tee To: linux-scsi@vger.kernel.org Cc: jsmart2021@gmail.com, Justin Tee , Justin Tee Subject: [PATCH 5/5] lpfc: Update lpfc version to 14.2.0.8 Date: Mon, 17 Oct 2022 09:43:23 -0700 Message-Id: <20221017164323.14536-5-justintee8345@gmail.com> X-Mailer: git-send-email 2.38.0.83.gd420dda057 In-Reply-To: <20221017164323.14536-1-justintee8345@gmail.com> References: <20221017164323.14536-1-justintee8345@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org Update lpfc version to 14.2.0.8 Signed-off-by: Justin Tee --- drivers/scsi/lpfc/lpfc_version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/lpfc/lpfc_version.h b/drivers/scsi/lpfc/lpfc_version.h index 192d5630a44d..378eba7b09d9 100644 --- a/drivers/scsi/lpfc/lpfc_version.h +++ b/drivers/scsi/lpfc/lpfc_version.h @@ -20,7 +20,7 @@ * included with this package. * *******************************************************************/ -#define LPFC_DRIVER_VERSION "14.2.0.7" +#define LPFC_DRIVER_VERSION "14.2.0.8" #define LPFC_DRIVER_NAME "lpfc" /* Used for SLI 2/3 */