diff options
Diffstat (limited to 'drivers/net/wimax/i2400m/rx.c')
-rw-r--r-- | drivers/net/wimax/i2400m/rx.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wimax/i2400m/rx.c b/drivers/net/wimax/i2400m/rx.c index f9fc38902322..7643850a6fb8 100644 --- a/drivers/net/wimax/i2400m/rx.c +++ b/drivers/net/wimax/i2400m/rx.c | |||
@@ -177,7 +177,8 @@ void i2400m_report_hook_work(struct work_struct *ws) | |||
177 | struct i2400m_work *iw = | 177 | struct i2400m_work *iw = |
178 | container_of(ws, struct i2400m_work, ws); | 178 | container_of(ws, struct i2400m_work, ws); |
179 | struct i2400m_report_hook_args *args = (void *) iw->pl; | 179 | struct i2400m_report_hook_args *args = (void *) iw->pl; |
180 | i2400m_report_hook(iw->i2400m, args->l3l4_hdr, args->size); | 180 | if (iw->i2400m->ready) |
181 | i2400m_report_hook(iw->i2400m, args->l3l4_hdr, args->size); | ||
181 | kfree_skb(args->skb_rx); | 182 | kfree_skb(args->skb_rx); |
182 | i2400m_put(iw->i2400m); | 183 | i2400m_put(iw->i2400m); |
183 | kfree(iw); | 184 | kfree(iw); |
@@ -309,6 +310,9 @@ void i2400m_rx_ctl(struct i2400m *i2400m, struct sk_buff *skb_rx, | |||
309 | skb_get(skb_rx); | 310 | skb_get(skb_rx); |
310 | i2400m_queue_work(i2400m, i2400m_report_hook_work, | 311 | i2400m_queue_work(i2400m, i2400m_report_hook_work, |
311 | GFP_KERNEL, &args, sizeof(args)); | 312 | GFP_KERNEL, &args, sizeof(args)); |
313 | if (unlikely(i2400m->trace_msg_from_user)) | ||
314 | wimax_msg(&i2400m->wimax_dev, "echo", | ||
315 | l3l4_hdr, size, GFP_KERNEL); | ||
312 | result = wimax_msg(&i2400m->wimax_dev, NULL, l3l4_hdr, size, | 316 | result = wimax_msg(&i2400m->wimax_dev, NULL, l3l4_hdr, size, |
313 | GFP_KERNEL); | 317 | GFP_KERNEL); |
314 | if (result < 0) | 318 | if (result < 0) |