Commit 04414e2a authored by Eyal Shapira's avatar Eyal Shapira Committed by Luciano Coelho

wlcore: avoid using NET_IP_ALIGN for RX alignment

NET_IP_ALIGN can be overriden on different architectures
and therefore cannot be used in the RX path to account
for the 2 bytes added for alignment (either by the FW
in the case of 18xx or by the host for 12xx).
Instead use an internal define.
Signed-off-by: default avatarEyal Shapira <eyal@wizery.com>
Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
parent 3e3947ff
...@@ -127,7 +127,7 @@ static int wl1271_rx_handle_data(struct wl1271 *wl, u8 *data, u32 length, ...@@ -127,7 +127,7 @@ static int wl1271_rx_handle_data(struct wl1271 *wl, u8 *data, u32 length,
} }
if (rx_align == WLCORE_RX_BUF_UNALIGNED) if (rx_align == WLCORE_RX_BUF_UNALIGNED)
reserved = NET_IP_ALIGN; reserved = RX_BUF_ALIGN;
/* the data read starts with the descriptor */ /* the data read starts with the descriptor */
desc = (struct wl1271_rx_descriptor *) data; desc = (struct wl1271_rx_descriptor *) data;
...@@ -175,7 +175,7 @@ static int wl1271_rx_handle_data(struct wl1271 *wl, u8 *data, u32 length, ...@@ -175,7 +175,7 @@ static int wl1271_rx_handle_data(struct wl1271 *wl, u8 *data, u32 length,
*/ */
memcpy(buf, data + sizeof(*desc), pkt_data_len); memcpy(buf, data + sizeof(*desc), pkt_data_len);
if (rx_align == WLCORE_RX_BUF_PADDED) if (rx_align == WLCORE_RX_BUF_PADDED)
skb_pull(skb, NET_IP_ALIGN); skb_pull(skb, RX_BUF_ALIGN);
*hlid = desc->hlid; *hlid = desc->hlid;
......
...@@ -103,6 +103,12 @@ ...@@ -103,6 +103,12 @@
/* If set, the buffer was padded by the FW to be 4 bytes aligned */ /* If set, the buffer was padded by the FW to be 4 bytes aligned */
#define RX_BUF_PADDED_PAYLOAD BIT(30) #define RX_BUF_PADDED_PAYLOAD BIT(30)
/*
* Account for the padding inserted by the FW in case of RX_ALIGNMENT
* or for fixing alignment in case the packet wasn't aligned.
*/
#define RX_BUF_ALIGN 2
/* Describes the alignment state of a Rx buffer */ /* Describes the alignment state of a Rx buffer */
enum wl_rx_buf_align { enum wl_rx_buf_align {
WLCORE_RX_BUF_ALIGNED, WLCORE_RX_BUF_ALIGNED,
......
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