34 static void wl1251_rx_header(
struct wl1251 *wl,
37 u32 rx_packet_ring_addr;
39 rx_packet_ring_addr = wl->
data_path->rx_packet_ring_addr;
41 rx_packet_ring_addr += wl->
data_path->rx_packet_ring_chunk_size;
46 static void wl1251_rx_status(
struct wl1251 *wl,
147 static void wl1251_rx_body(
struct wl1251 *wl,
152 u8 *rx_buffer, beacon = 0;
154 u32 curr_id, last_id_inc, rx_packet_ring_addr;
160 if (last_id_inc != curr_id) {
162 curr_id, last_id_inc);
168 rx_packet_ring_addr = wl->
data_path->rx_packet_ring_addr +
171 rx_packet_ring_addr += wl->
data_path->rx_packet_ring_chunk_size;
179 rx_buffer =
skb_put(skb, length);
190 wl1251_rx_status(wl, desc, &status, beacon);
193 beacon ?
"beacon" :
"");
195 memcpy(IEEE80211_SKB_RXCB(skb), &status,
sizeof(status));
196 ieee80211_rx_ni(wl->
hw, skb);
199 static void wl1251_rx_ack(
struct wl1251 *wl)
228 wl1251_rx_header(wl, rx_desc);
231 wl1251_rx_body(wl, rx_desc);