The local variable 'd' is used to read a 32-bit register. One branch of
the code shifts the register value 16 bits to the right to get the high
16-bits. Change the type of the local variable so that this shift works
correctly.
Reported by: coverity
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        unsigned int mask = (s->maxdata + 1) >> 1;
        int i, n;
        unsigned signbits;
-       unsigned short d;
+       unsigned int d;
        unsigned long dl;
 
        ni_load_channelgain_list(dev, s, 1, &insn->chanspec);