.. | .. |
---|
5167 | 5167 | return 0; |
---|
5168 | 5168 | } |
---|
5169 | 5169 | |
---|
5170 | | -static int proc_get_amsdu_mode(struct seq_file *m, void *v) |
---|
5171 | | -{ |
---|
5172 | | - struct net_device *dev = m->private; |
---|
5173 | | - _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); |
---|
5174 | | - struct registry_priv *pregpriv = &padapter->registrypriv; |
---|
5175 | | - |
---|
5176 | | - if (pregpriv) { |
---|
5177 | | - if (pregpriv->amsdu_mode == RTW_AMSDU_MODE_NON_SPP) |
---|
5178 | | - RTW_PRINT_SEL(m, "amsdu mode: NON-SPP\n"); |
---|
5179 | | - else if (pregpriv->amsdu_mode == RTW_AMSDU_MODE_SPP) |
---|
5180 | | - RTW_PRINT_SEL(m, "amsdu mode: SPP\n"); |
---|
5181 | | - else if (pregpriv->amsdu_mode == RTW_AMSDU_MODE_ALL_DROP) |
---|
5182 | | - RTW_PRINT_SEL(m, "amsdu mode: ALL DROP\n"); |
---|
5183 | | - else |
---|
5184 | | - RTW_PRINT_SEL(m, "unexpected amsdu mode\n"); |
---|
5185 | | - } |
---|
5186 | | - |
---|
5187 | | - return 0; |
---|
5188 | | -} |
---|
5189 | | - |
---|
5190 | | -static ssize_t proc_set_amsdu_mode(struct file *file, const char __user *buffer, size_t count, loff_t *pos, void *data) |
---|
5191 | | -{ |
---|
5192 | | - struct net_device *dev = data; |
---|
5193 | | - _adapter *padapter = (_adapter *)rtw_netdev_priv(dev); |
---|
5194 | | - struct registry_priv *pregpriv = &padapter->registrypriv; |
---|
5195 | | - char tmp[32]; |
---|
5196 | | - u32 mode; |
---|
5197 | | - u8 bw_2g; |
---|
5198 | | - u8 bw_5g; |
---|
5199 | | - |
---|
5200 | | - if (count < 1) |
---|
5201 | | - return -EFAULT; |
---|
5202 | | - |
---|
5203 | | - if (count > sizeof(tmp)) { |
---|
5204 | | - rtw_warn_on(1); |
---|
5205 | | - return -EFAULT; |
---|
5206 | | - } |
---|
5207 | | - |
---|
5208 | | - if (buffer && !copy_from_user(tmp, buffer, count)) { |
---|
5209 | | - |
---|
5210 | | - int num = sscanf(tmp, "%d", &mode); |
---|
5211 | | - |
---|
5212 | | - if (mode == RTW_AMSDU_MODE_NON_SPP |
---|
5213 | | - || mode == RTW_AMSDU_MODE_SPP |
---|
5214 | | - || mode == RTW_AMSDU_MODE_ALL_DROP) { |
---|
5215 | | - pregpriv->amsdu_mode = mode; |
---|
5216 | | - RTW_INFO("amsdu mode=%u\n", mode); |
---|
5217 | | - } else { |
---|
5218 | | - RTW_INFO("set unexpected mode = %d, won't apply\n", mode); |
---|
5219 | | - } |
---|
5220 | | - } |
---|
5221 | | - |
---|
5222 | | - return count; |
---|
5223 | | - |
---|
5224 | | -} |
---|
5225 | | - |
---|
5226 | | - |
---|
5227 | 5170 | /* |
---|
5228 | 5171 | * rtw_adapter_proc: |
---|
5229 | 5172 | * init/deinit when register/unregister net_device |
---|
.. | .. |
---|
5681 | 5624 | RTW_PROC_HDL_SSEQ("war_offload_mdns_service_info_txt_rsp", proc_get_war_offload_mdns_txt_rsp, proc_set_war_offload_mdns_txt_rsp), |
---|
5682 | 5625 | #endif /* CONFIG_OFFLOAD_MDNS_V4 || CONFIG_OFFLOAD_MDNS_V6 */ |
---|
5683 | 5626 | #endif /* CONFIG_WAR_OFFLOAD */ |
---|
5684 | | - RTW_PROC_HDL_SSEQ("rtw_amsdu_mode", proc_get_amsdu_mode, proc_set_amsdu_mode), |
---|
| 5627 | + |
---|
5685 | 5628 | }; |
---|
5686 | 5629 | |
---|
5687 | 5630 | const int adapter_proc_hdls_num = sizeof(adapter_proc_hdls) / sizeof(struct rtw_proc_hdl); |
---|