Commit 801dba53 authored by Andreas Noever's avatar Andreas Noever Committed by Greg Kroah-Hartman

thunderbolt: Add casts to prevent endianness warnings

Thunderbolt packets are big endian. Cast pkg->buffer to __be32* when
accessing the checksum.
Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
Signed-off-by: default avatarAndreas Noever <andreas.noever@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 3543fb77
...@@ -355,7 +355,7 @@ static int tb_ctl_tx(struct tb_ctl *ctl, void *data, size_t len, ...@@ -355,7 +355,7 @@ static int tb_ctl_tx(struct tb_ctl *ctl, void *data, size_t len,
pkg->frame.sof = type; pkg->frame.sof = type;
pkg->frame.eof = type; pkg->frame.eof = type;
cpu_to_be32_array(pkg->buffer, data, len / 4); 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); res = ring_tx(ctl->tx, &pkg->frame);
if (res) /* ring is stopped */ if (res) /* ring is stopped */
...@@ -412,7 +412,7 @@ static void tb_ctl_rx_callback(struct tb_ring *ring, struct ring_frame *frame, ...@@ -412,7 +412,7 @@ static void tb_ctl_rx_callback(struct tb_ring *ring, struct ring_frame *frame,
} }
frame->size -= 4; /* remove checksum */ frame->size -= 4; /* remove checksum */
if (*(u32 *) (pkg->buffer + frame->size) if (*(__be32 *) (pkg->buffer + frame->size)
!= tb_crc(pkg->buffer, frame->size)) { != tb_crc(pkg->buffer, frame->size)) {
tb_ctl_err(pkg->ctl, tb_ctl_err(pkg->ctl,
"RX: checksum mismatch, dropping packet\n"); "RX: checksum mismatch, dropping packet\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment