Change le16_to_cpu to use bitshifts.  Not sure why the le16_to_cpu wasn't working as advertised.