mptscsih_slave_destroy issues an unconditional synchronize cache. It is not necessary for fibre channel devices for which the rport has been deleted. This patch creates a new function, mptfc_slave_destroy(), which implements the appropriate test. Additionally, Eric's review of the original version of this patch pointed me at some unnecessary tests of the rport dd_data field. I've removed one and made two others bugs. Signed-off-by: Michael Reed