aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/megaraid/megaraid_sas.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/megaraid/megaraid_sas.c')
-rw-r--r--drivers/scsi/megaraid/megaraid_sas.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas.c b/drivers/scsi/megaraid/megaraid_sas.c
index c730bb145436..e21f638c00af 100644
--- a/drivers/scsi/megaraid/megaraid_sas.c
+++ b/drivers/scsi/megaraid/megaraid_sas.c
@@ -10,7 +10,7 @@
10 * 2 of the License, or (at your option) any later version. 10 * 2 of the License, or (at your option) any later version.
11 * 11 *
12 * FILE : megaraid_sas.c 12 * FILE : megaraid_sas.c
13 * Version : v00.00.03.01 13 * Version : v00.00.03.05
14 * 14 *
15 * Authors: 15 * Authors:
16 * Sreenivas Bagalkote <Sreenivas.Bagalkote@lsil.com> 16 * Sreenivas Bagalkote <Sreenivas.Bagalkote@lsil.com>
@@ -347,6 +347,7 @@ megasas_issue_polled(struct megasas_instance *instance, struct megasas_cmd *cmd)
347 * @cmd: Command to be issued 347 * @cmd: Command to be issued
348 * 348 *
349 * This function waits on an event for the command to be returned from ISR. 349 * This function waits on an event for the command to be returned from ISR.
350 * Max wait time is MEGASAS_INTERNAL_CMD_WAIT_TIME secs
350 * Used to issue ioctl commands. 351 * Used to issue ioctl commands.
351 */ 352 */
352static int 353static int
@@ -357,7 +358,8 @@ megasas_issue_blocked_cmd(struct megasas_instance *instance,
357 358
358 instance->instancet->fire_cmd(cmd->frame_phys_addr ,0,instance->reg_set); 359 instance->instancet->fire_cmd(cmd->frame_phys_addr ,0,instance->reg_set);
359 360
360 wait_event(instance->int_cmd_wait_q, (cmd->cmd_status != ENODATA)); 361 wait_event_timeout(instance->int_cmd_wait_q, (cmd->cmd_status != ENODATA),
362 MEGASAS_INTERNAL_CMD_WAIT_TIME*HZ);
361 363
362 return 0; 364 return 0;
363} 365}
@@ -369,7 +371,8 @@ megasas_issue_blocked_cmd(struct megasas_instance *instance,
369 * 371 *
370 * MFI firmware can abort previously issued AEN comamnd (automatic event 372 * MFI firmware can abort previously issued AEN comamnd (automatic event
371 * notification). The megasas_issue_blocked_abort_cmd() issues such abort 373 * notification). The megasas_issue_blocked_abort_cmd() issues such abort
372 * cmd and blocks till it is completed. 374 * cmd and waits for return status.
375 * Max wait time is MEGASAS_INTERNAL_CMD_WAIT_TIME secs
373 */ 376 */
374static int 377static int
375megasas_issue_blocked_abort_cmd(struct megasas_instance *instance, 378megasas_issue_blocked_abort_cmd(struct megasas_instance *instance,
@@ -403,7 +406,8 @@ megasas_issue_blocked_abort_cmd(struct megasas_instance *instance,
403 /* 406 /*
404 * Wait for this cmd to complete 407 * Wait for this cmd to complete
405 */ 408 */
406 wait_event(instance->abort_cmd_wait_q, (cmd->cmd_status != 0xFF)); 409 wait_event_timeout(instance->abort_cmd_wait_q, (cmd->cmd_status != 0xFF),
410 MEGASAS_INTERNAL_CMD_WAIT_TIME*HZ);
407 411
408 megasas_return_cmd(instance, cmd); 412 megasas_return_cmd(instance, cmd);
409 return 0; 413 return 0;