+ if (le16_to_cpu(desc->ds_cc) != 0)It's not that != 0 or le16_to_cpu() are necessary here but we're on the little-endian platforms anyways...
Let's leave optimizing this out to compiler. In the code, I'd vote for always having explicit conversion operation when reading __le16 value from memory. Nikita