diff options
Diffstat (limited to 'drivers/net/wireless/wl12xx/rx.c')
-rw-r--r-- | drivers/net/wireless/wl12xx/rx.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/rx.c b/drivers/net/wireless/wl12xx/rx.c index 9357695340c..0450fb49dbb 100644 --- a/drivers/net/wireless/wl12xx/rx.c +++ b/drivers/net/wireless/wl12xx/rx.c | |||
@@ -22,6 +22,7 @@ | |||
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include <linux/gfp.h> | 24 | #include <linux/gfp.h> |
25 | #include <linux/sched.h> | ||
25 | 26 | ||
26 | #include "wl12xx.h" | 27 | #include "wl12xx.h" |
27 | #include "acx.h" | 28 | #include "acx.h" |
@@ -107,6 +108,13 @@ static int wl1271_rx_handle_data(struct wl1271 *wl, u8 *data, u32 length) | |||
107 | /* the data read starts with the descriptor */ | 108 | /* the data read starts with the descriptor */ |
108 | desc = (struct wl1271_rx_descriptor *) data; | 109 | desc = (struct wl1271_rx_descriptor *) data; |
109 | 110 | ||
111 | if (desc->packet_class == WL12XX_RX_CLASS_LOGGER) { | ||
112 | size_t len = length - sizeof(*desc); | ||
113 | wl12xx_copy_fwlog(wl, data + sizeof(*desc), len); | ||
114 | wake_up_interruptible(&wl->fwlog_waitq); | ||
115 | return 0; | ||
116 | } | ||
117 | |||
110 | switch (desc->status & WL1271_RX_DESC_STATUS_MASK) { | 118 | switch (desc->status & WL1271_RX_DESC_STATUS_MASK) { |
111 | /* discard corrupted packets */ | 119 | /* discard corrupted packets */ |
112 | case WL1271_RX_DESC_DRIVER_RX_Q_FAIL: | 120 | case WL1271_RX_DESC_DRIVER_RX_Q_FAIL: |