On Thu, 2011-10-27 at 07:53 -0700, Alex.Iannicelli@xxxxxxxxxx wrote: > This patch fixes a bug where devloss is not called on fc_host teardown. The > issues is seen if the LLDD uses rport_rolechg to add target role to rport. > When an rport is discovered the LLDD uses fc_rport_add to add the rport and then > uses remote_port_rolechg to indicate that it is a target. If this rport goes away > and the LLDD calls fc_report_port_delete. The transport calls devloss after the > devloss timer fires and it sets the FC_RPORT_DEVLOSS_CALLBK_DONE flag. If the > LLDD discovers this target again and uses remote_port_add to add it, but it was > a target and there is no target role assigned yet then this function returns > without clearing the FC_RPORT_DEVLOSS_CALLBACK_DONE flag. When the LLDD calls > again to change the role to a target the report_port_rolechg routine neglects to > clear the flag as well. Once in this state, if the LLDD tears down the fc_host > then devloss will not be called for this target because the DEVLOSS_CALLBK_DONE > flag is still set. > > This patch adds the FC_RPORT_DEVLOSS_CALLBK_DONE flag to the group of flags that > it clears when flushing devloss timers. > > Signed-off-by: Alex Iannicelli <alex.iannicelli@xxxxxxxxxx> > Signed-off-by: James Smart <james.smart@xxxxxxxxxx> This patch has the usual outlook tab->space corruption. Could you resend it either with a working email client or as an attachment? Thanks, James -- 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