On 04/24/2012 05:26 PM, Bhanu Prakash Gollapudi wrote:
> diff --git a/drivers/scsi/bnx2fc/bnx2fc_tgt.c
b/drivers/scsi/bnx2fc/bnx2fc_tgt.c
> index d3ee231..082a25c 100644
> --- a/drivers/scsi/bnx2fc/bnx2fc_tgt.c
> +++ b/drivers/scsi/bnx2fc/bnx2fc_tgt.c
> @@ -185,6 +185,16 @@ void bnx2fc_flush_active_ios(struct bnx2fc_rport
*tgt)
> BUG_ON(rc);
> }
>
> + list_for_each_safe(list, tmp, &tgt->active_tm_queue) {
> + i++;
> + io_req = (struct bnx2fc_cmd *)list;
Why didn't you use list_for_each_entry_safe()? Or, when using
list_for_each_safe, instead of the cast are we supposed to be using
list_entry()?
> + list_del_init(&io_req->link);
> + io_req->on_tmf_queue = 0;
> + BNX2FC_IO_DBG(io_req, "tm_queue cleanup\n");
> + if (io_req->wait_for_comp)
> + complete(&io_req->tm_done);
> + }
> +
> list_for_each_safe(list, tmp, &tgt->els_queue) {
> i++;
> io_req = (struct bnx2fc_cmd *)list;