On Fri, 19 Sep 2008, Ralf Baechle wrote: > > Seriously though, I smell a caller somewhere fails to call csum_fold() on > > the result obtained from csum_partial() where it should, so it would be > > good to fix the bug rather than trying to cover it. Bryan, would you be > > able to track down the caller? > > Not quite. Internally the IP stack maintains the checksum as a 32-bit > value for performance sake. It only folds it to 16-bit when it has to. That's been my understanding from my little investigation yesterday evening, but Bryan's problem has come from somewhere after all and Atsushi-san's 32-bit addition fix didn't reportedly work while full folding did, so I have assumed there must be some dependency somewhere where the final folding does not happen. I have referred to the original report concerning SPARC64 now and it seems to narrow the problem down to the 32 MSBs only, so I would prefer to have any confusion cleared. Bryan, can you please verify whether Ralf's fix works for you or not? Maciej