[ATM] ambassador,firestream: "-1 >>" is implementation defined
authorAlexey Dobriyan <adobriyan@gmail.com>
Tue, 14 Nov 2006 00:12:08 +0000 (16:12 -0800)
committerDavid S. Miller <davem@sunset.davemloft.net>
Sun, 3 Dec 2006 05:22:25 +0000 (21:22 -0800)
commit5f3f24faf322e54752d1df00cdb768a013de5d1f
tree81a8bf76d9165d3f0798f2cbd6cb967d35b54d3c
parent2ee92d46c6cabedd50edf6f273fa8cf84f707618
[ATM] ambassador,firestream: "-1 >>" is implementation defined

6.5.7(5): The result of E1 >> E2 is E1 right-shifted E2 bit positions.
...
If E1 has a signed type and a negative value, the resulting value
is implementation defined.

So, cast -1 to unsigned type to make result well-defined.

[ Modified to use ~0U based upon recommendation from Al Viro. -DaveM ]

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/atm/ambassador.c
drivers/atm/firestream.c