diff options
-rw-r--r-- | Documentation/scsi/ChangeLog.megaraid_sas | 45 | ||||
-rw-r--r-- | drivers/scsi/megaraid/megaraid_sas.c | 12 | ||||
-rw-r--r-- | drivers/scsi/megaraid/megaraid_sas.h | 7 |
3 files changed, 57 insertions, 7 deletions
diff --git a/Documentation/scsi/ChangeLog.megaraid_sas b/Documentation/scsi/ChangeLog.megaraid_sas index d9e5960dafd5..5eb927544990 100644 --- a/Documentation/scsi/ChangeLog.megaraid_sas +++ b/Documentation/scsi/ChangeLog.megaraid_sas | |||
@@ -1,4 +1,49 @@ | |||
1 | 1 | ||
2 | 1 Release Date : Mon Oct 02 11:21:32 PDT 2006 - Sumant Patro <Sumant.Patro@lsil.com> | ||
3 | 2 Current Version : 00.00.03.05 | ||
4 | 3 Older Version : 00.00.03.04 | ||
5 | |||
6 | i. PCI_DEVICE macro used | ||
7 | |||
8 | Convert the pci_device_id-table of the megaraid_sas-driver to the PCI_DEVICE-macro, to safe some lines. | ||
9 | |||
10 | - Henrik Kretzschmar <henne@nachtwindheim.de> | ||
11 | ii. All compiler warnings removed | ||
12 | iii. megasas_ctrl_info struct reverted to 3.02 release | ||
13 | iv. Default value of megasas_dbg_lvl set to 0 | ||
14 | v. Removing in megasas_exit the sysfs entry created for megasas_dbg_lvl | ||
15 | vi. In megasas_teardown_frame_pool(), cmd->frame was passed instead of | ||
16 | cmd->sense to pci_pool_free. Fixed. Bug was pointed out by | ||
17 | Eric Sesterhenn | ||
18 | |||
19 | 1 Release Date : Wed Sep 13 14:22:51 PDT 2006 - Sumant Patro <Sumant.Patro@lsil.com> | ||
20 | 2 Current Version : 00.00.03.04 | ||
21 | 3 Older Version : 00.00.03.03 | ||
22 | |||
23 | i. Added Reboot notify | ||
24 | ii. Reduced by 1 max cmds sent to FW from Driver to make the reply_q_sz same | ||
25 | as Max Cmds FW can support | ||
26 | |||
27 | 1 Release Date : Tue Aug 22 16:33:14 PDT 2006 - Sumant Patro <Sumant.Patro@lsil.com> | ||
28 | 2 Current Version : 00.00.03.03 | ||
29 | 3 Older Version : 00.00.03.02 | ||
30 | |||
31 | i. Send stop adapter to FW & Dump pending FW cmds before declaring adapter dead. | ||
32 | New varible added to set dbg level. | ||
33 | ii. Disable interrupt made as fn pointer as they are different for 1068 / 1078 | ||
34 | iii. Frame count optimization. Main frame can contain 2 SGE for 64 bit SGLs and | ||
35 | 3 SGE for 32 bit SGL | ||
36 | iv. Tasklet added for cmd completion | ||
37 | v. If FW in operational state before firing INIT, now we send RESET Flag to FW instead of just READY. This is used to do soft reset. | ||
38 | vi. megasas_ctrl_prop structure updated (based on FW struct) | ||
39 | vii. Added print : FW now in Ready State during initialization | ||
40 | |||
41 | 1 Release Date : Sun Aug 06 22:49:52 PDT 2006 - Sumant Patro <Sumant.Patro@lsil.com> | ||
42 | 2 Current Version : 00.00.03.02 | ||
43 | 3 Older Version : 00.00.03.01 | ||
44 | |||
45 | i. Added FW tranistion state for Hotplug scenario | ||
46 | |||
2 | 1 Release Date : Sun May 14 22:49:52 PDT 2006 - Sumant Patro <Sumant.Patro@lsil.com> | 47 | 1 Release Date : Sun May 14 22:49:52 PDT 2006 - Sumant Patro <Sumant.Patro@lsil.com> |
3 | 2 Current Version : 00.00.03.01 | 48 | 2 Current Version : 00.00.03.01 |
4 | 3 Older Version : 00.00.02.04 | 49 | 3 Older Version : 00.00.02.04 |
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 | */ |
352 | static int | 353 | static 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 | */ |
374 | static int | 377 | static int |
375 | megasas_issue_blocked_abort_cmd(struct megasas_instance *instance, | 378 | megasas_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; |
diff --git a/drivers/scsi/megaraid/megaraid_sas.h b/drivers/scsi/megaraid/megaraid_sas.h index c79e55aa9166..55eddcf8eb15 100644 --- a/drivers/scsi/megaraid/megaraid_sas.h +++ b/drivers/scsi/megaraid/megaraid_sas.h | |||
@@ -18,9 +18,9 @@ | |||
18 | /** | 18 | /** |
19 | * MegaRAID SAS Driver meta data | 19 | * MegaRAID SAS Driver meta data |
20 | */ | 20 | */ |
21 | #define MEGASAS_VERSION "00.00.03.01" | 21 | #define MEGASAS_VERSION "00.00.03.05" |
22 | #define MEGASAS_RELDATE "May 14, 2006" | 22 | #define MEGASAS_RELDATE "Oct 02, 2006" |
23 | #define MEGASAS_EXT_VERSION "Sun May 14 22:49:52 PDT 2006" | 23 | #define MEGASAS_EXT_VERSION "Mon Oct 02 11:21:32 PDT 2006" |
24 | 24 | ||
25 | /* | 25 | /* |
26 | * Device IDs | 26 | * Device IDs |
@@ -547,6 +547,7 @@ struct megasas_ctrl_info { | |||
547 | * every MEGASAS_RESET_NOTICE_INTERVAL seconds | 547 | * every MEGASAS_RESET_NOTICE_INTERVAL seconds |
548 | */ | 548 | */ |
549 | #define MEGASAS_RESET_WAIT_TIME 180 | 549 | #define MEGASAS_RESET_WAIT_TIME 180 |
550 | #define MEGASAS_INTERNAL_CMD_WAIT_TIME 180 | ||
550 | #define MEGASAS_RESET_NOTICE_INTERVAL 5 | 551 | #define MEGASAS_RESET_NOTICE_INTERVAL 5 |
551 | 552 | ||
552 | #define MEGASAS_IOCTL_CMD 0 | 553 | #define MEGASAS_IOCTL_CMD 0 |