V4L/DVB (7972): or51132.c: unaligned
authorAl Viro <viro@ftp.linux.org.uk>
Wed, 21 May 2008 03:33:11 +0000 (00:33 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Thu, 5 Jun 2008 09:35:53 +0000 (06:35 -0300)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/dvb/frontends/or51132.c

index c7b5785f81f263321c83d54e93a26d51348ad333..5ed32544de3964798a38f6683109acd92b693971 100644 (file)
@@ -126,7 +126,7 @@ static int or51132_readreg(struct or51132_state *state, u8 reg)
                       reg, err);
                return -EREMOTEIO;
        }
-       return le16_to_cpup((u16*)buf);
+       return buf[0] | (buf[1] << 8);
 }
 
 static int or51132_load_firmware (struct dvb_frontend* fe, const struct firmware *fw)
@@ -140,9 +140,9 @@ static int or51132_load_firmware (struct dvb_frontend* fe, const struct firmware
        dprintk("Firmware is %Zd bytes\n",fw->size);
 
        /* Get size of firmware A and B */
-       firmwareAsize = le32_to_cpu(*((u32*)fw->data));
+       firmwareAsize = le32_to_cpu(*((__le32*)fw->data));
        dprintk("FirmwareA is %i bytes\n",firmwareAsize);
-       firmwareBsize = le32_to_cpu(*((u32*)(fw->data+4)));
+       firmwareBsize = le32_to_cpu(*((__le32*)(fw->data+4)));
        dprintk("FirmwareB is %i bytes\n",firmwareBsize);
 
        /* Upload firmware */