Re: isdn/eicon: msg_in_{wrap,read}_pos assigned twice?

From: Armin Schindler
Date: Mon Jul 28 2008 - 11:06:48 EST


On Fri, 25 Jul 2008, roel kluin wrote:
vi drivers/isdn/hardware/eicon/message.c +4035

and note two similar tests on line 4035 and 4049:

[else] if (plci->msg_in_read_pos == plci->msg_in_wrap_pos)

after the first test:

plci->msg_in_wrap_pos = MSG_IN_QUEUE_SIZE;
plci->msg_in_read_pos = i + MSG_IN_OVERHEAD;

but then after the second test as well:

plci->msg_in_read_pos = MSG_IN_QUEUE_SIZE;
plci->msg_in_wrap_pos = MSG_IN_QUEUE_SIZE;


So the assignment after the first test has no effect. Is this a bug?

If (plci->msg_in_read_pos == plci->msg_in_wrap_pos) is true in the first test it can't be true in the second.
So the code could be optimized a bit. But the first assignments are needed.

If it's false in the first it may become true in the second. So it's not a bug. All conditions are really needed.

Armin

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/