]> Pileus Git - ~andy/linux/commitdiff
[SCSI] megaraid_sas: Dont load DevHandle unless FastPath enabled
authoradam radford <aradford@gmail.com>
Sat, 9 Feb 2013 23:29:20 +0000 (15:29 -0800)
committerJames Bottomley <JBottomley@Parallels.com>
Fri, 22 Feb 2013 15:31:41 +0000 (15:31 +0000)
The following patch for megaraid_sas will fix an issue where the
driver should not be loading the DevHandle unless FastPath is enabled.
 If FastPath was not enabled, this means the hardware raid map
validation failed for some reason, or the map was corrupted, which
could mean the DevHandle could be invalid.

Signed-off-by: Adam Radford <aradford@gmail.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/megaraid/megaraid_sas_fusion.c

index a6bccf097fc6760370f4790a21c42c68ecbfa6fc..a7d56687bfcabd8f565b7edbdfb17418cce700aa 100644 (file)
@@ -1511,7 +1511,8 @@ megasas_build_dcdb_fusion(struct megasas_instance *instance,
        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 =
+               if (fusion->fast_path_io)
+                       io_request->DevHandle =
                        local_map_ptr->raidMap.devHndlInfo[device_id].curDevHdl;
                io_request->RaidContext.timeoutValue =
                        local_map_ptr->raidMap.fpPdIoTimeoutSec;