|
@@ -16,6 +16,7 @@
|
|
|
#include "qt1010.h"
|
|
|
#include "tda1004x.h"
|
|
|
#include "tda827x.h"
|
|
|
+#include <asm/unaligned.h>
|
|
|
|
|
|
/* debug */
|
|
|
static int dvb_usb_m920x_debug;
|
|
@@ -347,13 +348,13 @@ static int m920x_firmware_download(struct usb_device *udev, const struct firmwar
|
|
|
|
|
|
for (pass = 0; pass < 2; pass++) {
|
|
|
for (i = 0; i + (sizeof(u16) * 3) < fw->size;) {
|
|
|
- value = le16_to_cpu(*(u16 *)(fw->data + i));
|
|
|
+ value = get_unaligned_le16(fw->data + i);
|
|
|
i += sizeof(u16);
|
|
|
|
|
|
- index = le16_to_cpu(*(u16 *)(fw->data + i));
|
|
|
+ index = get_unaligned_le16(fw->data + i);
|
|
|
i += sizeof(u16);
|
|
|
|
|
|
- size = le16_to_cpu(*(u16 *)(fw->data + i));
|
|
|
+ size = get_unaligned_le16(fw->data + i);
|
|
|
i += sizeof(u16);
|
|
|
|
|
|
if (pass == 1) {
|