[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <59308229-24ed-4b8a-b398-cc47c61dfc47@linux.intel.com>
Date: Wed, 13 Aug 2025 17:40:17 -0700
From: Sathyanarayanan Kuppuswamy <sathyanarayanan.kuppuswamy@...ux.intel.com>
To: Lukas Wunner <lukas@...ner.de>, Bjorn Helgaas <helgaas@...nel.org>
Cc: Riana Tauro <riana.tauro@...el.com>,
Aravind Iddamsetty <aravind.iddamsetty@...ux.intel.com>,
"Sean C. Dardis" <sean.c.dardis@...el.com>,
Terry Bowman <terry.bowman@....com>, Niklas Schnelle
<schnelle@...ux.ibm.com>, Linas Vepstas <linasvepstas@...il.com>,
Mahesh J Salgaonkar <mahesh@...ux.ibm.com>,
Oliver OHalloran <oohall@...il.com>,
Manivannan Sadhasivam <manivannan.sadhasivam@....qualcomm.com>,
linuxppc-dev@...ts.ozlabs.org, linux-pci@...r.kernel.org,
Edward Cree <ecree.xilinx@...il.com>, linux-net-drivers@....com,
James Smart <james.smart@...adcom.com>,
Dick Kennedy <dick.kennedy@...adcom.com>,
"James E.J. Bottomley" <James.Bottomley@...senPartnership.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
linux-scsi@...r.kernel.org, Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
netdev@...r.kernel.org
Subject: Re: [PATCH 5/5] PCI/ERR: Remove remnants of .link_reset() callback
On 8/12/25 10:11 PM, Lukas Wunner wrote:
> Back in 2017, commit 2fd260f03b6a ("PCI/AER: Remove unused .link_reset()
> callback") removed .link_reset() from struct pci_error_handlers, but left
> a few code comments behind which still mention it. Remove them.
>
> The code comments in the SolarFlare Ethernet drivers point out that no
> .mmio_enabled() callback is needed because the driver's .error_detected()
> callback always returns PCI_ERS_RESULT_NEED_RESET, which causes
> pcie_do_recovery() to skip .mmio_enabled(). That's not quite correct
> because efx_io_error_detected() does return PCI_ERS_RESULT_RECOVERED under
> certain conditions and then .mmio_enabled() would indeed be called if it
> were implemented. Remove this misleading portion of the code comment as
> well.
>
> Signed-off-by: Lukas Wunner <lukas@...ner.de>
> ---
Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@...ux.intel.com>
> drivers/net/ethernet/sfc/efx_common.c | 3 ---
> drivers/net/ethernet/sfc/falcon/efx.c | 3 ---
> drivers/net/ethernet/sfc/siena/efx_common.c | 3 ---
> drivers/scsi/lpfc/lpfc_init.c | 2 +-
> 4 files changed, 1 insertion(+), 10 deletions(-)
>
> diff --git a/drivers/net/ethernet/sfc/efx_common.c b/drivers/net/ethernet/sfc/efx_common.c
> index 5a14d94163b1..e8fdbb62d872 100644
> --- a/drivers/net/ethernet/sfc/efx_common.c
> +++ b/drivers/net/ethernet/sfc/efx_common.c
> @@ -1258,9 +1258,6 @@ static void efx_io_resume(struct pci_dev *pdev)
>
> /* For simplicity and reliability, we always require a slot reset and try to
> * reset the hardware when a pci error affecting the device is detected.
> - * We leave both the link_reset and mmio_enabled callback unimplemented:
> - * with our request for slot reset the mmio_enabled callback will never be
> - * called, and the link_reset callback is not used by AER or EEH mechanisms.
> */
> const struct pci_error_handlers efx_err_handlers = {
> .error_detected = efx_io_error_detected,
> diff --git a/drivers/net/ethernet/sfc/falcon/efx.c b/drivers/net/ethernet/sfc/falcon/efx.c
> index b07f7e4e2877..0c784656fde9 100644
> --- a/drivers/net/ethernet/sfc/falcon/efx.c
> +++ b/drivers/net/ethernet/sfc/falcon/efx.c
> @@ -3128,9 +3128,6 @@ static void ef4_io_resume(struct pci_dev *pdev)
>
> /* For simplicity and reliability, we always require a slot reset and try to
> * reset the hardware when a pci error affecting the device is detected.
> - * We leave both the link_reset and mmio_enabled callback unimplemented:
> - * with our request for slot reset the mmio_enabled callback will never be
> - * called, and the link_reset callback is not used by AER or EEH mechanisms.
> */
> static const struct pci_error_handlers ef4_err_handlers = {
> .error_detected = ef4_io_error_detected,
> diff --git a/drivers/net/ethernet/sfc/siena/efx_common.c b/drivers/net/ethernet/sfc/siena/efx_common.c
> index a0966f879664..35036cc902fe 100644
> --- a/drivers/net/ethernet/sfc/siena/efx_common.c
> +++ b/drivers/net/ethernet/sfc/siena/efx_common.c
> @@ -1285,9 +1285,6 @@ static void efx_io_resume(struct pci_dev *pdev)
>
> /* For simplicity and reliability, we always require a slot reset and try to
> * reset the hardware when a pci error affecting the device is detected.
> - * We leave both the link_reset and mmio_enabled callback unimplemented:
> - * with our request for slot reset the mmio_enabled callback will never be
> - * called, and the link_reset callback is not used by AER or EEH mechanisms.
> */
> const struct pci_error_handlers efx_siena_err_handlers = {
> .error_detected = efx_io_error_detected,
> diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
> index 4081d2a358ee..cf08bb5b37c3 100644
> --- a/drivers/scsi/lpfc/lpfc_init.c
> +++ b/drivers/scsi/lpfc/lpfc_init.c
> @@ -14377,7 +14377,7 @@ lpfc_sli_prep_dev_for_perm_failure(struct lpfc_hba *phba)
> * as desired.
> *
> * Return codes
> - * PCI_ERS_RESULT_CAN_RECOVER - can be recovered with reset_link
> + * PCI_ERS_RESULT_CAN_RECOVER - can be recovered without reset
> * PCI_ERS_RESULT_NEED_RESET - need to reset before recovery
> * PCI_ERS_RESULT_DISCONNECT - device could not be recovered
> **/
--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer
Powered by blists - more mailing lists