On Sat, Mar 22, 2014 at 10:33:29PM +0800, Axel Lin wrote: > current_remaining_bytes is an unsigned long and cannot be below 0. > - if (xfer->bits_per_word > 8) { > + > + if (xfer->bits_per_word > 8) > as->current_remaining_bytes -= 2; > - if (as->current_remaining_bytes < 0) > - as->current_remaining_bytes = 0; > - } else { > + else > as->current_remaining_bytes--; > - } This removes an error check in the case that we set the remaining bytes to -1. The length validation the core does should ensure that never happens but it seems wrong to just ignore that - we should at least note in the changelog that the analysis has been done. Are you sure that the best fix isn't to just use an int here?