From: adam radford Date: Tue, 2 Oct 2012 02:27:12 +0000 (-0700) Subject: [SCSI] megaraid_sas: Add array boundary check for SystemPD X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=e187df63991b1b50af0fd3cf8ceaf9aa77c20f4a;p=deliverable%2Flinux.git [SCSI] megaraid_sas: Add array boundary check for SystemPD Signed-off-by: Adam Radford Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/megaraid/megaraid_sas_fusion.c b/drivers/scsi/megaraid/megaraid_sas_fusion.c index 31d397497c45..ad6e2ac196b0 100644 --- a/drivers/scsi/megaraid/megaraid_sas_fusion.c +++ b/drivers/scsi/megaraid/megaraid_sas_fusion.c @@ -1508,7 +1508,8 @@ megasas_build_dcdb_fusion(struct megasas_instance *instance, local_map_ptr = fusion->ld_map[(instance->map_id & 1)]; /* Check if this is a system PD I/O */ - if (instance->pd_list[pd_index].driveState == MR_PD_STATE_SYSTEM) { + if (scmd->device->channel < MEGASAS_MAX_PD_CHANNELS && + instance->pd_list[pd_index].driveState == MR_PD_STATE_SYSTEM) { io_request->Function = 0; io_request->DevHandle = local_map_ptr->raidMap.devHndlInfo[device_id].curDevHdl;