aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--firmware/ihex2fw.c6
-rw-r--r--include/linux/ihex.h2
2 files changed, 4 insertions, 4 deletions
diff --git a/firmware/ihex2fw.c b/firmware/ihex2fw.c
index 660b191ed75e..8f7fdaa9e010 100644
--- a/firmware/ihex2fw.c
+++ b/firmware/ihex2fw.c
@@ -250,19 +250,19 @@ static void file_record(struct ihex_binrec *record)
250 250
251static int output_records(int outfd) 251static int output_records(int outfd)
252{ 252{
253 unsigned char zeroes[5] = {0, 0, 0, 0, 0}; 253 unsigned char zeroes[6] = {0, 0, 0, 0, 0, 0};
254 struct ihex_binrec *p = records; 254 struct ihex_binrec *p = records;
255 255
256 while (p) { 256 while (p) {
257 uint16_t writelen = (p->len + 9) & ~3; 257 uint16_t writelen = (p->len + 9) & ~3;
258 258
259 p->addr = htonl(p->addr); 259 p->addr = htonl(p->addr);
260 p->len = htonl(p->len); 260 p->len = htons(p->len);
261 write(outfd, &p->addr, writelen); 261 write(outfd, &p->addr, writelen);
262 p = p->next; 262 p = p->next;
263 } 263 }
264 /* EOF record is zero length, since we don't bother to represent 264 /* EOF record is zero length, since we don't bother to represent
265 the type field in the binary version */ 265 the type field in the binary version */
266 write(outfd, zeroes, 5); 266 write(outfd, zeroes, 6);
267 return 0; 267 return 0;
268} 268}
diff --git a/include/linux/ihex.h b/include/linux/ihex.h
index 2baace2788a7..31d8629e75a1 100644
--- a/include/linux/ihex.h
+++ b/include/linux/ihex.h
@@ -18,7 +18,7 @@ struct ihex_binrec {
18 __be32 addr; 18 __be32 addr;
19 __be16 len; 19 __be16 len;
20 uint8_t data[0]; 20 uint8_t data[0];
21} __attribute__((aligned(4))); 21} __attribute__((packed));
22 22
23/* Find the next record, taking into account the 4-byte alignment */ 23/* Find the next record, taking into account the 4-byte alignment */
24static inline const struct ihex_binrec * 24static inline const struct ihex_binrec *