MIPS: checksum: fix sparse flooding on asm/checksum.h

csum_fold() in MIPS' asm/checksum.h is another source of sparse flooding
when building different networking source code.
The thing is that only half of __wsum <--> u32 casts inside the function
is forced, which is insufficient.
Add all necessary forced typecasting to stop floods and simplify actual
bug hunting.

Signed-off-by: Alexander Lobakin <alobakin@pm.me>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
This commit is contained in:
Alexander Lobakin 2020-06-20 09:35:00 +00:00 committed by Thomas Bogendoerfer
parent 7b5f96949d
commit ff711d67b1
1 changed files with 2 additions and 2 deletions

View File

@ -113,9 +113,9 @@ static inline __sum16 csum_fold(__wsum csum)
u32 sum = (__force u32)csum;
sum += (sum << 16);
csum = (sum < csum);
csum = (__force __wsum)(sum < (__force u32)csum);
sum >>= 16;
sum += csum;
sum += (__force u32)csum;
return (__force __sum16)~sum;
}