ACK this patch. > -----Original Message----- > From: Hannes Reinecke [mailto:hare@xxxxxxx] > Sent: Thursday, January 16, 2014 3:56 PM > To: James Bottomley > Cc: linux-scsi@xxxxxxxxxxxxxxx; Hannes Reinecke; Desai, Kashyap; Adam > Radford > Subject: [PATCH 6/6] megaraid_sas: check return value for > megasas_get_pd_list() > > When megasas_get_pd_list() fails we cannot detect any drives, so we should > be checking the return value accordingly. > > Cc: Kashyap Desai <kashyap.desai@xxxxxxx> > Cc: Adam Radford <aradford@xxxxxxxxx> > Signed-off-by: Hannes Reinecke <hare@xxxxxxx> > --- > drivers/scsi/megaraid/megaraid_sas_base.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c > b/drivers/scsi/megaraid/megaraid_sas_base.c > index d17a097..6b4c4b7 100644 > --- a/drivers/scsi/megaraid/megaraid_sas_base.c > +++ b/drivers/scsi/megaraid/megaraid_sas_base.c > @@ -3769,7 +3769,10 @@ static int megasas_init_fw(struct > megasas_instance *instance) > > memset(instance->pd_list, 0 , > (MEGASAS_MAX_PD * sizeof(struct megasas_pd_list))); > - megasas_get_pd_list(instance); > + if (megasas_get_pd_list(instance) < 0) { > + printk(KERN_ERR "megasas: failed to get PD list\n"); > + goto fail_init_adapter; > + } > > memset(instance->ld_ids, 0xff, MEGASAS_MAX_LD_IDS); > if (megasas_ld_list_query(instance, > @@ -5600,7 +5603,7 @@ megasas_aen_polling(struct work_struct *work) > > if (doscan) { > printk(KERN_INFO "scanning ...\n"); > - megasas_get_pd_list(instance); > + if (megasas_get_pd_list(instance) == 0) { > for (i = 0; i < MEGASAS_MAX_PD_CHANNELS; i++) { > for (j = 0; j < MEGASAS_MAX_DEV_PER_CHANNEL; > j++) { > pd_index = > i*MEGASAS_MAX_DEV_PER_CHANNEL + j; @@ -5620,6 +5623,7 @@ > megasas_aen_polling(struct work_struct *work) > } > } > } > + } > > if (megasas_ld_list_query(instance, > > MR_LD_QUERY_TYPE_EXPOSED_TO_HOST)) > -- > 1.7.12.4 > -- 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