diff options
author | Avinash Patil <patila@marvell.com> | 2012-10-19 22:19:21 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-10-29 15:20:34 -0400 |
commit | f3b369e40a0fbf975ab0e39c2104f184e188afc3 (patch) | |
tree | ee515cc33fb1c9c817d93179441aaf2289af1376 | |
parent | 3a5b8a16856a4864efa5405e40eb05086b6956e6 (diff) |
mwifiex: rx path enhancement to derive priv only once
We derive mwifiex_private structure which is per interface from
received skb's rx_info. Once priv is derived, same priv can be
propagated to other functions instead of callee deriving priv
from rx_info again.
Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/mwifiex/11n_rxreorder.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/mwifiex/main.h | 10 | ||||
-rw-r--r-- | drivers/net/wireless/mwifiex/sta_rx.c | 26 | ||||
-rw-r--r-- | drivers/net/wireless/mwifiex/txrx.c | 10 | ||||
-rw-r--r-- | drivers/net/wireless/mwifiex/uap_txrx.c | 17 | ||||
-rw-r--r-- | drivers/net/wireless/mwifiex/util.c | 19 |
6 files changed, 32 insertions, 58 deletions
diff --git a/drivers/net/wireless/mwifiex/11n_rxreorder.c b/drivers/net/wireless/mwifiex/11n_rxreorder.c index 9402b93b9a36..4a97acd170f7 100644 --- a/drivers/net/wireless/mwifiex/11n_rxreorder.c +++ b/drivers/net/wireless/mwifiex/11n_rxreorder.c | |||
@@ -58,8 +58,7 @@ mwifiex_11n_dispatch_pkt(struct mwifiex_private *priv, | |||
58 | if (priv->bss_role == MWIFIEX_BSS_ROLE_UAP) | 58 | if (priv->bss_role == MWIFIEX_BSS_ROLE_UAP) |
59 | mwifiex_handle_uap_rx_forward(priv, rx_tmp_ptr); | 59 | mwifiex_handle_uap_rx_forward(priv, rx_tmp_ptr); |
60 | else | 60 | else |
61 | mwifiex_process_rx_packet(priv->adapter, | 61 | mwifiex_process_rx_packet(priv, rx_tmp_ptr); |
62 | rx_tmp_ptr); | ||
63 | } | 62 | } |
64 | } | 63 | } |
65 | 64 | ||
@@ -106,7 +105,7 @@ mwifiex_11n_scan_and_dispatch(struct mwifiex_private *priv, | |||
106 | if (priv->bss_role == MWIFIEX_BSS_ROLE_UAP) | 105 | if (priv->bss_role == MWIFIEX_BSS_ROLE_UAP) |
107 | mwifiex_handle_uap_rx_forward(priv, rx_tmp_ptr); | 106 | mwifiex_handle_uap_rx_forward(priv, rx_tmp_ptr); |
108 | else | 107 | else |
109 | mwifiex_process_rx_packet(priv->adapter, rx_tmp_ptr); | 108 | mwifiex_process_rx_packet(priv, rx_tmp_ptr); |
110 | } | 109 | } |
111 | 110 | ||
112 | spin_lock_irqsave(&priv->rx_pkt_lock, flags); | 111 | spin_lock_irqsave(&priv->rx_pkt_lock, flags); |
@@ -442,8 +441,7 @@ int mwifiex_11n_rx_reorder_pkt(struct mwifiex_private *priv, | |||
442 | if (priv->bss_role == MWIFIEX_BSS_ROLE_UAP) | 441 | if (priv->bss_role == MWIFIEX_BSS_ROLE_UAP) |
443 | mwifiex_handle_uap_rx_forward(priv, payload); | 442 | mwifiex_handle_uap_rx_forward(priv, payload); |
444 | else | 443 | else |
445 | mwifiex_process_rx_packet(priv->adapter, | 444 | mwifiex_process_rx_packet(priv, payload); |
446 | payload); | ||
447 | } | 445 | } |
448 | return 0; | 446 | return 0; |
449 | } | 447 | } |
diff --git a/drivers/net/wireless/mwifiex/main.h b/drivers/net/wireless/mwifiex/main.h index 4ed46b694ced..81f8772dcb07 100644 --- a/drivers/net/wireless/mwifiex/main.h +++ b/drivers/net/wireless/mwifiex/main.h | |||
@@ -747,9 +747,9 @@ int mwifiex_shutdown_fw_complete(struct mwifiex_adapter *adapter); | |||
747 | 747 | ||
748 | int mwifiex_dnld_fw(struct mwifiex_adapter *, struct mwifiex_fw_image *); | 748 | int mwifiex_dnld_fw(struct mwifiex_adapter *, struct mwifiex_fw_image *); |
749 | 749 | ||
750 | int mwifiex_recv_packet(struct mwifiex_adapter *, struct sk_buff *skb); | 750 | int mwifiex_recv_packet(struct mwifiex_private *priv, struct sk_buff *skb); |
751 | 751 | ||
752 | int mwifiex_process_mgmt_packet(struct mwifiex_adapter *adapter, | 752 | int mwifiex_process_mgmt_packet(struct mwifiex_private *priv, |
753 | struct sk_buff *skb); | 753 | struct sk_buff *skb); |
754 | 754 | ||
755 | int mwifiex_process_event(struct mwifiex_adapter *adapter); | 755 | int mwifiex_process_event(struct mwifiex_adapter *adapter); |
@@ -806,7 +806,7 @@ void mwifiex_hs_activated_event(struct mwifiex_private *priv, | |||
806 | u8 activated); | 806 | u8 activated); |
807 | int mwifiex_ret_802_11_hs_cfg(struct mwifiex_private *priv, | 807 | int mwifiex_ret_802_11_hs_cfg(struct mwifiex_private *priv, |
808 | struct host_cmd_ds_command *resp); | 808 | struct host_cmd_ds_command *resp); |
809 | int mwifiex_process_rx_packet(struct mwifiex_adapter *adapter, | 809 | int mwifiex_process_rx_packet(struct mwifiex_private *priv, |
810 | struct sk_buff *skb); | 810 | struct sk_buff *skb); |
811 | int mwifiex_sta_prepare_cmd(struct mwifiex_private *, uint16_t cmd_no, | 811 | int mwifiex_sta_prepare_cmd(struct mwifiex_private *, uint16_t cmd_no, |
812 | u16 cmd_action, u32 cmd_oid, | 812 | u16 cmd_action, u32 cmd_oid, |
@@ -816,9 +816,9 @@ int mwifiex_uap_prepare_cmd(struct mwifiex_private *priv, uint16_t cmd_no, | |||
816 | void *data_buf, void *cmd_buf); | 816 | void *data_buf, void *cmd_buf); |
817 | int mwifiex_process_sta_cmdresp(struct mwifiex_private *, u16 cmdresp_no, | 817 | int mwifiex_process_sta_cmdresp(struct mwifiex_private *, u16 cmdresp_no, |
818 | struct host_cmd_ds_command *resp); | 818 | struct host_cmd_ds_command *resp); |
819 | int mwifiex_process_sta_rx_packet(struct mwifiex_adapter *, | 819 | int mwifiex_process_sta_rx_packet(struct mwifiex_private *, |
820 | struct sk_buff *skb); | 820 | struct sk_buff *skb); |
821 | int mwifiex_process_uap_rx_packet(struct mwifiex_adapter *adapter, | 821 | int mwifiex_process_uap_rx_packet(struct mwifiex_private *priv, |
822 | struct sk_buff *skb); | 822 | struct sk_buff *skb); |
823 | int mwifiex_handle_uap_rx_forward(struct mwifiex_private *priv, | 823 | int mwifiex_handle_uap_rx_forward(struct mwifiex_private *priv, |
824 | struct sk_buff *skb); | 824 | struct sk_buff *skb); |
diff --git a/drivers/net/wireless/mwifiex/sta_rx.c b/drivers/net/wireless/mwifiex/sta_rx.c index 07d32b73783e..b5c109504393 100644 --- a/drivers/net/wireless/mwifiex/sta_rx.c +++ b/drivers/net/wireless/mwifiex/sta_rx.c | |||
@@ -38,14 +38,10 @@ | |||
38 | * | 38 | * |
39 | * The completion callback is called after processing in complete. | 39 | * The completion callback is called after processing in complete. |
40 | */ | 40 | */ |
41 | int mwifiex_process_rx_packet(struct mwifiex_adapter *adapter, | 41 | int mwifiex_process_rx_packet(struct mwifiex_private *priv, |
42 | struct sk_buff *skb) | 42 | struct sk_buff *skb) |
43 | { | 43 | { |
44 | int ret; | 44 | int ret; |
45 | struct mwifiex_rxinfo *rx_info = MWIFIEX_SKB_RXCB(skb); | ||
46 | struct mwifiex_private *priv = | ||
47 | mwifiex_get_priv_by_id(adapter, rx_info->bss_num, | ||
48 | rx_info->bss_type); | ||
49 | struct rx_packet_hdr *rx_pkt_hdr; | 45 | struct rx_packet_hdr *rx_pkt_hdr; |
50 | struct rxpd *local_rx_pd; | 46 | struct rxpd *local_rx_pd; |
51 | int hdr_chop; | 47 | int hdr_chop; |
@@ -98,9 +94,9 @@ int mwifiex_process_rx_packet(struct mwifiex_adapter *adapter, | |||
98 | 94 | ||
99 | priv->rxpd_htinfo = local_rx_pd->ht_info; | 95 | priv->rxpd_htinfo = local_rx_pd->ht_info; |
100 | 96 | ||
101 | ret = mwifiex_recv_packet(adapter, skb); | 97 | ret = mwifiex_recv_packet(priv, skb); |
102 | if (ret == -1) | 98 | if (ret == -1) |
103 | dev_err(adapter->dev, "recv packet failed\n"); | 99 | dev_err(priv->adapter->dev, "recv packet failed\n"); |
104 | 100 | ||
105 | return ret; | 101 | return ret; |
106 | } | 102 | } |
@@ -117,21 +113,15 @@ int mwifiex_process_rx_packet(struct mwifiex_adapter *adapter, | |||
117 | * | 113 | * |
118 | * The completion callback is called after processing in complete. | 114 | * The completion callback is called after processing in complete. |
119 | */ | 115 | */ |
120 | int mwifiex_process_sta_rx_packet(struct mwifiex_adapter *adapter, | 116 | int mwifiex_process_sta_rx_packet(struct mwifiex_private *priv, |
121 | struct sk_buff *skb) | 117 | struct sk_buff *skb) |
122 | { | 118 | { |
119 | struct mwifiex_adapter *adapter = priv->adapter; | ||
123 | int ret = 0; | 120 | int ret = 0; |
124 | struct rxpd *local_rx_pd; | 121 | struct rxpd *local_rx_pd; |
125 | struct mwifiex_rxinfo *rx_info = MWIFIEX_SKB_RXCB(skb); | ||
126 | struct rx_packet_hdr *rx_pkt_hdr; | 122 | struct rx_packet_hdr *rx_pkt_hdr; |
127 | u8 ta[ETH_ALEN]; | 123 | u8 ta[ETH_ALEN]; |
128 | u16 rx_pkt_type, rx_pkt_offset, rx_pkt_length, seq_num; | 124 | u16 rx_pkt_type, rx_pkt_offset, rx_pkt_length, seq_num; |
129 | struct mwifiex_private *priv = | ||
130 | mwifiex_get_priv_by_id(adapter, rx_info->bss_num, | ||
131 | rx_info->bss_type); | ||
132 | |||
133 | if (!priv) | ||
134 | return -1; | ||
135 | 125 | ||
136 | local_rx_pd = (struct rxpd *) (skb->data); | 126 | local_rx_pd = (struct rxpd *) (skb->data); |
137 | rx_pkt_type = le16_to_cpu(local_rx_pd->rx_pkt_type); | 127 | rx_pkt_type = le16_to_cpu(local_rx_pd->rx_pkt_type); |
@@ -169,13 +159,13 @@ int mwifiex_process_sta_rx_packet(struct mwifiex_adapter *adapter, | |||
169 | 159 | ||
170 | while (!skb_queue_empty(&list)) { | 160 | while (!skb_queue_empty(&list)) { |
171 | rx_skb = __skb_dequeue(&list); | 161 | rx_skb = __skb_dequeue(&list); |
172 | ret = mwifiex_recv_packet(adapter, rx_skb); | 162 | ret = mwifiex_recv_packet(priv, rx_skb); |
173 | if (ret == -1) | 163 | if (ret == -1) |
174 | dev_err(adapter->dev, "Rx of A-MSDU failed"); | 164 | dev_err(adapter->dev, "Rx of A-MSDU failed"); |
175 | } | 165 | } |
176 | return 0; | 166 | return 0; |
177 | } else if (rx_pkt_type == PKT_TYPE_MGMT) { | 167 | } else if (rx_pkt_type == PKT_TYPE_MGMT) { |
178 | ret = mwifiex_process_mgmt_packet(adapter, skb); | 168 | ret = mwifiex_process_mgmt_packet(priv, skb); |
179 | if (ret) | 169 | if (ret) |
180 | dev_err(adapter->dev, "Rx of mgmt packet failed"); | 170 | dev_err(adapter->dev, "Rx of mgmt packet failed"); |
181 | dev_kfree_skb_any(skb); | 171 | dev_kfree_skb_any(skb); |
@@ -188,7 +178,7 @@ int mwifiex_process_sta_rx_packet(struct mwifiex_adapter *adapter, | |||
188 | */ | 178 | */ |
189 | if (!IS_11N_ENABLED(priv) || | 179 | if (!IS_11N_ENABLED(priv) || |
190 | memcmp(priv->curr_addr, rx_pkt_hdr->eth803_hdr.h_dest, ETH_ALEN)) { | 180 | memcmp(priv->curr_addr, rx_pkt_hdr->eth803_hdr.h_dest, ETH_ALEN)) { |
191 | mwifiex_process_rx_packet(adapter, skb); | 181 | mwifiex_process_rx_packet(priv, skb); |
192 | return ret; | 182 | return ret; |
193 | } | 183 | } |
194 | 184 | ||
diff --git a/drivers/net/wireless/mwifiex/txrx.c b/drivers/net/wireless/mwifiex/txrx.c index 2af263992e83..5cb3f7af8749 100644 --- a/drivers/net/wireless/mwifiex/txrx.c +++ b/drivers/net/wireless/mwifiex/txrx.c | |||
@@ -48,13 +48,19 @@ int mwifiex_handle_rx_packet(struct mwifiex_adapter *adapter, | |||
48 | if (!priv) | 48 | if (!priv) |
49 | priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY); | 49 | priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY); |
50 | 50 | ||
51 | if (!priv) { | ||
52 | dev_err(adapter->dev, "data: priv not found. Drop RX packet\n"); | ||
53 | dev_kfree_skb_any(skb); | ||
54 | return -1; | ||
55 | } | ||
56 | |||
51 | rx_info->bss_num = priv->bss_num; | 57 | rx_info->bss_num = priv->bss_num; |
52 | rx_info->bss_type = priv->bss_type; | 58 | rx_info->bss_type = priv->bss_type; |
53 | 59 | ||
54 | if (priv->bss_role == MWIFIEX_BSS_ROLE_UAP) | 60 | if (priv->bss_role == MWIFIEX_BSS_ROLE_UAP) |
55 | return mwifiex_process_uap_rx_packet(adapter, skb); | 61 | return mwifiex_process_uap_rx_packet(priv, skb); |
56 | 62 | ||
57 | return mwifiex_process_sta_rx_packet(adapter, skb); | 63 | return mwifiex_process_sta_rx_packet(priv, skb); |
58 | } | 64 | } |
59 | EXPORT_SYMBOL_GPL(mwifiex_handle_rx_packet); | 65 | EXPORT_SYMBOL_GPL(mwifiex_handle_rx_packet); |
60 | 66 | ||
diff --git a/drivers/net/wireless/mwifiex/uap_txrx.c b/drivers/net/wireless/mwifiex/uap_txrx.c index 0966ac24b3b4..a018e42d117e 100644 --- a/drivers/net/wireless/mwifiex/uap_txrx.c +++ b/drivers/net/wireless/mwifiex/uap_txrx.c | |||
@@ -146,7 +146,7 @@ int mwifiex_handle_uap_rx_forward(struct mwifiex_private *priv, | |||
146 | } | 146 | } |
147 | 147 | ||
148 | /* Forward unicat/Inter-BSS packets to kernel. */ | 148 | /* Forward unicat/Inter-BSS packets to kernel. */ |
149 | return mwifiex_process_rx_packet(adapter, skb); | 149 | return mwifiex_process_rx_packet(priv, skb); |
150 | } | 150 | } |
151 | 151 | ||
152 | /* | 152 | /* |
@@ -159,24 +159,17 @@ int mwifiex_handle_uap_rx_forward(struct mwifiex_private *priv, | |||
159 | * | 159 | * |
160 | * The completion callback is called after processing is complete. | 160 | * The completion callback is called after processing is complete. |
161 | */ | 161 | */ |
162 | int mwifiex_process_uap_rx_packet(struct mwifiex_adapter *adapter, | 162 | int mwifiex_process_uap_rx_packet(struct mwifiex_private *priv, |
163 | struct sk_buff *skb) | 163 | struct sk_buff *skb) |
164 | { | 164 | { |
165 | struct mwifiex_adapter *adapter = priv->adapter; | ||
165 | int ret; | 166 | int ret; |
166 | struct uap_rxpd *uap_rx_pd; | 167 | struct uap_rxpd *uap_rx_pd; |
167 | struct mwifiex_rxinfo *rx_info = MWIFIEX_SKB_RXCB(skb); | ||
168 | struct rx_packet_hdr *rx_pkt_hdr; | 168 | struct rx_packet_hdr *rx_pkt_hdr; |
169 | u16 rx_pkt_type; | 169 | u16 rx_pkt_type; |
170 | u8 ta[ETH_ALEN], pkt_type; | 170 | u8 ta[ETH_ALEN], pkt_type; |
171 | struct mwifiex_sta_node *node; | 171 | struct mwifiex_sta_node *node; |
172 | 172 | ||
173 | struct mwifiex_private *priv = | ||
174 | mwifiex_get_priv_by_id(adapter, rx_info->bss_num, | ||
175 | rx_info->bss_type); | ||
176 | |||
177 | if (!priv) | ||
178 | return -1; | ||
179 | |||
180 | uap_rx_pd = (struct uap_rxpd *)(skb->data); | 173 | uap_rx_pd = (struct uap_rxpd *)(skb->data); |
181 | rx_pkt_type = le16_to_cpu(uap_rx_pd->rx_pkt_type); | 174 | rx_pkt_type = le16_to_cpu(uap_rx_pd->rx_pkt_type); |
182 | rx_pkt_hdr = (void *)uap_rx_pd + le16_to_cpu(uap_rx_pd->rx_pkt_offset); | 175 | rx_pkt_hdr = (void *)uap_rx_pd + le16_to_cpu(uap_rx_pd->rx_pkt_offset); |
@@ -210,7 +203,7 @@ int mwifiex_process_uap_rx_packet(struct mwifiex_adapter *adapter, | |||
210 | 203 | ||
211 | while (!skb_queue_empty(&list)) { | 204 | while (!skb_queue_empty(&list)) { |
212 | rx_skb = __skb_dequeue(&list); | 205 | rx_skb = __skb_dequeue(&list); |
213 | ret = mwifiex_recv_packet(adapter, rx_skb); | 206 | ret = mwifiex_recv_packet(priv, rx_skb); |
214 | if (ret) | 207 | if (ret) |
215 | dev_err(adapter->dev, | 208 | dev_err(adapter->dev, |
216 | "AP:Rx A-MSDU failed"); | 209 | "AP:Rx A-MSDU failed"); |
@@ -218,7 +211,7 @@ int mwifiex_process_uap_rx_packet(struct mwifiex_adapter *adapter, | |||
218 | 211 | ||
219 | return 0; | 212 | return 0; |
220 | } else if (rx_pkt_type == PKT_TYPE_MGMT) { | 213 | } else if (rx_pkt_type == PKT_TYPE_MGMT) { |
221 | ret = mwifiex_process_mgmt_packet(adapter, skb); | 214 | ret = mwifiex_process_mgmt_packet(priv, skb); |
222 | if (ret) | 215 | if (ret) |
223 | dev_err(adapter->dev, "Rx of mgmt packet failed"); | 216 | dev_err(adapter->dev, "Rx of mgmt packet failed"); |
224 | dev_kfree_skb_any(skb); | 217 | dev_kfree_skb_any(skb); |
diff --git a/drivers/net/wireless/mwifiex/util.c b/drivers/net/wireless/mwifiex/util.c index ae88f80cf86b..0982375ba3b1 100644 --- a/drivers/net/wireless/mwifiex/util.c +++ b/drivers/net/wireless/mwifiex/util.c | |||
@@ -146,20 +146,16 @@ int mwifiex_get_debug_info(struct mwifiex_private *priv, | |||
146 | * to the kernel. | 146 | * to the kernel. |
147 | */ | 147 | */ |
148 | int | 148 | int |
149 | mwifiex_process_mgmt_packet(struct mwifiex_adapter *adapter, | 149 | mwifiex_process_mgmt_packet(struct mwifiex_private *priv, |
150 | struct sk_buff *skb) | 150 | struct sk_buff *skb) |
151 | { | 151 | { |
152 | struct rxpd *rx_pd; | 152 | struct rxpd *rx_pd; |
153 | struct mwifiex_private *priv; | ||
154 | u16 pkt_len; | 153 | u16 pkt_len; |
155 | 154 | ||
156 | if (!skb) | 155 | if (!skb) |
157 | return -1; | 156 | return -1; |
158 | 157 | ||
159 | rx_pd = (struct rxpd *)skb->data; | 158 | rx_pd = (struct rxpd *)skb->data; |
160 | priv = mwifiex_get_priv_by_id(adapter, rx_pd->bss_num, rx_pd->bss_type); | ||
161 | if (!priv) | ||
162 | return -1; | ||
163 | 159 | ||
164 | skb_pull(skb, le16_to_cpu(rx_pd->rx_pkt_offset)); | 160 | skb_pull(skb, le16_to_cpu(rx_pd->rx_pkt_offset)); |
165 | skb_pull(skb, sizeof(pkt_len)); | 161 | skb_pull(skb, sizeof(pkt_len)); |
@@ -190,20 +186,11 @@ mwifiex_process_mgmt_packet(struct mwifiex_adapter *adapter, | |||
190 | * the function creates a blank SKB, fills it with the data from the | 186 | * the function creates a blank SKB, fills it with the data from the |
191 | * received buffer and then sends this new SKB to the kernel. | 187 | * received buffer and then sends this new SKB to the kernel. |
192 | */ | 188 | */ |
193 | int mwifiex_recv_packet(struct mwifiex_adapter *adapter, struct sk_buff *skb) | 189 | int mwifiex_recv_packet(struct mwifiex_private *priv, struct sk_buff *skb) |
194 | { | 190 | { |
195 | struct mwifiex_rxinfo *rx_info; | ||
196 | struct mwifiex_private *priv; | ||
197 | |||
198 | if (!skb) | 191 | if (!skb) |
199 | return -1; | 192 | return -1; |
200 | 193 | ||
201 | rx_info = MWIFIEX_SKB_RXCB(skb); | ||
202 | priv = mwifiex_get_priv_by_id(adapter, rx_info->bss_num, | ||
203 | rx_info->bss_type); | ||
204 | if (!priv) | ||
205 | return -1; | ||
206 | |||
207 | skb->dev = priv->netdev; | 194 | skb->dev = priv->netdev; |
208 | skb->protocol = eth_type_trans(skb, priv->netdev); | 195 | skb->protocol = eth_type_trans(skb, priv->netdev); |
209 | skb->ip_summed = CHECKSUM_NONE; | 196 | skb->ip_summed = CHECKSUM_NONE; |
@@ -225,7 +212,7 @@ int mwifiex_recv_packet(struct mwifiex_adapter *adapter, struct sk_buff *skb) | |||
225 | * fragments. Currently we fail the Filesndl-ht.scr script | 212 | * fragments. Currently we fail the Filesndl-ht.scr script |
226 | * for UDP, hence this fix | 213 | * for UDP, hence this fix |
227 | */ | 214 | */ |
228 | if ((adapter->iface_type == MWIFIEX_USB) && | 215 | if ((priv->adapter->iface_type == MWIFIEX_USB) && |
229 | (skb->truesize > MWIFIEX_RX_DATA_BUF_SIZE)) | 216 | (skb->truesize > MWIFIEX_RX_DATA_BUF_SIZE)) |
230 | skb->truesize += (skb->len - MWIFIEX_RX_DATA_BUF_SIZE); | 217 | skb->truesize += (skb->len - MWIFIEX_RX_DATA_BUF_SIZE); |
231 | 218 | ||