Subject: linux-next: manual merge of the target-updates tree with the scsi tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 26 May 2014 18:02:03 +1000

Hi Nicholas,

Today's linux-next merge of the target-updates tree got a conflict in
drivers/scsi/qla2xxx/qla_target.c between commit f83adb617f55
("qla2xxx: T10-Dif: add T10-PI support") from the scsi tree and commit
ed6849ff4921 ("qla2xxx: Convert to percpu_ida session tag
pre-allocation") from the target-updates tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    [email-masked]

diff --cc drivers/scsi/qla2xxx/qla_target.c
index b1d10f9935c7,bd9c725c08e1..000000000000
--- a/drivers/scsi/qla2xxx/qla_target.c
+++ b/drivers/scsi/qla2xxx/qla_target.c
@@@ -2705,15 -2164,18 +2704,22 @@@ done
  
  void qlt_free_cmd(struct qla_tgt_cmd *cmd)
  {
+ 	struct qla_tgt_sess *sess = cmd->sess;
+ 
 -	BUG_ON(cmd->sg_mapped);
 +	ql_dbg(ql_dbg_tgt, cmd->vha, 0xe074,
 +	    "%s: se_cmd[%p] ox_id %04x\n",
 +	    __func__, &cmd->se_cmd,
 +	    be16_to_cpu(cmd->atio.u.isp24.fcp_hdr.ox_id));
  
 +	BUG_ON(cmd->sg_mapped);
  	if (unlikely(cmd->free_sg))
  		kfree(cmd->sg);
- 	kmem_cache_free(qla_tgt_cmd_cachep, cmd);
+ 
+ 	if (!sess || !sess->se_sess) {
+ 		WARN_ON(1);
+ 		return;
+ 	}
+ 	percpu_ida_free(&sess->se_sess->sess_tag_pool, cmd->se_cmd.map_tag);
  }
  EXPORT_SYMBOL(qlt_free_cmd);
  
@@@ -3149,12 -2533,11 +3119,12 @@@ static void __qlt_do_work(struct qla_tg
  	    atio->u.isp24.fcp_cmnd.add_cdb_len]));
  
  	ql_dbg(ql_dbg_tgt, vha, 0xe022,
 -	    "qla_target: START qla command: %p lun: 0x%04x (tag %d)\n",
 -	    cmd, cmd->unpacked_lun, cmd->tag);
 +		"qla_target: START qla cmd: %p se_cmd %p lun: 0x%04x (tag %d) len(%d) ox_id %x\n",
 +		cmd, &cmd->se_cmd, cmd->unpacked_lun, cmd->tag, data_length,
 +		cmd->atio.u.isp24.fcp_hdr.ox_id);
  
- 	ret = vha->hw->tgt.tgt_ops->handle_cmd(vha, cmd, cdb, data_length,
- 	    fcp_task_attr, data_dir, bidi);
+ 	ret = ha->tgt.tgt_ops->handle_cmd(vha, cmd, cdb, data_length,
+ 				          fcp_task_attr, data_dir, bidi);
  	if (ret != 0)
  		goto out_term;
  	/*