> -----Original Message----- > From: Hannes Reinecke [mailto:hare@xxxxxxx] > Sent: Friday, January 15, 2016 7:13 PM > To: Sumit Saxena > Cc: Kashyap Desai; megaraidlinux.pdl@xxxxxxxxxxxxx; Martin K. Petersen; > James Bottomley; linux-scsi@xxxxxxxxxxxxxxx; Hannes Reinecke; Hannes > Reinecke > Subject: [PATCH] megaraid_sas: boot hangs while LD is offline > > Offline Logical drives (LDs) should not allowed to be visible to the OS, as the > OS will hang trying to send commands to it. > This patch skips offline LDs like it already does for non-system physical > drives (PDs). > > Signed-off-by: Hannes Reinecke <hare@xxxxxxxx> > --- > drivers/scsi/megaraid/megaraid_sas_base.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c > b/drivers/scsi/megaraid/megaraid_sas_base.c > index 97a1c1c..f32831b 100644 > --- a/drivers/scsi/megaraid/megaraid_sas_base.c > +++ b/drivers/scsi/megaraid/megaraid_sas_base.c > @@ -1760,7 +1760,7 @@ static void megasas_set_dma_alignment(struct > scsi_device *sdev) > > static int megasas_slave_configure(struct scsi_device *sdev) { > - u16 pd_index = 0; > + u16 pd_index = 0, ld_index; > struct megasas_instance *instance; > > instance = megasas_lookup_instance(sdev->host->host_no); > @@ -1772,6 +1772,11 @@ static int megasas_slave_configure(struct > scsi_device *sdev) > if (instance->pd_list[pd_index].driveState != > MR_PD_STATE_SYSTEM) > return -ENXIO; > + } else { > + ld_index = ((sdev->channel - > MEGASAS_MAX_PD_CHANNELS) * > + MEGASAS_MAX_DEV_PER_CHANNEL) + > sdev->id; > + if (instance->ld_ids[ld_index] == 0xff) > + return -ENXIO; Hannes - We attempted this code change for one of the issue in past. This code drop was just a quick workaround to unblock that customer issue. Avago provided FW fix for this issue as new FW (again fix was done 2 years before, so many latest FW will have this fix) return below sense key for TUR. SenseKey=0x2, asc=0x4, ascq=0x3(LOGICAL UNIT NOT READY, MANUAL INTERVENTION REQUIRED) Have you seen any issue w.r.t VD Offline or trying to optimize code in megaraid driver ? > } > } > megasas_set_dma_alignment(sdev); > -- > 1.8.5.6 -- 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