ACK, as long as you add a comment to this code and the request_irq()
failure code: the oldha/old irq is not restored upon failure, in this
function.
That is a pre-existing bug, and not your fault, but your patch
"continues in the same buggy tradition" :) We should at least note the
FIXME at each error handling code branch.
Ideally you or somebody should do a detailed analysis to
a) (preferably) get rid of the silly oldha/ double-irq-request weirdness
and make it look like other drivers,
or,
b) analyze the code and see what it takes to _really_ unwind the error.
Also, I would recommend moving the error handling code to the end of the
function and using the standard 'goto' approach for function error
handling. This eliminates the duplicate scsi_host_put() calls upon error.
Jeff
-