lpfc 8.3.3 : Fix a couple of spin_lock and memory issues and a crash
Subsystems (2)
PATCH 3/5 lpfc 8.3.3 : Fix a couple of spin_lock and memory issues and a crash
Fix a couple of spin_lock and memory issues and a crash
Contains the following changes:
- Fixed error paths retaking a spin lock which they already hold
- Added code to free memory in a couple of error paths
- Added code to free RPI bit map while unloading driver
- Added code to write zero to memory object allocated through dma_alloc_coherent
- Fixed crash/hang with target or LUN resets
Signed-off-by James Smart <[email protected]>
---
drivers/scsi/lpfc/lpfc_init.c | 1 + drivers/scsi/lpfc/lpfc_mbox.c | 1 + drivers/scsi/lpfc/lpfc_sli.c | 42 ++++++++++++++++++++++++++++++++--------- 3 files changed, 35 insertions(+), 9 deletions(-)
drivers/scsi/lpfc/lpfc_init.c +1 -0
@@ -3540,6 +3540,7 @@ lpfc_sli4_driver_resource_unset(struct lpfc_hba *phba)/* Free the allocated rpi headers. */ lpfc_sli4_remove_rpi_hdrs (phba); +lpfc_sli4_remove_rpis (phba);/* Free the ELS sgl list */ lpfc_free_active_sgl (phba);
drivers/scsi/lpfc/lpfc_mbox.c +1 -0
@@ -1631,6 +1631,7 @@ lpfc_sli4_config(struct lpfc_hba *phba, struct lpfcMboxq *mbox,/* In case of malloc fails, proceed with whatever we have */ if (!viraddr)break ; +memset (viraddr,0 ,PAGE_SIZE ); mbox->sge_array->addr[pagen] = viraddr;/* Keep the first page for later sub-header construction */ if (pagen ==0 )
drivers/scsi/lpfc/lpfc_sli.c +33 -9
99 lines not on this page · raw message