From 8d296cb916bc537b4503747e0e422d43c857cdcb Mon Sep 17 00:00:00 2001 From: Dax Kelson Date: Fri, 3 Feb 2012 23:40:25 -0700 Subject: [PATCH] --- yaml --- r: 287371 b: refs/heads/master c: 9f9ef6d3c08319defc29e4cf6ef2868d15ed0cc3 h: refs/heads/master i: 287369: 53cfec6af4edc3b260d5875e4cfbcae66d9df94e 287367: 133ecf4c4dcd8f707cc7be53340f4620d0d9ed58 v: v3 --- [refs] | 2 +- trunk/drivers/target/iscsi/iscsi_target_login.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index f5063064757e..f499f8f8b7b7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5c55125f4794f4e77574fc09839cb47b0eb45b06 +refs/heads/master: 9f9ef6d3c08319defc29e4cf6ef2868d15ed0cc3 diff --git a/trunk/drivers/target/iscsi/iscsi_target_login.c b/trunk/drivers/target/iscsi/iscsi_target_login.c index ec47a7c5966e..38cb7ce8469e 100644 --- a/trunk/drivers/target/iscsi/iscsi_target_login.c +++ b/trunk/drivers/target/iscsi/iscsi_target_login.c @@ -842,6 +842,14 @@ int iscsi_target_setup_login_socket( goto fail; } + ret = kernel_setsockopt(sock, IPPROTO_IP, IP_FREEBIND, + (char *)&opt, sizeof(opt)); + if (ret < 0) { + pr_err("kernel_setsockopt() for IP_FREEBIND" + " failed\n"); + goto fail; + } + ret = kernel_bind(sock, (struct sockaddr *)&np->np_sockaddr, len); if (ret < 0) { pr_err("kernel_bind() failed: %d\n", ret);