On Mon, 2016-03-14 at 16:26 +0100, Hannes Reinecke wrote: > On 03/14/2016 04:25 PM, Arnd Bergmann wrote: > > On Monday 14 March 2016 16:19:58 Hannes Reinecke wrote: > >>> vports = lpfc_create_vport_work_array(phba); > >>> - if (vports != NULL) > >>> + if (vports != NULL) { > >>> for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) { > >>> struct Scsi_Host *shost; > >>> shost = lpfc_shost_from_vport(vports[i]); > >>> @@ -2877,7 +2877,8 @@ lpfc_online(struct lpfc_hba *phba) > >>> } > >>> spin_unlock_irq(shost->host_lock); > >>> } > >>> - lpfc_destroy_vport_work_array(phba, vports); > >>> + } > >>> + lpfc_destroy_vport_work_array(phba, vports); > >>> > >>> lpfc_unblock_mgmt_io(phba); > >>> return 0; > >>> > >> Nope. > >> > >> vports is only valid from within the indentation block, so it should > >> be moved into it. > >> > >> > > > > Well, every other user of the function also looks like > > > > vports = lpfc_create_vport_work_array(phba); > > if (vports != NULL) { > > do_something(vports); > > } > > lpfc_destroy_vport_work_array(phba, vports); Actually the lpfc code is inconsistent about whether the _destroy call is within the (vports != NULL) test or not, but as you say below it doesn't matter. Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> > > > > and lpfc_destroy_vport_work_array() does nothing if its argument is NULL. > > > > I still think my patch is the correct fix for the warning. > > > Okay, good point. > > Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> > > Cheers, > > Hannes -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html