[SCSI] aacraid: fix big endian issues
Big endian systems issues discovered in the aacraid driver. Somewhat reverses a patch from November 7th of last year that removed swap operations because they formerly were being assigned to an u8 array when they should have been assigned to an le32 array. This patch is largely inert for any little endian processor architecture. It resolves a bug in delivering the BlinkLED AIF event to registered applications when the adapter or associated hardware was reset due to ill health. A rare corner case occurrence, also largely unnoticed by any as it was a new (untested!) feature. Signed-off-by: Mark Salyzyn <aacraid@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:

committed by
James Bottomley

parent
06a43d1725
commit
a3940da5e6
@@ -614,11 +614,11 @@ static int aac_eh_reset(struct scsi_cmnd* cmd)
|
||||
* support a register, instead of a commanded, reset.
|
||||
*/
|
||||
if ((aac->supplement_adapter_info.SupportedOptions2 &
|
||||
cpu_to_le32(AAC_OPTION_MU_RESET)) &&
|
||||
aac_check_reset &&
|
||||
((aac_check_reset != 1) ||
|
||||
(aac->supplement_adapter_info.SupportedOptions2 &
|
||||
cpu_to_le32(AAC_OPTION_IGNORE_RESET))))
|
||||
AAC_OPTION_MU_RESET) &&
|
||||
aac_check_reset &&
|
||||
((aac_check_reset != 1) ||
|
||||
(aac->supplement_adapter_info.SupportedOptions2 &
|
||||
AAC_OPTION_IGNORE_RESET)))
|
||||
aac_reset_adapter(aac, 2); /* Bypass wait for command quiesce */
|
||||
return SUCCESS; /* Cause an immediate retry of the command with a ten second delay after successful tur */
|
||||
}
|
||||
|
Reference in New Issue
Block a user