Commit 81dff869 authored by Andrzej Pietrasiewicz's avatar Andrzej Pietrasiewicz Committed by Felipe Balbi

usb: gadget: rndis: use signed type for a signed value

rndis_get_nr() returns either a non-negative value on success
or a negative value on failure. In case of failure an error code
is returned to the caller of rndis_register().
If the "i" is unsigned, the information about error from rndis_get_nr()
is lost. If there is no error but rndis_get_nr() returns a value greater
than 256 the least significant bits of i are zero effectively limiting the
number of configs to 256.

This patch fixes that.
Signed-off-by: default avatarAndrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent c0d96af2
...@@ -872,7 +872,7 @@ static inline void rndis_put_nr(int nr) ...@@ -872,7 +872,7 @@ static inline void rndis_put_nr(int nr)
struct rndis_params *rndis_register(void (*resp_avail)(void *v), void *v) struct rndis_params *rndis_register(void (*resp_avail)(void *v), void *v)
{ {
struct rndis_params *params; struct rndis_params *params;
u8 i; int i;
if (!resp_avail) if (!resp_avail)
return ERR_PTR(-EINVAL); return ERR_PTR(-EINVAL);
...@@ -923,7 +923,7 @@ EXPORT_SYMBOL_GPL(rndis_register); ...@@ -923,7 +923,7 @@ EXPORT_SYMBOL_GPL(rndis_register);
void rndis_deregister(struct rndis_params *params) void rndis_deregister(struct rndis_params *params)
{ {
u8 i; int i;
pr_debug("%s:\n", __func__); pr_debug("%s:\n", __func__);
......
...@@ -177,7 +177,7 @@ typedef struct rndis_resp_t ...@@ -177,7 +177,7 @@ typedef struct rndis_resp_t
typedef struct rndis_params typedef struct rndis_params
{ {
u8 confignr; int confignr;
u8 used; u8 used;
u16 saved_filter; u16 saved_filter;
enum rndis_state state; enum rndis_state state;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment