1. Update the OFED wiki entries about SRP and SRPT: * https://wiki.openfabrics.org/tiki-index.php?page=SRP * https://wiki.openfabrics.org/tiki-index.php?page=SRPT+Installation 2. The SRPT driver directly uses the internal state of the SCST core target state machine (scmnd->state), which is bad, bad, bad and generally not acceptable. Only dev handler are allowed to use them. This should be fixed. 3. Fix the race condition between srpt_refresh_port_work() and srpt_remove_one(). Although the probability that this happens is very low, at least in theory it is possible that srpt_refresh_port_work() gets called for a port after srpt_remove_one() called kfree() on the data structure that contains the work_struct passed to srpt_refresh_port_work(). It's not clear to me whether or not letting srpt_remove_one() wait until srpt_refresh_work() finished can result in a deadlock. 4. Find out from which threads the srpt_devices list can be accessed and whether it has to be protected by a spinlock or mutex. 5. Fix the issue that 'rmmod ib_srpt' under load hangs. 6. The initiator names supplied to the SCST core contain the target port name, which is wrong. Nobody identifies a man by the door through which he entered. Instead, a man has a name by which he is identified through his whole life. 7. Analyze and document the implications of sdev->mr = ib_get_dma_mr(sdev->pd, IB_ACCESS_LOCAL_WRITE). 8. Enable and test the LUN_RESET task management function.