forked from Minki/linux
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: Andrzej Pietrasiewicz <andrzej.p@samsung.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
c0d96af2e0
commit
81dff86928
@ -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 *params;
|
||||
u8 i;
|
||||
int i;
|
||||
|
||||
if (!resp_avail)
|
||||
return ERR_PTR(-EINVAL);
|
||||
@ -923,7 +923,7 @@ EXPORT_SYMBOL_GPL(rndis_register);
|
||||
|
||||
void rndis_deregister(struct rndis_params *params)
|
||||
{
|
||||
u8 i;
|
||||
int i;
|
||||
|
||||
pr_debug("%s:\n", __func__);
|
||||
|
||||
|
@ -177,7 +177,7 @@ typedef struct rndis_resp_t
|
||||
|
||||
typedef struct rndis_params
|
||||
{
|
||||
u8 confignr;
|
||||
int confignr;
|
||||
u8 used;
|
||||
u16 saved_filter;
|
||||
enum rndis_state state;
|
||||
|
Loading…
Reference in New Issue
Block a user