There's a long thread discussing this very point on linux-scsi. Theshort version is "no, it's only used for debugging firmware and ifyou've corrupted your firmware to this point you need the machinehalting".

Actually, it's a C++ type construct. ha->init_cb is of type init_cb_t,mid_init_cb actually contains this (via a second indirection) as thefirst element, so what it's doing is dynamically casting out based onthe board type.