[Open-FCoE] [PATCH 1/3] libfc: removed completing FCP exch in abort response

Mike Christie michaelc at cs.wisc.edu
Wed Sep 17 17:10:19 UTC 2008


Vasu Dev wrote:
> The FC_TYPE_FCP check on abort response frame BA_RJT freed
> the fsp exch in fc_exch_abts_resp(). Instead we should
> be checking FC_TYPE_FCP against stored fh_type in fsp exch.
> 
> The abort reject response was freeing fsp exch here
> while fsp would still use this fsp exch in scsi-ml eh-ing
> since currently FCP ignores all BA_RJT response leaving
> fsp unfinished for scsi-ml eh-ing.
> 
> Signed-off-by: Vasu Dev <vasu.dev at intel.com>
> ---
> 
>  drivers/scsi/libfc/fc_exch.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> 
> diff --git a/drivers/scsi/libfc/fc_exch.c b/drivers/scsi/libfc/fc_exch.c
> index 6b5a35b..8fa45aa 100644
> --- a/drivers/scsi/libfc/fc_exch.c
> +++ b/drivers/scsi/libfc/fc_exch.c
> @@ -1361,7 +1361,7 @@ static void fc_exch_abts_resp(struct fc_exch *ep, struct fc_frame *fp)
>  	/*
>  	 * do we want to check END_SEQ as well as LAST_SEQ here?
>  	 */
> -	if (fh->fh_type != FC_TYPE_FCP &&
> +	if (ep->fh_type != FC_TYPE_FCP &&
>  	    ntoh24(fh->fh_f_ctl) & FC_FC_LAST_SEQ)
>  		rc = fc_exch_done_locked(ep);
>  	spin_unlock_bh(&ep->ex_lock);
> 

My fault. Bad cut and paste of the other check. Looks good. Thanks.



More information about the devel mailing list