[PATCH] aacraid: remove aac_handle_aif
When aac_command_thread detects an adapter event (AifCmdDriverNotify or
AifCmdEventNotify) it calls aac_handle_aif. This routine sets a flag,
calls fib_adapter_complete, and returns. The bad news is that after the
return, aac_command_thread continues to process the command and calls
fib_adapter_complete again.
Under some circumstances this causes the driver to take the device
offline. In my case, it happens with a Dell CERC SATA with a RAID 5 in
the "building" state:
aacraid: Host adapter reset request. SCSI hang ?
aacraid: Host adapter appears dead
scsi: Device offlined - not ready after error recovery: host 0 channel 0
id 0 lun 0
SCSI error : <0 0 0 0> return code = 0x6000000
end_request: I/O error, dev sda, sector 976537592
Mark Salyzyn says the intent is for aac_handle_aif to perform some
plug-n-play actions based on the adapter event, and return, leaving the
command completion to the caller.
The attached patch solves the problem by removing aac_handle_aif
entirely, since it is wrong, and there is currently no code in the
driver to actually do anything with these events.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Showing
Please register or sign in to comment