mirror of https://gitee.com/openkylin/linux.git
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: Eyal Shapira <eyal@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
This commit is contained in:
parent
3e3947fffc
commit
04414e2aa5
|
@ -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,
|
||||||
*/
|
*/
|
||||||
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 @@
|
||||||
/* 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,
|
||||||
|
|
Loading…
Reference in New Issue