On 02/13/2013 12:17 AM, Pawel Wieczorkiewicz wrote: > From: Pawel Wieczorkiewicz <wpawel@xxxxxxxxx> > > Index of atmel_ports[ATMEL_MAX_UART] should be smaller > than ATMEL_MAX_UART. > > Signed-off-by: Pawel Wieczorkiewicz <wpawel@xxxxxxxxx> > --- > drivers/tty/serial/atmel_serial.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/tty/serial/atmel_serial.c b/drivers/tty/serial/atmel_serial.c > index d4a7c24..3f7586a 100644 > --- a/drivers/tty/serial/atmel_serial.c > +++ b/drivers/tty/serial/atmel_serial.c > @@ -1772,7 +1772,7 @@ static int atmel_serial_probe(struct platform_device *pdev) > ret = find_first_zero_bit(&atmel_ports_in_use, > sizeof(atmel_ports_in_use)); > > - if (ret > ATMEL_MAX_UART) { > + if (!(ret < ATMEL_MAX_UART)) { Good catch, but the result looks weird. Could you just make it ">="? And find_first_zero_bit + sizeof above is bogus too. The sizeof returns 4 on 32-bit (the driver is run on 32bit machines exlusively AFAICS). So the highest possible ret in there is 5. Instead atmel_ports_in_use should be declared using DECLARE_BITMAP(atmel_ports_in_use, ATMEL_MAX_UART) and the second parameter here then ATMEL_MAX_UART. Could you fix that too? -- js suse labs -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html