diff options
Diffstat (limited to 'drivers/target')
-rw-r--r-- | drivers/target/target_core_fabric_lib.c | 12 |
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 | /* |