Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
61a3d4f9
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
61a3d4f9
编写于
9月 08, 2014
作者:
J
John W. Linville
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
上级
db906eb2
1bd3fa7b
变更
25
隐藏空白更改
内联
并排
Showing
25 changed file
with
86 addition
and
38 deletion
+86
-38
drivers/bcma/host_pci.c
drivers/bcma/host_pci.c
+1
-0
drivers/net/wireless/at76c50x-usb.c
drivers/net/wireless/at76c50x-usb.c
+1
-2
drivers/net/wireless/ath/ath9k/spectral.c
drivers/net/wireless/ath/ath9k/spectral.c
+1
-1
drivers/net/wireless/iwlwifi/Kconfig
drivers/net/wireless/iwlwifi/Kconfig
+0
-2
drivers/net/wireless/iwlwifi/dvm/rxon.c
drivers/net/wireless/iwlwifi/dvm/rxon.c
+12
-0
drivers/net/wireless/iwlwifi/iwl-7000.c
drivers/net/wireless/iwlwifi/iwl-7000.c
+2
-2
drivers/net/wireless/iwlwifi/iwl-8000.c
drivers/net/wireless/iwlwifi/iwl-8000.c
+1
-1
drivers/net/wireless/rtlwifi/btcoexist/halbtcoutsrc.c
drivers/net/wireless/rtlwifi/btcoexist/halbtcoutsrc.c
+1
-1
drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
+1
-0
drivers/ssb/b43_pci_bridge.c
drivers/ssb/b43_pci_bridge.c
+1
-0
include/net/bluetooth/hci_core.h
include/net/bluetooth/hci_core.h
+2
-0
include/net/netns/ieee802154_6lowpan.h
include/net/netns/ieee802154_6lowpan.h
+0
-1
include/net/regulatory.h
include/net/regulatory.h
+1
-1
net/bluetooth/hci_conn.c
net/bluetooth/hci_conn.c
+8
-0
net/bluetooth/hci_core.c
net/bluetooth/hci_core.c
+12
-2
net/bluetooth/hci_event.c
net/bluetooth/hci_event.c
+15
-2
net/ieee802154/6lowpan_rtnl.c
net/ieee802154/6lowpan_rtnl.c
+2
-2
net/ieee802154/reassembly.c
net/ieee802154/reassembly.c
+3
-12
net/mac80211/chan.c
net/mac80211/chan.c
+2
-0
net/mac80211/debugfs_sta.c
net/mac80211/debugfs_sta.c
+1
-1
net/mac80211/iface.c
net/mac80211/iface.c
+2
-2
net/mac80211/mesh_plink.c
net/mac80211/mesh_plink.c
+6
-1
net/mac80211/mlme.c
net/mac80211/mlme.c
+1
-2
net/mac80211/sta_info.c
net/mac80211/sta_info.c
+5
-2
net/mac802154/wpan.c
net/mac802154/wpan.c
+5
-1
未找到文件。
drivers/bcma/host_pci.c
浏览文件 @
61a3d4f9
...
...
@@ -282,6 +282,7 @@ static const struct pci_device_id bcma_pci_bridge_tbl[] = {
{
PCI_DEVICE
(
PCI_VENDOR_ID_BROADCOM
,
0x43a9
)
},
{
PCI_DEVICE
(
PCI_VENDOR_ID_BROADCOM
,
0x43aa
)
},
{
PCI_DEVICE
(
PCI_VENDOR_ID_BROADCOM
,
0x4727
)
},
{
PCI_DEVICE
(
PCI_VENDOR_ID_BROADCOM
,
43227
)
},
/* 0xA8DB */
{
0
,
},
};
MODULE_DEVICE_TABLE
(
pci
,
bcma_pci_bridge_tbl
);
...
...
drivers/net/wireless/at76c50x-usb.c
浏览文件 @
61a3d4f9
...
...
@@ -2423,8 +2423,6 @@ static void at76_delete_device(struct at76_priv *priv)
kfree_skb
(
priv
->
rx_skb
);
usb_put_dev
(
priv
->
udev
);
at76_dbg
(
DBG_PROC_ENTRY
,
"%s: before freeing priv/ieee80211_hw"
,
__func__
);
ieee80211_free_hw
(
priv
->
hw
);
...
...
@@ -2558,6 +2556,7 @@ static void at76_disconnect(struct usb_interface *interface)
wiphy_info
(
priv
->
hw
->
wiphy
,
"disconnecting
\n
"
);
at76_delete_device
(
priv
);
usb_put_dev
(
priv
->
udev
);
dev_info
(
&
interface
->
dev
,
"disconnected
\n
"
);
}
...
...
drivers/net/wireless/ath/ath9k/spectral.c
浏览文件 @
61a3d4f9
...
...
@@ -253,7 +253,7 @@ static ssize_t write_file_spec_scan_ctl(struct file *file,
if
(
strncmp
(
"trigger"
,
buf
,
7
)
==
0
)
{
ath9k_spectral_scan_trigger
(
sc
->
hw
);
}
else
if
(
strncmp
(
"background"
,
buf
,
9
)
==
0
)
{
}
else
if
(
strncmp
(
"background"
,
buf
,
10
)
==
0
)
{
ath9k_spectral_scan_config
(
sc
->
hw
,
SPECTRAL_BACKGROUND
);
ath_dbg
(
common
,
CONFIG
,
"spectral scan: background mode enabled
\n
"
);
}
else
if
(
strncmp
(
"chanscan"
,
buf
,
8
)
==
0
)
{
...
...
drivers/net/wireless/iwlwifi/Kconfig
浏览文件 @
61a3d4f9
...
...
@@ -51,7 +51,6 @@ config IWLWIFI_LEDS
config IWLDVM
tristate "Intel Wireless WiFi DVM Firmware support"
depends on m
default IWLWIFI
help
This is the driver that supports the DVM firmware which is
...
...
@@ -60,7 +59,6 @@ config IWLDVM
config IWLMVM
tristate "Intel Wireless WiFi MVM Firmware support"
depends on m
help
This is the driver that supports the MVM firmware which is
currently only available for 7260 and 3160 devices.
...
...
drivers/net/wireless/iwlwifi/dvm/rxon.c
浏览文件 @
61a3d4f9
...
...
@@ -1068,6 +1068,13 @@ int iwlagn_commit_rxon(struct iwl_priv *priv, struct iwl_rxon_context *ctx)
/* recalculate basic rates */
iwl_calc_basic_rates
(
priv
,
ctx
);
/*
* force CTS-to-self frames protection if RTS-CTS is not preferred
* one aggregation protection method
*/
if
(
!
priv
->
hw_params
.
use_rts_for_aggregation
)
ctx
->
staging
.
flags
|=
RXON_FLG_SELF_CTS_EN
;
if
((
ctx
->
vif
&&
ctx
->
vif
->
bss_conf
.
use_short_slot
)
||
!
(
ctx
->
staging
.
flags
&
RXON_FLG_BAND_24G_MSK
))
ctx
->
staging
.
flags
|=
RXON_FLG_SHORT_SLOT_MSK
;
...
...
@@ -1473,6 +1480,11 @@ void iwlagn_bss_info_changed(struct ieee80211_hw *hw,
else
ctx
->
staging
.
flags
&=
~
RXON_FLG_TGG_PROTECT_MSK
;
if
(
bss_conf
->
use_cts_prot
)
ctx
->
staging
.
flags
|=
RXON_FLG_SELF_CTS_EN
;
else
ctx
->
staging
.
flags
&=
~
RXON_FLG_SELF_CTS_EN
;
memcpy
(
ctx
->
staging
.
bssid_addr
,
bss_conf
->
bssid
,
ETH_ALEN
);
if
(
vif
->
type
==
NL80211_IFTYPE_AP
||
...
...
drivers/net/wireless/iwlwifi/iwl-7000.c
浏览文件 @
61a3d4f9
...
...
@@ -69,8 +69,8 @@
#include "iwl-agn-hw.h"
/* Highest firmware API version supported */
#define IWL7260_UCODE_API_MAX
9
#define IWL3160_UCODE_API_MAX
9
#define IWL7260_UCODE_API_MAX
10
#define IWL3160_UCODE_API_MAX
10
/* Oldest version we won't warn about */
#define IWL7260_UCODE_API_OK 9
...
...
drivers/net/wireless/iwlwifi/iwl-8000.c
浏览文件 @
61a3d4f9
...
...
@@ -69,7 +69,7 @@
#include "iwl-agn-hw.h"
/* Highest firmware API version supported */
#define IWL8000_UCODE_API_MAX
9
#define IWL8000_UCODE_API_MAX
10
/* Oldest version we won't warn about */
#define IWL8000_UCODE_API_OK 8
...
...
drivers/net/wireless/rtlwifi/btcoexist/halbtcoutsrc.c
浏览文件 @
61a3d4f9
...
...
@@ -101,7 +101,7 @@ static bool halbtc_legacy(struct rtl_priv *adapter)
bool
is_legacy
=
false
;
if
((
mac
->
mode
==
WIRELESS_MODE_B
)
||
(
mac
->
mode
==
WIRELESS_MODE_
B
))
if
((
mac
->
mode
==
WIRELESS_MODE_B
)
||
(
mac
->
mode
==
WIRELESS_MODE_
G
))
is_legacy
=
true
;
return
is_legacy
;
...
...
drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
浏览文件 @
61a3d4f9
...
...
@@ -317,6 +317,7 @@ static struct usb_device_id rtl8192c_usb_ids[] = {
{
RTL_USB_DEVICE
(
0x0bda
,
0x5088
,
rtl92cu_hal_cfg
)},
/*Thinkware-CC&C*/
{
RTL_USB_DEVICE
(
0x0df6
,
0x0052
,
rtl92cu_hal_cfg
)},
/*Sitecom - Edimax*/
{
RTL_USB_DEVICE
(
0x0df6
,
0x005c
,
rtl92cu_hal_cfg
)},
/*Sitecom - Edimax*/
{
RTL_USB_DEVICE
(
0x0df6
,
0x0070
,
rtl92cu_hal_cfg
)},
/*Sitecom - 150N */
{
RTL_USB_DEVICE
(
0x0df6
,
0x0077
,
rtl92cu_hal_cfg
)},
/*Sitecom-WLA2100V2*/
{
RTL_USB_DEVICE
(
0x0eb0
,
0x9071
,
rtl92cu_hal_cfg
)},
/*NO Brand - Etop*/
{
RTL_USB_DEVICE
(
0x4856
,
0x0091
,
rtl92cu_hal_cfg
)},
/*NetweeN - Feixun*/
...
...
drivers/ssb/b43_pci_bridge.c
浏览文件 @
61a3d4f9
...
...
@@ -38,6 +38,7 @@ static const struct pci_device_id b43_pci_bridge_tbl[] = {
{
PCI_DEVICE
(
PCI_VENDOR_ID_BROADCOM
,
0x432b
)
},
{
PCI_DEVICE
(
PCI_VENDOR_ID_BROADCOM
,
0x432c
)
},
{
PCI_DEVICE
(
PCI_VENDOR_ID_BROADCOM
,
0x4350
)
},
{
PCI_DEVICE
(
PCI_VENDOR_ID_BROADCOM
,
0x4351
)
},
{
0
,
},
};
MODULE_DEVICE_TABLE
(
pci
,
b43_pci_bridge_tbl
);
...
...
include/net/bluetooth/hci_core.h
浏览文件 @
61a3d4f9
...
...
@@ -464,6 +464,8 @@ struct hci_conn_params {
HCI_AUTO_CONN_ALWAYS
,
HCI_AUTO_CONN_LINK_LOSS
,
}
auto_connect
;
struct
hci_conn
*
conn
;
};
extern
struct
list_head
hci_dev_list
;
...
...
include/net/netns/ieee802154_6lowpan.h
浏览文件 @
61a3d4f9
...
...
@@ -16,7 +16,6 @@ struct netns_sysctl_lowpan {
struct
netns_ieee802154_lowpan
{
struct
netns_sysctl_lowpan
sysctl
;
struct
netns_frags
frags
;
int
max_dsize
;
};
#endif
include/net/regulatory.h
浏览文件 @
61a3d4f9
...
...
@@ -167,7 +167,7 @@ struct ieee80211_reg_rule {
struct
ieee80211_regdomain
{
struct
rcu_head
rcu_head
;
u32
n_reg_rules
;
char
alpha2
[
2
];
char
alpha2
[
3
];
enum
nl80211_dfs_regions
dfs_region
;
struct
ieee80211_reg_rule
reg_rules
[];
};
...
...
net/bluetooth/hci_conn.c
浏览文件 @
61a3d4f9
...
...
@@ -589,6 +589,14 @@ EXPORT_SYMBOL(hci_get_route);
void
hci_le_conn_failed
(
struct
hci_conn
*
conn
,
u8
status
)
{
struct
hci_dev
*
hdev
=
conn
->
hdev
;
struct
hci_conn_params
*
params
;
params
=
hci_pend_le_action_lookup
(
&
hdev
->
pend_le_conns
,
&
conn
->
dst
,
conn
->
dst_type
);
if
(
params
&&
params
->
conn
)
{
hci_conn_drop
(
params
->
conn
);
params
->
conn
=
NULL
;
}
conn
->
state
=
BT_CLOSED
;
...
...
net/bluetooth/hci_core.c
浏览文件 @
61a3d4f9
...
...
@@ -2538,8 +2538,13 @@ static void hci_pend_le_actions_clear(struct hci_dev *hdev)
{
struct
hci_conn_params
*
p
;
list_for_each_entry
(
p
,
&
hdev
->
le_conn_params
,
list
)
list_for_each_entry
(
p
,
&
hdev
->
le_conn_params
,
list
)
{
if
(
p
->
conn
)
{
hci_conn_drop
(
p
->
conn
);
p
->
conn
=
NULL
;
}
list_del_init
(
&
p
->
action
);
}
BT_DBG
(
"All LE pending actions cleared"
);
}
...
...
@@ -2580,8 +2585,8 @@ static int hci_dev_do_close(struct hci_dev *hdev)
hci_dev_lock
(
hdev
);
hci_inquiry_cache_flush
(
hdev
);
hci_conn_hash_flush
(
hdev
);
hci_pend_le_actions_clear
(
hdev
);
hci_conn_hash_flush
(
hdev
);
hci_dev_unlock
(
hdev
);
hci_notify
(
hdev
,
HCI_DEV_DOWN
);
...
...
@@ -3729,6 +3734,9 @@ void hci_conn_params_del(struct hci_dev *hdev, bdaddr_t *addr, u8 addr_type)
if
(
!
params
)
return
;
if
(
params
->
conn
)
hci_conn_drop
(
params
->
conn
);
list_del
(
&
params
->
action
);
list_del
(
&
params
->
list
);
kfree
(
params
);
...
...
@@ -3759,6 +3767,8 @@ void hci_conn_params_clear_all(struct hci_dev *hdev)
struct
hci_conn_params
*
params
,
*
tmp
;
list_for_each_entry_safe
(
params
,
tmp
,
&
hdev
->
le_conn_params
,
list
)
{
if
(
params
->
conn
)
hci_conn_drop
(
params
->
conn
);
list_del
(
&
params
->
action
);
list_del
(
&
params
->
list
);
kfree
(
params
);
...
...
net/bluetooth/hci_event.c
浏览文件 @
61a3d4f9
...
...
@@ -4226,8 +4226,13 @@ static void hci_le_conn_complete_evt(struct hci_dev *hdev, struct sk_buff *skb)
hci_proto_connect_cfm
(
conn
,
ev
->
status
);
params
=
hci_conn_params_lookup
(
hdev
,
&
conn
->
dst
,
conn
->
dst_type
);
if
(
params
)
if
(
params
)
{
list_del_init
(
&
params
->
action
);
if
(
params
->
conn
)
{
hci_conn_drop
(
params
->
conn
);
params
->
conn
=
NULL
;
}
}
unlock:
hci_update_background_scan
(
hdev
);
...
...
@@ -4309,8 +4314,16 @@ static void check_pending_le_conn(struct hci_dev *hdev, bdaddr_t *addr,
conn
=
hci_connect_le
(
hdev
,
addr
,
addr_type
,
BT_SECURITY_LOW
,
HCI_LE_AUTOCONN_TIMEOUT
,
HCI_ROLE_MASTER
);
if
(
!
IS_ERR
(
conn
))
if
(
!
IS_ERR
(
conn
))
{
/* Store the pointer since we don't really have any
* other owner of the object besides the params that
* triggered it. This way we can abort the connection if
* the parameters get removed and keep the reference
* count consistent once the connection is established.
*/
params
->
conn
=
conn
;
return
;
}
switch
(
PTR_ERR
(
conn
))
{
case
-
EBUSY
:
...
...
net/ieee802154/6lowpan_rtnl.c
浏览文件 @
61a3d4f9
...
...
@@ -238,7 +238,7 @@ lowpan_alloc_frag(struct sk_buff *skb, int size,
return
ERR_PTR
(
-
rc
);
}
}
else
{
frag
=
ERR_PTR
(
ENOMEM
);
frag
=
ERR_PTR
(
-
ENOMEM
);
}
return
frag
;
...
...
@@ -429,7 +429,7 @@ static void lowpan_setup(struct net_device *dev)
/* Frame Control + Sequence Number + Address fields + Security Header */
dev
->
hard_header_len
=
2
+
1
+
20
+
14
;
dev
->
needed_tailroom
=
2
;
/* FCS */
dev
->
mtu
=
1281
;
dev
->
mtu
=
IPV6_MIN_MTU
;
dev
->
tx_queue_len
=
0
;
dev
->
flags
=
IFF_BROADCAST
|
IFF_MULTICAST
;
dev
->
watchdog_timeo
=
0
;
...
...
net/ieee802154/reassembly.c
浏览文件 @
61a3d4f9
...
...
@@ -355,8 +355,6 @@ int lowpan_frag_rcv(struct sk_buff *skb, const u8 frag_type)
struct
net
*
net
=
dev_net
(
skb
->
dev
);
struct
lowpan_frag_info
*
frag_info
=
lowpan_cb
(
skb
);
struct
ieee802154_addr
source
,
dest
;
struct
netns_ieee802154_lowpan
*
ieee802154_lowpan
=
net_ieee802154_lowpan
(
net
);
int
err
;
source
=
mac_cb
(
skb
)
->
source
;
...
...
@@ -366,8 +364,10 @@ int lowpan_frag_rcv(struct sk_buff *skb, const u8 frag_type)
if
(
err
<
0
)
goto
err
;
if
(
frag_info
->
d_size
>
ieee802154_lowpan
->
max_dsize
)
if
(
frag_info
->
d_size
>
IPV6_MIN_MTU
)
{
net_warn_ratelimited
(
"lowpan_frag_rcv: datagram size exceeds MTU
\n
"
);
goto
err
;
}
fq
=
fq_find
(
net
,
frag_info
,
&
source
,
&
dest
);
if
(
fq
!=
NULL
)
{
...
...
@@ -415,13 +415,6 @@ static struct ctl_table lowpan_frags_ns_ctl_table[] = {
.
mode
=
0644
,
.
proc_handler
=
proc_dointvec_jiffies
,
},
{
.
procname
=
"6lowpanfrag_max_datagram_size"
,
.
data
=
&
init_net
.
ieee802154_lowpan
.
max_dsize
,
.
maxlen
=
sizeof
(
int
),
.
mode
=
0644
,
.
proc_handler
=
proc_dointvec
},
{
}
};
...
...
@@ -458,7 +451,6 @@ static int __net_init lowpan_frags_ns_sysctl_register(struct net *net)
table
[
1
].
data
=
&
ieee802154_lowpan
->
frags
.
low_thresh
;
table
[
1
].
extra2
=
&
ieee802154_lowpan
->
frags
.
high_thresh
;
table
[
2
].
data
=
&
ieee802154_lowpan
->
frags
.
timeout
;
table
[
3
].
data
=
&
ieee802154_lowpan
->
max_dsize
;
/* Don't export sysctls to unprivileged users */
if
(
net
->
user_ns
!=
&
init_user_ns
)
...
...
@@ -533,7 +525,6 @@ static int __net_init lowpan_frags_init_net(struct net *net)
ieee802154_lowpan
->
frags
.
high_thresh
=
IPV6_FRAG_HIGH_THRESH
;
ieee802154_lowpan
->
frags
.
low_thresh
=
IPV6_FRAG_LOW_THRESH
;
ieee802154_lowpan
->
frags
.
timeout
=
IPV6_FRAG_TIMEOUT
;
ieee802154_lowpan
->
max_dsize
=
0xFFFF
;
inet_frags_init_net
(
&
ieee802154_lowpan
->
frags
);
...
...
net/mac80211/chan.c
浏览文件 @
61a3d4f9
...
...
@@ -541,6 +541,8 @@ static void ieee80211_recalc_chanctx_chantype(struct ieee80211_local *local,
continue
;
if
(
rcu_access_pointer
(
sdata
->
vif
.
chanctx_conf
)
!=
conf
)
continue
;
if
(
sdata
->
vif
.
type
==
NL80211_IFTYPE_AP_VLAN
)
continue
;
if
(
!
compat
)
compat
=
&
sdata
->
vif
.
bss_conf
.
chandef
;
...
...
net/mac80211/debugfs_sta.c
浏览文件 @
61a3d4f9
...
...
@@ -168,7 +168,7 @@ static ssize_t sta_agg_status_read(struct file *file, char __user *userbuf,
p
+=
scnprintf
(
p
,
sizeof
(
buf
)
+
buf
-
p
,
"next dialog_token: %#02x
\n
"
,
sta
->
ampdu_mlme
.
dialog_token_allocator
+
1
);
p
+=
scnprintf
(
p
,
sizeof
(
buf
)
+
buf
-
p
,
"TID
\t\t
RX
active
\t
DTKN
\t
SSN
\t\t
TX
\t
DTKN
\t
pending
\n
"
);
"TID
\t\t
RX
\t
DTKN
\t
SSN
\t\t
TX
\t
DTKN
\t
pending
\n
"
);
for
(
i
=
0
;
i
<
IEEE80211_NUM_TIDS
;
i
++
)
{
tid_rx
=
rcu_dereference
(
sta
->
ampdu_mlme
.
tid_rx
[
i
]);
...
...
net/mac80211/iface.c
浏览文件 @
61a3d4f9
...
...
@@ -1175,8 +1175,8 @@ static void ieee80211_iface_work(struct work_struct *work)
if
(
sta
)
{
u16
last_seq
;
last_seq
=
le16_to_cpu
(
sta
->
last_seq_ctrl
[
rx_agg
->
tid
]);
last_seq
=
IEEE80211_SEQ_TO_SN
(
le16_to_cpu
(
sta
->
last_seq_ctrl
[
rx_agg
->
tid
])
)
;
__ieee80211_start_rx_ba_session
(
sta
,
0
,
0
,
...
...
net/mac80211/mesh_plink.c
浏览文件 @
61a3d4f9
...
...
@@ -957,7 +957,8 @@ mesh_plink_get_event(struct ieee80211_sub_if_data *sdata,
if
(
!
matches_local
)
event
=
CNF_RJCT
;
if
(
!
mesh_plink_free_count
(
sdata
)
||
(
sta
->
llid
!=
llid
||
sta
->
plid
!=
plid
))
sta
->
llid
!=
llid
||
(
sta
->
plid
&&
sta
->
plid
!=
plid
))
event
=
CNF_IGNR
;
else
event
=
CNF_ACPT
;
...
...
@@ -1074,6 +1075,10 @@ mesh_process_plink_frame(struct ieee80211_sub_if_data *sdata,
goto
unlock_rcu
;
}
/* 802.11-2012 13.3.7.2 - update plid on CNF if not set */
if
(
!
sta
->
plid
&&
event
==
CNF_ACPT
)
sta
->
plid
=
plid
;
changed
|=
mesh_plink_fsm
(
sdata
,
sta
,
event
);
unlock_rcu:
...
...
net/mac80211/mlme.c
浏览文件 @
61a3d4f9
...
...
@@ -4389,8 +4389,7 @@ int ieee80211_mgd_assoc(struct ieee80211_sub_if_data *sdata,
rcu_read_unlock
();
if
(
bss
->
wmm_used
&&
bss
->
uapsd_supported
&&
(
sdata
->
local
->
hw
.
flags
&
IEEE80211_HW_SUPPORTS_UAPSD
)
&&
sdata
->
wmm_acm
!=
0xff
)
{
(
sdata
->
local
->
hw
.
flags
&
IEEE80211_HW_SUPPORTS_UAPSD
))
{
assoc_data
->
uapsd
=
true
;
ifmgd
->
flags
|=
IEEE80211_STA_UAPSD_ENABLED
;
}
else
{
...
...
net/mac80211/sta_info.c
浏览文件 @
61a3d4f9
...
...
@@ -1094,8 +1094,11 @@ void ieee80211_sta_ps_deliver_wakeup(struct sta_info *sta)
unsigned
long
flags
;
struct
ps_data
*
ps
;
if
(
sdata
->
vif
.
type
==
NL80211_IFTYPE_AP
||
sdata
->
vif
.
type
==
NL80211_IFTYPE_AP_VLAN
)
if
(
sdata
->
vif
.
type
==
NL80211_IFTYPE_AP_VLAN
)
sdata
=
container_of
(
sdata
->
bss
,
struct
ieee80211_sub_if_data
,
u
.
ap
);
if
(
sdata
->
vif
.
type
==
NL80211_IFTYPE_AP
)
ps
=
&
sdata
->
bss
->
ps
;
else
if
(
ieee80211_vif_is_mesh
(
&
sdata
->
vif
))
ps
=
&
sdata
->
u
.
mesh
.
ps
;
...
...
net/mac802154/wpan.c
浏览文件 @
61a3d4f9
...
...
@@ -462,7 +462,10 @@ mac802154_subif_frame(struct mac802154_sub_if_data *sdata, struct sk_buff *skb,
skb
->
pkt_type
=
PACKET_OTHERHOST
;
break
;
default:
break
;
spin_unlock_bh
(
&
sdata
->
mib_lock
);
pr_debug
(
"invalid dest mode
\n
"
);
kfree_skb
(
skb
);
return
NET_RX_DROP
;
}
spin_unlock_bh
(
&
sdata
->
mib_lock
);
...
...
@@ -575,6 +578,7 @@ void mac802154_wpans_rx(struct mac802154_priv *priv, struct sk_buff *skb)
ret
=
mac802154_parse_frame_start
(
skb
,
&
hdr
);
if
(
ret
)
{
pr_debug
(
"got invalid frame
\n
"
);
kfree_skb
(
skb
);
return
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录