On 07/14/2015 10:00 PM, Himanshu Madhani wrote:
> From: Swapnil Nagle <swapnil.na...@purestorage.com>
> 
> Since cmds go into qla_tgt_wq and TMRs don't, it's possible that TMR
> like TASK_ABORT can be queued over the cmd for which it was meant.
> To avoid this race, use a per-port list to keep track of cmds that
> are enqueued to qla_tgt_wq but not yet processed. When a TMR arrives,
> iterate through this list and remove any cmds that match the TMR.
> This patch supports TASK_ABORT and LUN_RESET.
> 
> Cc: <sta...@vger.kernel.org>
> Signed-off-by: Swapnil Nagle <swapnil.na...@purestorage.com>
> Signed-off-by: Alexei Potashnik <ale...@purestorage.com>
> Acked-by: Quinn Tran <quinn.t...@qlogic.com>
> Signed-off-by: Himanshu Madhani <himanshu.madh...@qlogic.com>
> ---
[ .. ]
> @@ -3374,14 +3462,25 @@ static void qlt_create_sess_from_atio(struct 
> work_struct *work)
>       unsigned long flags;
>       uint8_t *s_id = op->atio.u.isp24.fcp_hdr.s_id;
>  
> +     spin_lock_irqsave(&vha->cmd_list_lock, flags);
> +     list_del(&op->cmd_list);
> +     spin_unlock_irqrestore(&vha->cmd_list_lock, flags);
> +
> +     if (op->aborted) {
> +             ql_dbg(ql_dbg_tgt_mgt, vha, 0xf083,
> +                 "sess_op with tag %u is aborted\n",
> +                 op->atio.u.isp24.exchange_addr);
> +             goto out_term;
> +     }
> +
>       ql_dbg(ql_dbg_tgt_mgt, vha, 0xf022,
> -             "qla_target(%d): Unable to find wwn login"
> -             " (s_id %x:%x:%x), trying to create it manually\n",
> -             vha->vp_idx, s_id[0], s_id[1], s_id[2]);
> +         "qla_target(%d): Unable to find wwn login"
> +         " (s_id %x:%x:%x), trying to create it manually\n",
> +         vha->vp_idx, s_id[0], s_id[1], s_id[2]);
>  
>       if (op->atio.u.raw.entry_count > 1) {
>               ql_dbg(ql_dbg_tgt_mgt, vha, 0xf023,
> -                     "Dropping multy entry atio %p\n", &op->atio);
> +                 "Dropping multy entry atio %p\n", &op->atio);
>               goto out_term;
>       }
>  
Pointless indentation change.

Other than that:
Reviewed-by: Hannes Reinecke <h...@suse.com>

Cheers,

Hannes

-- 
Dr. Hannes Reinecke                            zSeries & Storage
h...@suse.de                                   +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to