[EMAIL PROTECTED] wrote:
> @@ -1051,11 +1039,9 @@ static int fc_fcp_pkt_abort(struct fc_lport *lp,
> struct fc_fcp_pkt *fsp)
> rc = SUCCESS;
> }
>
> - if (timer_pending(&fsp->timer)) {
> - spin_unlock(&fsp->scsi_pkt_lock);
> - del_timer_sync(&fsp->timer);
> - spin_lock(&fsp->scsi_pkt_lock);
> - }
> + spin_unlock(&fsp->scsi_pkt_lock);
> + del_timer_sync(&fsp->timer);
> + spin_lock(&fsp->scsi_pkt_lock);
> return rc;
> }
>
Oh yeah, if look closely, the del_timer_sync usage in the abort path is
broken. This use and the one before fc_fcp_pkt_abort is called is
broken, because it does not handle the timer rearming itself. But we
will not hit a issue with this becuase of a another bug in the abort
code where we do not process the abort response correctly and so the
abort code will never free the fsp from under a timer. When I fix the
abort response code I will fix its timer handling so I can test it in
one shot. I am still reading fc-ls anf fcp4 on the ABTS stuff though.
_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel