Length undergoes type conversion when passed (indirectly) as an argument for parameter of type 'unsigned int'. If length is negative this is a bug (the value after conversion is large). Declare 'length' to be of type unsigned instead of type signed. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Tobin C. Harding <me@xxxxxxxx> --- drivers/staging/ks7010/ks7010_sdio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/ks7010/ks7010_sdio.c b/drivers/staging/ks7010/ks7010_sdio.c index 3403edd..b93c9a4 100644 --- a/drivers/staging/ks7010/ks7010_sdio.c +++ b/drivers/staging/ks7010/ks7010_sdio.c @@ -712,7 +712,7 @@ static int ks7010_upload_firmware(struct ks_sdio_card *card) unsigned char *rom_buf; unsigned char rw_data = 0; int ret; - int length; + unsigned int length; const struct firmware *fw_entry = NULL; /* buffer allocate */ -- 2.7.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel