On 05/04/2012 08:49 AM, Mike Christie wrote:
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()?
Mike, the list is the first field in the structure, so the cast here is right.
Thanks, Bhanu
> + 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;
-- 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