All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Wagner <dwagner@suse.de>
To: James Smart <jsmart2021@gmail.com>
Cc: linux-scsi@vger.kernel.org, Dick Kennedy <dick.kennedy@broadcom.com>
Subject: Re: [PATCH v2 02/15] lpfc: Fix auto sli_mode and its effect on CONFIG_PORT for SLI3
Date: Mon, 7 Jun 2021 13:06:30 +0200	[thread overview]
Message-ID: <20210607110630.kwn74yfrbsrrrhsm@beryllium.lan> (raw)
In-Reply-To: <20210104180240.46824-3-jsmart2021@gmail.com>

Hi James,

On Mon, Jan 04, 2021 at 10:02:27AM -0800, James Smart wrote:
> A very long time ago, there was a feature: auto sli mode. It gave the
> user the ability to auto select the SLI mode (SLI2 or SLI3) to run the
> port in, or even force SLI2 mode if configured.  Because of the
> convoluted logic, the CONFIG_PORT mbox command ends up being called 2 or
> 3 times. It should have been called only once.  Additionally, the driver
> no longer supports SLI-2, so only SLI-3 mode should be allowed.
> 
> The following changes were made:
> - Force module parameter to SLI3 only.
> - Rip out redundant CONFIG_PORT mbox commands.
> - Force CONFIG_PORT mbox command to be in beginning of enable ISR routine.
> - Added changes for offline to online behavior

We got a regression report for this patch. The problem seems to be
related with older Emulex HBAs. The symptom is in this case one port is
not enabled. A revert of this patch fixed the problem. This was
observed with:

  Emulex LPe11000 FV2.72X2 DV12.8.0.7 HN:FR2AS6AP2-0001 OS:Linux

Here some ramblings from my debugging:

In the logs I found:

> 0000:0b:00.0: 0:0431 Failed to enable interrupt.
> 0000:0b:00.0: 0:0431 Failed to enable interrupt.
> 0000:0b:00.0: 0:0431 Failed to enable interrupt.

cfg_sli_mode used to be 0 (auto) and the config port setup
used to try first mode = 3 and then fall back to mode = 2

> -       rc = lpfc_sli_config_port(phba, mode);
> -
> -       if (rc && phba->cfg_sli_mode == 3)
> -               lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT,
> -                               "1820 Unable to select SLI-3.  "
> -                               "Not supported by adapter.\n");
> -       if (rc && mode != 2)
> -               rc = lpfc_sli_config_port(phba, 2);

the port config is now in lpfc_sli_enable_intr which is hardcoded
to LPFC_SLI_REV3 and I think this fails and the HBA_NEEDS_CFG_PORT
flag is not resetted, hence in lpfc_sli_hba_setup() the new
code tries to enable the port again with:

> +       /* Enable ISR already does config_port because of config_msi mbx */
> +       if (phba->hba_flag & HBA_NEEDS_CFG_PORT) {
> +               rc = lpfc_sli_config_port(phba, LPFC_SLI_REV3);
> +               if (rc)
> +                       return -EIO;
> +               phba->hba_flag &= ~HBA_NEEDS_CFG_PORT;

Though I think this should something like

   lpfc_sli_config_port(phba, LPFC_SLI_REV2);

for the specific case.

HTH!

Thanks,
Daniel

  reply	other threads:[~2021-06-07 11:06 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-04 18:02 [PATCH v2 00/15] lpfc: Update lpfc to revision 12.8.0.7 James Smart
2021-01-04 18:02 ` [PATCH v2 01/15] lpfc: Fix PLOGI S_ID of 0 on pt2pt config James Smart
2021-01-04 18:02 ` [PATCH v2 02/15] lpfc: Fix auto sli_mode and its effect on CONFIG_PORT for SLI3 James Smart
2021-06-07 11:06   ` Daniel Wagner [this message]
2021-06-07 15:12     ` James Smart
2021-06-15 12:45       ` Daniel Wagner
2021-06-18  8:52         ` Daniel Wagner
2021-12-14 13:19           ` [PATCH] lpfc: Reintroduce old IRQ probe logic Daniel Wagner
2021-01-04 18:02 ` [PATCH v2 03/15] lpfc: Refresh ndlp when a new PRLI is received in the PRLI issue state James Smart
2021-01-04 18:02 ` [PATCH v2 04/15] lpfc: Fix crash when a fabric node is released prematurely James Smart
2021-01-04 18:02 ` [PATCH v2 05/15] lpfc: Use the nvme-fc transport supplied timeout for LS requests James Smart
2021-01-04 18:02 ` [PATCH v2 06/15] lpfc: Fix FW reset action if IOs are outstanding James Smart
2021-01-04 18:02 ` [PATCH v2 07/15] lpfc: Prevent duplicate requests to unregister with cpuhp framework James Smart
2021-01-04 18:02 ` [PATCH v2 08/15] lpfc: Fix error log messages being logged following scsi task mgnt James Smart
2021-01-04 18:02 ` [PATCH v2 09/15] lpfc: Fix target reset failing James Smart
2021-01-04 18:02 ` [PATCH v2 10/15] lpfc: Fix NVME recovery after mailbox timeout James Smart
2021-01-04 18:02 ` [PATCH v2 11/15] lpfc: Fix vport create logging James Smart
2021-01-04 18:02 ` [PATCH v2 12/15] lpfc: Fix crash when nvmet transport calls host_release James Smart
2021-01-04 18:02 ` [PATCH v2 13/15] lpfc: Implement health checking when aborting io James Smart
2021-01-04 18:02 ` [PATCH v2 14/15] lpfc: Enhancements to LOG_TRACE_EVENT for better readability James Smart
2021-01-04 18:02 ` [PATCH v2 15/15] lpfc: Update lpfc version to 12.8.0.7 James Smart
2021-01-08  4:02 ` [PATCH v2 00/15] lpfc: Update lpfc to revision 12.8.0.7 Martin K. Petersen
2021-01-13  5:48 ` Martin K. Petersen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210607110630.kwn74yfrbsrrrhsm@beryllium.lan \
    --to=dwagner@suse.de \
    --cc=dick.kennedy@broadcom.com \
    --cc=jsmart2021@gmail.com \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.