aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMimi Zohar <zohar@linux.vnet.ibm.com>2011-09-16 08:50:30 -0400
committerMimi Zohar <zohar@linux.vnet.ibm.com>2011-09-21 08:27:43 -0400
commit8c35ad20270de91d0f3bfe521daa3b7983ee8db7 (patch)
tree49422eea35b4d856bd11aa4ae11387728b678fff
parent2b3ff6319e2312656fbefe0209bef02d58b6836a (diff)
target: check hex2bin result
Now that hex2bin does error checking, on error add debugging error msg. Changelog v1 (update): - fixed definition of 'ret' - hex2bin now returns an int Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com> Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com>
-rw-r--r--drivers/target/target_core_fabric_lib.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/target/target_core_fabric_lib.c b/drivers/target/target_core_fabric_lib.c
index c4ea3a9a555b..39f021b855ef 100644
--- a/drivers/target/target_core_fabric_lib.c
+++ b/drivers/target/target_core_fabric_lib.c
@@ -63,6 +63,7 @@ u32 sas_get_pr_transport_id(
63 unsigned char *buf) 63 unsigned char *buf)
64{ 64{
65 unsigned char *ptr; 65 unsigned char *ptr;
66 int ret;
66 67
67 /* 68 /*
68 * Set PROTOCOL IDENTIFIER to 6h for SAS 69 * Set PROTOCOL IDENTIFIER to 6h for SAS
@@ -74,7 +75,9 @@ u32 sas_get_pr_transport_id(
74 */ 75 */
75 ptr = &se_nacl->initiatorname[4]; /* Skip over 'naa. prefix */ 76 ptr = &se_nacl->initiatorname[4]; /* Skip over 'naa. prefix */
76 77
77 hex2bin(&buf[4], ptr, 8); 78 ret = hex2bin(&buf[4], ptr, 8);
79 if (ret < 0)
80 pr_debug("sas transport_id: invalid hex string\n");
78 81
79 /* 82 /*
80 * The SAS Transport ID is a hardcoded 24-byte length 83 * The SAS Transport ID is a hardcoded 24-byte length
@@ -156,8 +159,9 @@ u32 fc_get_pr_transport_id(
156 unsigned char *buf) 159 unsigned char *buf)
157{ 160{
158 unsigned char *ptr; 161 unsigned char *ptr;
159 int i; 162 int i, ret;
160 u32 off = 8; 163 u32 off = 8;
164
161 /* 165 /*
162 * PROTOCOL IDENTIFIER is 0h for FCP-2 166 * PROTOCOL IDENTIFIER is 0h for FCP-2
163 * 167 *
@@ -174,7 +178,9 @@ u32 fc_get_pr_transport_id(
174 i++; 178 i++;
175 continue; 179 continue;
176 } 180 }
177 hex2bin(&buf[off++], &ptr[i], 1); 181 ret = hex2bin(&buf[off++], &ptr[i], 1);
182 if (ret < 0)
183 pr_debug("fc transport_id: invalid hex string\n");
178 i += 2; 184 i += 2;
179 } 185 }
180 /* 186 /*