diff mbox

[v1] IB/srp: replace custom implementation of hex2bin()

Message ID 20171211130505.34631-1-andriy.shevchenko@linux.intel.com (mailing list archive)
State Accepted
Delegated to: Jason Gunthorpe
Headers show

Commit Message

Andy Shevchenko Dec. 11, 2017, 1:05 p.m. UTC
From: Andy Shevchenko <andy.shevchenko@gmail.com>

There is no need to have a duplication of the generic library, i.e.
hex2bin().

Replace the open coded variant.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/infiniband/ulp/srp/ib_srp.c | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)

Comments

Bart Van Assche Dec. 11, 2017, 8 p.m. UTC | #1
On Mon, 2017-12-11 at 15:05 +0200, Andy Shevchenko wrote:
> From: Andy Shevchenko <andy.shevchenko@gmail.com>

> 

> There is no need to have a duplication of the generic library, i.e.

> hex2bin().

> 

> Replace the open coded variant.


Acked-by: Bart Van Assche <bart.vanassche@wdc.com>
Jason Gunthorpe Dec. 11, 2017, 11:41 p.m. UTC | #2
On Mon, Dec 11, 2017 at 03:05:05PM +0200, Andy Shevchenko wrote:
> From: Andy Shevchenko <andy.shevchenko@gmail.com>
> 
> There is no need to have a duplication of the generic library, i.e.
> hex2bin().
> 
> Replace the open coded variant.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Acked-by: Bart Van Assche <bart.vanassche@wdc.com>
>  drivers/infiniband/ulp/srp/ib_srp.c | 13 +++----------
>  1 file changed, 3 insertions(+), 10 deletions(-)

applied to for-next, thanks

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c
index 972d4b3c5223..62d88212c1b0 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -3110,7 +3110,6 @@  static int srp_parse_options(const char *buf, struct srp_target_port *target)
 {
 	char *options, *sep_opt;
 	char *p;
-	char dgid[3];
 	substring_t args[MAX_OPT_ARGS];
 	int opt_mask = 0;
 	int token;
@@ -3162,16 +3161,10 @@  static int srp_parse_options(const char *buf, struct srp_target_port *target)
 				goto out;
 			}
 
-			for (i = 0; i < 16; ++i) {
-				strlcpy(dgid, p + i * 2, sizeof(dgid));
-				if (sscanf(dgid, "%hhx",
-					   &target->orig_dgid.raw[i]) < 1) {
-					ret = -EINVAL;
-					kfree(p);
-					goto out;
-				}
-			}
+			ret = hex2bin(target->orig_dgid.raw, p, 16);
 			kfree(p);
+			if (ret < 0)
+				goto out;
 			break;
 
 		case SRP_OPT_PKEY: