diff options
Diffstat (limited to 'net/core/pktgen.c')
| -rw-r--r-- | net/core/pktgen.c | 12 | 
1 files changed, 4 insertions, 8 deletions
diff --git a/net/core/pktgen.c b/net/core/pktgen.c index 10a1ea72010..2c0df0f95b3 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -729,16 +729,14 @@ static int hex32_arg(const char __user *user_buffer, unsigned long maxlen,  	*num = 0;  	for (; i < maxlen; i++) { +		int value;  		char c;  		*num <<= 4;  		if (get_user(c, &user_buffer[i]))  			return -EFAULT; -		if ((c >= '0') && (c <= '9')) -			*num |= c - '0'; -		else if ((c >= 'a') && (c <= 'f')) -			*num |= c - 'a' + 10; -		else if ((c >= 'A') && (c <= 'F')) -			*num |= c - 'A' + 10; +		value = hex_to_bin(c); +		if (value >= 0) +			*num |= value;  		else  			break;  	} @@ -3907,8 +3905,6 @@ static void __exit pg_cleanup(void)  {  	struct pktgen_thread *t;  	struct list_head *q, *n; -	wait_queue_head_t queue; -	init_waitqueue_head(&queue);  	/* Stop all interfaces & threads */  |