On 05/14/12 03:29, Nicholas A. Bellinger wrote: > That would probably work, but I think it's still just a band-aid on the > underlying issue of SCSI LLDs always kicking off initiator mode enable / > disable operations from within PCI *_probe_one() / *_remove_code() code. Maybe the following makes sense (I'm not familiar with the qla2xxx driver nor with FC): split the qla2xxx driver in three kernel modules - a kernel module with the code that is shared by initiator and target mode, a kernel module with the initiator functionality and a kernel module with the target functionality. This will allow users to choose which functionality to enable by loading the proper kernel module(s). Note: in the kernel module with the shared code an interface will have to be added that allows the initiator and the target module to enumerate qla2xxx HBA ports. Maybe it's a good idea to add an interface similar to the add_one() / remove_one() callback functions present in the Linux InfiniBand stack. Bart. -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html