9p: saving negative to unsigned char

Saving -EINVAL as unsigned char truncates the high bits and changes it
into 234 instead of -22.  This breaks the test for "if (ret == -EINVAL)"
in parse_opts().

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
This commit is contained in:
Dan Carpenter 2010-04-05 14:37:28 -05:00 committed by Eric Van Hensbergen
parent 85a770a888
commit 3dc9fef67f
1 changed files with 3 additions and 2 deletions

View File

@ -71,9 +71,10 @@ inline int p9_is_proto_dotu(struct p9_client *clnt)
EXPORT_SYMBOL(p9_is_proto_dotu);
/* Interpret mount option for protocol version */
static unsigned char get_protocol_version(const substring_t *name)
static int get_protocol_version(const substring_t *name)
{
unsigned char version = -EINVAL;
int version = -EINVAL;
if (!strncmp("9p2000", name->from, name->to-name->from)) {
version = p9_proto_legacy;
P9_DPRINTK(P9_DEBUG_9P, "Protocol version: Legacy\n");