SCSI fixes for 5.3-rc4
Subsystems (2)
James Bottomley
maintainersingle lpfc fix, for a single cpu corner case.
The patch is available here:
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-fixes
The short changelog is:
James Smart (1):
scsi: lpfc: Fix crash when cpu count is 1 and null irq affinity mask
And the diffstat
drivers/scsi/lpfc/lpfc_init.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-)
With full diff below.
James
---
drivers/scsi/lpfc/lpfc_init.c +21 -2
@@ -10776,12 +10776,31 @@ lpfc_cpu_affinity_check(struct lpfc_hba *phba, int vectors)/* This loop sets up all CPUs that are affinitized with a * irq vector assigned to the driver. All affinitized CPUs * will get a link to that vectors IRQ and EQ. +* +* NULL affinity mask handling: +* If irq count is greater than one, log an error message. +* If the null mask is received for the first irq, find the +* first present cpu, and assign the eq index to ensure at +* least one EQ is assigned. */ for (idx =0 ; idx < phba->cfg_irq_chann; idx++) {/* Get a CPU mask for all CPUs affinitized to this vector */ maskp =pci_irq_get_affinity (phba->pcidev, idx); -if (!maskp) -continue ; +if (!maskp) { +if (phba->cfg_irq_chann >1 ) +lpfc_printf_log (phba,KERN_ERR ,LOG_INIT , +"3329 No affinity mask found " +"for vector %d (%d)\n" , + idx, phba->cfg_irq_chann); +if (!idx) { + cpu =cpumask_first (cpu_present_mask); + cpup = &phba->sli4_hba.cpu_map[cpu]; + cpup->eq = idx; + cpup->irq =pci_irq_vector (phba->pcidev, idx); + cpup->flag |=LPFC_CPU_FIRST_IRQ ; + } +break ; + } i =0 ;/* Loop through all CPUs associated with vector idx */
The pull request you sent on Tue, 13 Aug 2019 12:17:53 +0200:
The pull request you sent on Tue, 13 Aug 2019 12:17:53 +0200:
Quoted 1 line
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.gitscsi-fixes
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/60a8db790255a6bebcdc41d97e8084a440398206
Thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker