diff mbox

[4.9/scsi-fixes] libcxgbi: fix incorrect DDP resource cleanup

Message ID 1478362768-19895-1-git-send-email-varun@chelsio.com (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Varun Prakash Nov. 5, 2016, 4:19 p.m. UTC
Before calling task_release_itt() task data is memset
to zero because of which DDP context information is lost
resulting in incorrect DDP resource cleanup, to fix
this call task_release_itt() before memset.

Signed-off-by: Varun Prakash <varun@chelsio.com>
---
 drivers/scsi/cxgbi/libcxgbi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Martin K. Petersen Nov. 9, 2016, 12:12 a.m. UTC | #1
>>>>> "Varun" == Varun Prakash <varun@chelsio.com> writes:

Varun> Before calling task_release_itt() task data is memset to zero
Varun> because of which DDP context information is lost resulting in
Varun> incorrect DDP resource cleanup, to fix this call
Varun> task_release_itt() before memset.

Applied to 4.9/scsi-fixes.
diff mbox

Patch

diff --git a/drivers/scsi/cxgbi/libcxgbi.c b/drivers/scsi/cxgbi/libcxgbi.c
index d142113..2ffe029 100644
--- a/drivers/scsi/cxgbi/libcxgbi.c
+++ b/drivers/scsi/cxgbi/libcxgbi.c
@@ -2081,9 +2081,10 @@  void cxgbi_cleanup_task(struct iscsi_task *task)
 	/*  never reached the xmit task callout */
 	if (tdata->skb)
 		__kfree_skb(tdata->skb);
-	memset(tdata, 0, sizeof(*tdata));
 
 	task_release_itt(task, task->hdr_itt);
+	memset(tdata, 0, sizeof(*tdata));
+
 	iscsi_tcp_cleanup_task(task);
 }
 EXPORT_SYMBOL_GPL(cxgbi_cleanup_task);