unsigned char *buf)
 {
        unsigned char *ptr;
+       int ret;
 
        /*
         * Set PROTOCOL IDENTIFIER to 6h for SAS
         */
        ptr = &se_nacl->initiatorname[4]; /* Skip over 'naa. prefix */
 
-       hex2bin(&buf[4], ptr, 8);
+       ret = hex2bin(&buf[4], ptr, 8);
+       if (ret < 0)
+               pr_debug("sas transport_id: invalid hex string\n");
 
        /*
         * The SAS Transport ID is a hardcoded 24-byte length
        unsigned char *buf)
 {
        unsigned char *ptr;
-       int i;
+       int i, ret;
        u32 off = 8;
+
        /*
         * PROTOCOL IDENTIFIER is 0h for FCP-2
         *
                        i++;
                        continue;
                }
-               hex2bin(&buf[off++], &ptr[i], 1);
+               ret = hex2bin(&buf[off++], &ptr[i], 1);
+               if (ret < 0)
+                       pr_debug("fc transport_id: invalid hex string\n");
                i += 2;
        }
        /*