diff options
author | Mark Haverkamp <markh@linux-foundation.org> | 2007-03-15 13:26:05 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-03-20 11:54:11 -0400 |
commit | 8418852d11f0bbaeebeedd4243560d8fdc85410d (patch) | |
tree | 83a6d2c4841c41bdc8a627c3e248deb1cc730210 /drivers/scsi/aacraid/commsup.c | |
parent | b22f687dd28a7a8886b918294b4d558ef175c07d (diff) |
[SCSI] aacraid: add restart adapter platform function
Received from Mark Salyzyn,
This patch updates the adapter restart function to deal with some
adapters that have specific IOP reset needs. Since the code for
restarting the adapter was in two places, changed over to utilizing a
platform function in one place.
Signed-off-by: Mark Haverkamp <markh@linux-foundation.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/aacraid/commsup.c')
-rw-r--r-- | drivers/scsi/aacraid/commsup.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c index 1b97f60652ba..55bf6f395e92 100644 --- a/drivers/scsi/aacraid/commsup.c +++ b/drivers/scsi/aacraid/commsup.c | |||
@@ -1035,7 +1035,6 @@ static void aac_handle_aif(struct aac_dev * dev, struct fib * fibptr) | |||
1035 | static int _aac_reset_adapter(struct aac_dev *aac) | 1035 | static int _aac_reset_adapter(struct aac_dev *aac) |
1036 | { | 1036 | { |
1037 | int index, quirks; | 1037 | int index, quirks; |
1038 | u32 ret; | ||
1039 | int retval; | 1038 | int retval; |
1040 | struct Scsi_Host *host; | 1039 | struct Scsi_Host *host; |
1041 | struct scsi_device *dev; | 1040 | struct scsi_device *dev; |
@@ -1059,20 +1058,10 @@ static int _aac_reset_adapter(struct aac_dev *aac) | |||
1059 | * If a positive health, means in a known DEAD PANIC | 1058 | * If a positive health, means in a known DEAD PANIC |
1060 | * state and the adapter could be reset to `try again'. | 1059 | * state and the adapter could be reset to `try again'. |
1061 | */ | 1060 | */ |
1062 | retval = aac_adapter_check_health(aac); | 1061 | retval = aac_adapter_restart(aac, aac_adapter_check_health(aac)); |
1063 | if (retval == 0) | ||
1064 | retval = aac_adapter_sync_cmd(aac, IOP_RESET_ALWAYS, | ||
1065 | 0, 0, 0, 0, 0, 0, &ret, NULL, NULL, NULL, NULL); | ||
1066 | if (retval) | ||
1067 | retval = aac_adapter_sync_cmd(aac, IOP_RESET, | ||
1068 | 0, 0, 0, 0, 0, 0, &ret, NULL, NULL, NULL, NULL); | ||
1069 | 1062 | ||
1070 | if (retval) | 1063 | if (retval) |
1071 | goto out; | 1064 | goto out; |
1072 | if (ret != 0x00000001) { | ||
1073 | retval = -ENODEV; | ||
1074 | goto out; | ||
1075 | } | ||
1076 | 1065 | ||
1077 | /* | 1066 | /* |
1078 | * Loop through the fibs, close the synchronous FIBS | 1067 | * Loop through the fibs, close the synchronous FIBS |