diff options
| -rw-r--r-- | drivers/firmware/sigma.c | 2 | ||||
| -rw-r--r-- | include/linux/sigma.h | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/drivers/firmware/sigma.c b/drivers/firmware/sigma.c index 36265de0a9e8..1eedb6f7fdab 100644 --- a/drivers/firmware/sigma.c +++ b/drivers/firmware/sigma.c | |||
| @@ -133,7 +133,7 @@ int process_sigma_firmware(struct i2c_client *client, const char *name) | |||
| 133 | crc = crc32(0, fw->data + sizeof(*ssfw_head), | 133 | crc = crc32(0, fw->data + sizeof(*ssfw_head), |
| 134 | fw->size - sizeof(*ssfw_head)); | 134 | fw->size - sizeof(*ssfw_head)); |
| 135 | pr_debug("%s: crc=%x\n", __func__, crc); | 135 | pr_debug("%s: crc=%x\n", __func__, crc); |
| 136 | if (crc != ssfw_head->crc) | 136 | if (crc != le32_to_cpu(ssfw_head->crc)) |
| 137 | goto done; | 137 | goto done; |
| 138 | 138 | ||
| 139 | ssfw.pos = sizeof(*ssfw_head); | 139 | ssfw.pos = sizeof(*ssfw_head); |
diff --git a/include/linux/sigma.h b/include/linux/sigma.h index 9a138c2946bb..d0de882c0d96 100644 --- a/include/linux/sigma.h +++ b/include/linux/sigma.h | |||
| @@ -24,7 +24,7 @@ struct sigma_firmware { | |||
| 24 | struct sigma_firmware_header { | 24 | struct sigma_firmware_header { |
| 25 | unsigned char magic[7]; | 25 | unsigned char magic[7]; |
| 26 | u8 version; | 26 | u8 version; |
| 27 | u32 crc; | 27 | __le32 crc; |
| 28 | }; | 28 | }; |
| 29 | 29 | ||
| 30 | enum { | 30 | enum { |
| @@ -40,14 +40,14 @@ enum { | |||
| 40 | struct sigma_action { | 40 | struct sigma_action { |
| 41 | u8 instr; | 41 | u8 instr; |
| 42 | u8 len_hi; | 42 | u8 len_hi; |
| 43 | u16 len; | 43 | __le16 len; |
| 44 | u16 addr; | 44 | __be16 addr; |
| 45 | unsigned char payload[]; | 45 | unsigned char payload[]; |
| 46 | }; | 46 | }; |
| 47 | 47 | ||
| 48 | static inline u32 sigma_action_len(struct sigma_action *sa) | 48 | static inline u32 sigma_action_len(struct sigma_action *sa) |
| 49 | { | 49 | { |
| 50 | return (sa->len_hi << 16) | sa->len; | 50 | return (sa->len_hi << 16) | le16_to_cpu(sa->len); |
| 51 | } | 51 | } |
| 52 | 52 | ||
| 53 | extern int process_sigma_firmware(struct i2c_client *client, const char *name); | 53 | extern int process_sigma_firmware(struct i2c_client *client, const char *name); |
