On Wed, Apr 19, 2017 at 09:46:30PM -0700, jsmart2021@xxxxxxxxx wrote: > From: James Smart <jsmart2021@xxxxxxxxx> > > There are couple of different load/unload issues fixed with this patch. > One of the issues was reported by Junichi Nomura, a patch was submitted > by Johannes Thumsrhirn which did fix one of the problems but the fix in > this patch separates the pring free from the queue free and does not set > the parameter passed in to NULL. > > issues: > (1) driver could not be unloaded and reloaded without some Oops or > Panic occurring. > (2) The driver was panicking because of a corruption in the Memory > Manager when the iocb list was getting allocated. > > Root cause for the memory corruption was a double free of the Work Queue > ring pointer memory - Freed once in the lpfc_sli4_queue_free when the CQ > was destroyed and again in lpfc_sli4_queue_free when the WQ was destroyed. > > The pring free and the queue free were separated, the pring free was moved > to the wq destroy routine because it a better fit logically to delete the > ring with the wq. > > The checkpatch flagged several alignmenet issues that were also corrected > with this patch. > > The mboxq was never initialed correctly before it was used by the driver > this patch corrects that issue. > > Reported-by: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> > Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxxxx> > Signed-off-by: James Smart <james.smart@xxxxxxxxxxxx> > --- Looks good, Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> But I'd really like to see a Tested-by from Junichi here. -- Johannes Thumshirn Storage jthumshirn@xxxxxxx +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850