summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rtlwifi/usb.h
diff options
context:
space:
mode:
authorJussi Kivilinna2013-03-17 10:59:24 +0100
committerJohn W. Linville2013-03-25 21:42:22 +0100
commit29bb7013a53d8fc43f79f39d22a15ba8d3e77d9b (patch)
tree824374b426f7e3c2d4a5679b0176fa4add44f996 /drivers/net/wireless/rtlwifi/usb.h
parentrtlwifi: usb: remove extra skb copy on RX path (diff)
downloadkernel-qcow2-linux-29bb7013a53d8fc43f79f39d22a15ba8d3e77d9b.tar.gz
kernel-qcow2-linux-29bb7013a53d8fc43f79f39d22a15ba8d3e77d9b.tar.xz
kernel-qcow2-linux-29bb7013a53d8fc43f79f39d22a15ba8d3e77d9b.zip
rtlwifi: usb: defer rx processing to tasklet
Move processing of received packets to tasklet from hard-irq context. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rtlwifi/usb.h')
-rw-r--r--drivers/net/wireless/rtlwifi/usb.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/rtlwifi/usb.h b/drivers/net/wireless/rtlwifi/usb.h
index 22d7c68258ec..685273ca9561 100644
--- a/drivers/net/wireless/rtlwifi/usb.h
+++ b/drivers/net/wireless/rtlwifi/usb.h
@@ -136,12 +136,14 @@ struct rtl_usb {
void (*usb_tx_cleanup)(struct ieee80211_hw *, struct sk_buff *);
/* Rx */
- u8 in_ep_nums ;
+ u8 in_ep_nums;
u32 in_ep; /* Bulk IN endpoint number */
u32 rx_max_size; /* Bulk IN max buffer size */
u32 rx_urb_num; /* How many Bulk INs are submitted to host. */
struct usb_anchor rx_submitted;
struct usb_anchor rx_cleanup_urbs;
+ struct tasklet_struct rx_work_tasklet;
+ struct sk_buff_head rx_queue;
void (*usb_rx_segregate_hdl)(struct ieee80211_hw *, struct sk_buff *,
struct sk_buff_head *);
void (*usb_rx_hdl)(struct ieee80211_hw *, struct sk_buff *);