mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 1/4] thunderbolt: Add casts to prevent endianness warnings
@ 2014-06-20 19:42 Andreas Noever
  2014-06-20 19:42 ` [PATCH 2/4] thunderbolt: Fix header declaration of tb_find_cap Andreas Noever
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Andreas Noever @ 2014-06-20 19:42 UTC (permalink / raw)
  To: linux-kernel, Greg KH; +Cc: Andreas Noever

Thunderbolt packets are big endian. Cast pkg->buffer to __be32* when
accessing the checksum.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Andreas Noever <andreas.noever@gmail.com>
---
 drivers/thunderbolt/ctl.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/thunderbolt/ctl.c b/drivers/thunderbolt/ctl.c
index 4c6da92..799634b 100644
--- a/drivers/thunderbolt/ctl.c
+++ b/drivers/thunderbolt/ctl.c
@@ -355,7 +355,7 @@ static int tb_ctl_tx(struct tb_ctl *ctl, void *data, size_t len,
 	pkg->frame.sof = type;
 	pkg->frame.eof = type;
 	cpu_to_be32_array(pkg->buffer, data, len / 4);
-	*(u32 *) (pkg->buffer + len) = tb_crc(pkg->buffer, len);
+	*(__be32 *) (pkg->buffer + len) = tb_crc(pkg->buffer, len);
 
 	res = ring_tx(ctl->tx, &pkg->frame);
 	if (res) /* ring is stopped */
@@ -412,7 +412,7 @@ static void tb_ctl_rx_callback(struct tb_ring *ring, struct ring_frame *frame,
 	}
 
 	frame->size -= 4; /* remove checksum */
-	if (*(u32 *) (pkg->buffer + frame->size)
+	if (*(__be32 *) (pkg->buffer + frame->size)
 			!= tb_crc(pkg->buffer, frame->size)) {
 		tb_ctl_err(pkg->ctl,
 			   "RX: checksum mismatch, dropping packet\n");
-- 
2.0.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-06-20 19:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-20 19:42 [PATCH 1/4] thunderbolt: Add casts to prevent endianness warnings Andreas Noever
2014-06-20 19:42 ` [PATCH 2/4] thunderbolt: Fix header declaration of tb_find_cap Andreas Noever
2014-06-20 19:42 ` [PATCH 3/4] thunderbolt: Make enum tb_drom_entry_type unsigned Andreas Noever
2014-06-20 19:42 ` [PATCH 4/4] thunderbolt: Make tb_eeprom_get_drom_offset static Andreas Noever

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome