Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge patch series "Update lpfc to revision 14.4.0.8"

Justin Tee <justintee8345@gmail.com> says:

Update lpfc to revision 14.4.0.8

This patch set contains fixes related to diagnostic logging, smatch, and
ndlp ptr referencing issues.

The patches were cut against Martin's 6.14/scsi-queue tree.

Link: https://lore.kernel.org/r/20250131000524.163662-1-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

+36 -23
+8 -10
drivers/scsi/lpfc/lpfc_els.c
··· 1 1 /******************************************************************* 2 2 * This file is part of the Emulex Linux Device Driver for * 3 3 * Fibre Channel Host Bus Adapters. * 4 - * Copyright (C) 2017-2024 Broadcom. All Rights Reserved. The term * 4 + * Copyright (C) 2017-2025 Broadcom. All Rights Reserved. The term * 5 5 * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. * 6 6 * Copyright (C) 2004-2016 Emulex. All rights reserved. * 7 7 * EMULEX and SLI are trademarks of Emulex. * ··· 9569 9569 mbx_tmo_err = test_bit(MBX_TMO_ERR, &phba->bit_flags); 9570 9570 /* First we need to issue aborts to outstanding cmds on txcmpl */ 9571 9571 list_for_each_entry_safe(piocb, tmp_iocb, &pring->txcmplq, list) { 9572 - lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS, 9573 - "2243 iotag = 0x%x cmd_flag = 0x%x " 9574 - "ulp_command = 0x%x this_vport %x " 9575 - "sli_flag = 0x%x\n", 9576 - piocb->iotag, piocb->cmd_flag, 9577 - get_job_cmnd(phba, piocb), 9578 - (piocb->vport == vport), 9579 - phba->sli.sli_flag); 9580 - 9581 9572 if (piocb->vport != vport) 9582 9573 continue; 9574 + 9575 + lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS, 9576 + "2243 iotag = 0x%x cmd_flag = 0x%x " 9577 + "ulp_command = 0x%x sli_flag = 0x%x\n", 9578 + piocb->iotag, piocb->cmd_flag, 9579 + get_job_cmnd(phba, piocb), 9580 + phba->sli.sli_flag); 9583 9581 9584 9582 if ((phba->sli.sli_flag & LPFC_SLI_ACTIVE) && !mbx_tmo_err) { 9585 9583 if (piocb->cmd_flag & LPFC_IO_LIBDFC)
+22 -9
drivers/scsi/lpfc/lpfc_hbadisc.c
··· 1 1 /******************************************************************* 2 2 * This file is part of the Emulex Linux Device Driver for * 3 3 * Fibre Channel Host Bus Adapters. * 4 - * Copyright (C) 2017-2024 Broadcom. All Rights Reserved. The term * 4 + * Copyright (C) 2017-2025 Broadcom. All Rights Reserved. The term * 5 5 * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. * 6 6 * Copyright (C) 2004-2016 Emulex. All rights reserved. * 7 7 * EMULEX and SLI are trademarks of Emulex. * ··· 228 228 if (ndlp->nlp_state == NLP_STE_MAPPED_NODE) 229 229 return; 230 230 231 - /* check for recovered fabric node */ 232 - if (ndlp->nlp_state == NLP_STE_UNMAPPED_NODE && 233 - ndlp->nlp_DID == Fabric_DID) 231 + /* Ignore callback for a mismatched (stale) rport */ 232 + if (ndlp->rport != rport) { 233 + lpfc_vlog_msg(vport, KERN_WARNING, LOG_NODE, 234 + "6788 fc rport mismatch: d_id x%06x ndlp x%px " 235 + "fc rport x%px node rport x%px state x%x " 236 + "refcnt %u\n", 237 + ndlp->nlp_DID, ndlp, rport, ndlp->rport, 238 + ndlp->nlp_state, kref_read(&ndlp->kref)); 234 239 return; 240 + } 235 241 236 242 if (rport->port_name != wwn_to_u64(ndlp->nlp_portname.u.wwn)) 237 243 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, ··· 5570 5564 __lpfc_findnode_did(struct lpfc_vport *vport, uint32_t did) 5571 5565 { 5572 5566 struct lpfc_nodelist *ndlp; 5567 + struct lpfc_nodelist *np = NULL; 5573 5568 uint32_t data1; 5574 5569 5575 5570 list_for_each_entry(ndlp, &vport->fc_nodes, nlp_listp) { ··· 5585 5578 ndlp, ndlp->nlp_DID, 5586 5579 ndlp->nlp_flag, data1, ndlp->nlp_rpi, 5587 5580 ndlp->active_rrqs_xri_bitmap); 5588 - return ndlp; 5581 + 5582 + /* Check for new or potentially stale node */ 5583 + if (ndlp->nlp_state != NLP_STE_UNUSED_NODE) 5584 + return ndlp; 5585 + np = ndlp; 5589 5586 } 5590 5587 } 5591 5588 5592 - /* FIND node did <did> NOT FOUND */ 5593 - lpfc_printf_vlog(vport, KERN_INFO, LOG_NODE, 5594 - "0932 FIND node did x%x NOT FOUND.\n", did); 5595 - return NULL; 5589 + if (!np) 5590 + /* FIND node did <did> NOT FOUND */ 5591 + lpfc_printf_vlog(vport, KERN_INFO, LOG_NODE, 5592 + "0932 FIND node did x%x NOT FOUND.\n", did); 5593 + 5594 + return np; 5596 5595 } 5597 5596 5598 5597 struct lpfc_nodelist *
+3 -1
drivers/scsi/lpfc/lpfc_init.c
··· 1 1 /******************************************************************* 2 2 * This file is part of the Emulex Linux Device Driver for * 3 3 * Fibre Channel Host Bus Adapters. * 4 - * Copyright (C) 2017-2024 Broadcom. All Rights Reserved. The term * 4 + * Copyright (C) 2017-2025 Broadcom. All Rights Reserved. The term * 5 5 * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. * 6 6 * Copyright (C) 2004-2016 Emulex. All rights reserved. * 7 7 * EMULEX and SLI are trademarks of Emulex. * ··· 13170 13170 eqhdl = lpfc_get_eq_hdl(0); 13171 13171 rc = pci_irq_vector(phba->pcidev, 0); 13172 13172 if (rc < 0) { 13173 + free_irq(phba->pcidev->irq, phba); 13173 13174 pci_free_irq_vectors(phba->pcidev); 13174 13175 lpfc_printf_log(phba, KERN_WARNING, LOG_INIT, 13175 13176 "0496 MSI pci_irq_vec failed (%d)\n", rc); ··· 13251 13250 eqhdl = lpfc_get_eq_hdl(0); 13252 13251 retval = pci_irq_vector(phba->pcidev, 0); 13253 13252 if (retval < 0) { 13253 + free_irq(phba->pcidev->irq, phba); 13254 13254 lpfc_printf_log(phba, KERN_WARNING, LOG_INIT, 13255 13255 "0502 INTR pci_irq_vec failed (%d)\n", 13256 13256 retval);
+3 -3
drivers/scsi/lpfc/lpfc_version.h
··· 1 1 /******************************************************************* 2 2 * This file is part of the Emulex Linux Device Driver for * 3 3 * Fibre Channel Host Bus Adapters. * 4 - * Copyright (C) 2017-2024 Broadcom. All Rights Reserved. The term * 4 + * Copyright (C) 2017-2025 Broadcom. All Rights Reserved. The term * 5 5 * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. * 6 6 * Copyright (C) 2004-2016 Emulex. All rights reserved. * 7 7 * EMULEX and SLI are trademarks of Emulex. * ··· 20 20 * included with this package. * 21 21 *******************************************************************/ 22 22 23 - #define LPFC_DRIVER_VERSION "14.4.0.7" 23 + #define LPFC_DRIVER_VERSION "14.4.0.8" 24 24 #define LPFC_DRIVER_NAME "lpfc" 25 25 26 26 /* Used for SLI 2/3 */ ··· 32 32 33 33 #define LPFC_MODULE_DESC "Emulex LightPulse Fibre Channel SCSI driver " \ 34 34 LPFC_DRIVER_VERSION 35 - #define LPFC_COPYRIGHT "Copyright (C) 2017-2024 Broadcom. All Rights " \ 35 + #define LPFC_COPYRIGHT "Copyright (C) 2017-2025 Broadcom. All Rights " \ 36 36 "Reserved. The term \"Broadcom\" refers to Broadcom Inc. " \ 37 37 "and/or its subsidiaries."