Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
3b924ea1
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 3 年多
通知
13
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
3b924ea1
编写于
9月 09, 2014
作者:
J
John W. Linville
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-john' of
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes
上级
ab09b95c
2cddddc5
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
65 addition
and
39 deletion
+65
-39
drivers/net/wireless/iwlwifi/dvm/power.c
drivers/net/wireless/iwlwifi/dvm/power.c
+1
-1
drivers/net/wireless/iwlwifi/iwl-7000.c
drivers/net/wireless/iwlwifi/iwl-7000.c
+16
-0
drivers/net/wireless/iwlwifi/iwl-config.h
drivers/net/wireless/iwlwifi/iwl-config.h
+3
-0
drivers/net/wireless/iwlwifi/iwl-nvm-parse.c
drivers/net/wireless/iwlwifi/iwl-nvm-parse.c
+1
-3
drivers/net/wireless/iwlwifi/mvm/coex.c
drivers/net/wireless/iwlwifi/mvm/coex.c
+3
-6
drivers/net/wireless/iwlwifi/mvm/debugfs-vif.c
drivers/net/wireless/iwlwifi/mvm/debugfs-vif.c
+1
-2
drivers/net/wireless/iwlwifi/mvm/fw-api.h
drivers/net/wireless/iwlwifi/mvm/fw-api.h
+2
-2
drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c
drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c
+5
-5
drivers/net/wireless/iwlwifi/mvm/mac80211.c
drivers/net/wireless/iwlwifi/mvm/mac80211.c
+14
-11
drivers/net/wireless/iwlwifi/mvm/power.c
drivers/net/wireless/iwlwifi/mvm/power.c
+2
-3
drivers/net/wireless/iwlwifi/mvm/rx.c
drivers/net/wireless/iwlwifi/mvm/rx.c
+3
-3
drivers/net/wireless/iwlwifi/mvm/sf.c
drivers/net/wireless/iwlwifi/mvm/sf.c
+1
-1
drivers/net/wireless/iwlwifi/mvm/tx.c
drivers/net/wireless/iwlwifi/mvm/tx.c
+6
-2
drivers/net/wireless/iwlwifi/pcie/drv.c
drivers/net/wireless/iwlwifi/pcie/drv.c
+7
-0
未找到文件。
drivers/net/wireless/iwlwifi/dvm/power.c
浏览文件 @
3b924ea1
...
...
@@ -40,7 +40,7 @@
#include "commands.h"
#include "power.h"
static
bool
force_cam
;
static
bool
force_cam
=
true
;
module_param
(
force_cam
,
bool
,
0644
);
MODULE_PARM_DESC
(
force_cam
,
"force continuously aware mode (no power saving at all)"
);
...
...
drivers/net/wireless/iwlwifi/iwl-7000.c
浏览文件 @
3b924ea1
...
...
@@ -83,6 +83,8 @@
#define IWL7260_TX_POWER_VERSION 0xffff
/* meaningless */
#define IWL3160_NVM_VERSION 0x709
#define IWL3160_TX_POWER_VERSION 0xffff
/* meaningless */
#define IWL3165_NVM_VERSION 0x709
#define IWL3165_TX_POWER_VERSION 0xffff
/* meaningless */
#define IWL7265_NVM_VERSION 0x0a1d
#define IWL7265_TX_POWER_VERSION 0xffff
/* meaningless */
...
...
@@ -92,6 +94,9 @@
#define IWL3160_FW_PRE "iwlwifi-3160-"
#define IWL3160_MODULE_FIRMWARE(api) IWL3160_FW_PRE __stringify(api) ".ucode"
#define IWL3165_FW_PRE "iwlwifi-3165-"
#define IWL3165_MODULE_FIRMWARE(api) IWL3165_FW_PRE __stringify(api) ".ucode"
#define IWL7265_FW_PRE "iwlwifi-7265-"
#define IWL7265_MODULE_FIRMWARE(api) IWL7265_FW_PRE __stringify(api) ".ucode"
...
...
@@ -213,6 +218,16 @@ static const struct iwl_pwr_tx_backoff iwl7265_pwr_tx_backoffs[] = {
{
0
},
};
const
struct
iwl_cfg
iwl3165_2ac_cfg
=
{
.
name
=
"Intel(R) Dual Band Wireless AC 3165"
,
.
fw_name_pre
=
IWL3165_FW_PRE
,
IWL_DEVICE_7000
,
.
ht_params
=
&
iwl7000_ht_params
,
.
nvm_ver
=
IWL3165_NVM_VERSION
,
.
nvm_calib_ver
=
IWL3165_TX_POWER_VERSION
,
.
pwr_tx_backoffs
=
iwl7265_pwr_tx_backoffs
,
};
const
struct
iwl_cfg
iwl7265_2ac_cfg
=
{
.
name
=
"Intel(R) Dual Band Wireless AC 7265"
,
.
fw_name_pre
=
IWL7265_FW_PRE
,
...
...
@@ -245,4 +260,5 @@ const struct iwl_cfg iwl7265_n_cfg = {
MODULE_FIRMWARE
(
IWL7260_MODULE_FIRMWARE
(
IWL7260_UCODE_API_OK
));
MODULE_FIRMWARE
(
IWL3160_MODULE_FIRMWARE
(
IWL3160_UCODE_API_OK
));
MODULE_FIRMWARE
(
IWL3165_MODULE_FIRMWARE
(
IWL3160_UCODE_API_OK
));
MODULE_FIRMWARE
(
IWL7265_MODULE_FIRMWARE
(
IWL7260_UCODE_API_OK
));
drivers/net/wireless/iwlwifi/iwl-config.h
浏览文件 @
3b924ea1
...
...
@@ -120,6 +120,8 @@ enum iwl_led_mode {
#define IWL_LONG_WD_TIMEOUT 10000
#define IWL_MAX_WD_TIMEOUT 120000
#define IWL_DEFAULT_MAX_TX_POWER 22
/* Antenna presence definitions */
#define ANT_NONE 0x0
#define ANT_A BIT(0)
...
...
@@ -335,6 +337,7 @@ extern const struct iwl_cfg iwl7260_n_cfg;
extern
const
struct
iwl_cfg
iwl3160_2ac_cfg
;
extern
const
struct
iwl_cfg
iwl3160_2n_cfg
;
extern
const
struct
iwl_cfg
iwl3160_n_cfg
;
extern
const
struct
iwl_cfg
iwl3165_2ac_cfg
;
extern
const
struct
iwl_cfg
iwl7265_2ac_cfg
;
extern
const
struct
iwl_cfg
iwl7265_2n_cfg
;
extern
const
struct
iwl_cfg
iwl7265_n_cfg
;
...
...
drivers/net/wireless/iwlwifi/iwl-nvm-parse.c
浏览文件 @
3b924ea1
...
...
@@ -146,8 +146,6 @@ static const u8 iwl_nvm_channels_family_8000[] = {
#define LAST_2GHZ_HT_PLUS 9
#define LAST_5GHZ_HT 161
#define DEFAULT_MAX_TX_POWER 16
/* rate data (static) */
static
struct
ieee80211_rate
iwl_cfg80211_rates
[]
=
{
{
.
bitrate
=
1
*
10
,
.
hw_value
=
0
,
.
hw_value_short
=
0
,
},
...
...
@@ -295,7 +293,7 @@ static int iwl_init_channel_map(struct device *dev, const struct iwl_cfg *cfg,
* Default value - highest tx power value. max_power
* is not used in mvm, and is used for backwards compatibility
*/
channel
->
max_power
=
DEFAULT_MAX_TX_POWER
;
channel
->
max_power
=
IWL_
DEFAULT_MAX_TX_POWER
;
is_5ghz
=
channel
->
band
==
IEEE80211_BAND_5GHZ
;
IWL_DEBUG_EEPROM
(
dev
,
"Ch. %d [%sGHz] %s%s%s%s%s%s%s(0x%02x %ddBm): Ad-Hoc %ssupported
\n
"
,
...
...
drivers/net/wireless/iwlwifi/mvm/coex.c
浏览文件 @
3b924ea1
...
...
@@ -585,8 +585,6 @@ int iwl_send_bt_init_conf(struct iwl_mvm *mvm)
lockdep_assert_held
(
&
mvm
->
mutex
);
if
(
unlikely
(
mvm
->
bt_force_ant_mode
!=
BT_FORCE_ANT_DIS
))
{
u32
mode
;
switch
(
mvm
->
bt_force_ant_mode
)
{
case
BT_FORCE_ANT_BT
:
mode
=
BT_COEX_BT
;
...
...
@@ -756,7 +754,8 @@ static void iwl_mvm_bt_notif_iterator(void *_data, u8 *mac,
struct
iwl_bt_iterator_data
*
data
=
_data
;
struct
iwl_mvm
*
mvm
=
data
->
mvm
;
struct
ieee80211_chanctx_conf
*
chanctx_conf
;
enum
ieee80211_smps_mode
smps_mode
;
/* default smps_mode is AUTOMATIC - only used for client modes */
enum
ieee80211_smps_mode
smps_mode
=
IEEE80211_SMPS_AUTOMATIC
;
u32
bt_activity_grading
;
int
ave_rssi
;
...
...
@@ -764,8 +763,6 @@ static void iwl_mvm_bt_notif_iterator(void *_data, u8 *mac,
switch
(
vif
->
type
)
{
case
NL80211_IFTYPE_STATION
:
/* default smps_mode for BSS / P2P client is AUTOMATIC */
smps_mode
=
IEEE80211_SMPS_AUTOMATIC
;
break
;
case
NL80211_IFTYPE_AP
:
if
(
!
mvmvif
->
ap_ibss_active
)
...
...
@@ -797,7 +794,7 @@ static void iwl_mvm_bt_notif_iterator(void *_data, u8 *mac,
else
if
(
bt_activity_grading
>=
BT_LOW_TRAFFIC
)
smps_mode
=
IEEE80211_SMPS_DYNAMIC
;
/* relax SMPS contraints for next association */
/* relax SMPS con
s
traints for next association */
if
(
!
vif
->
bss_conf
.
assoc
)
smps_mode
=
IEEE80211_SMPS_AUTOMATIC
;
...
...
drivers/net/wireless/iwlwifi/mvm/debugfs-vif.c
浏览文件 @
3b924ea1
...
...
@@ -74,8 +74,7 @@ static void iwl_dbgfs_update_pm(struct iwl_mvm *mvm,
switch
(
param
)
{
case
MVM_DEBUGFS_PM_KEEP_ALIVE
:
{
struct
ieee80211_hw
*
hw
=
mvm
->
hw
;
int
dtimper
=
hw
->
conf
.
ps_dtim_period
?:
1
;
int
dtimper
=
vif
->
bss_conf
.
dtim_period
?:
1
;
int
dtimper_msec
=
dtimper
*
vif
->
bss_conf
.
beacon_int
;
IWL_DEBUG_POWER
(
mvm
,
"debugfs: set keep_alive= %d sec
\n
"
,
val
);
...
...
drivers/net/wireless/iwlwifi/mvm/fw-api.h
浏览文件 @
3b924ea1
...
...
@@ -1563,14 +1563,14 @@ enum iwl_sf_scenario {
/**
* Smart Fifo configuration command.
* @state: smart fifo state, types listed in iwl_sf_sate.
* @state: smart fifo state, types listed in
enum %
iwl_sf_sate.
* @watermark: Minimum allowed availabe free space in RXF for transient state.
* @long_delay_timeouts: aging and idle timer values for each scenario
* in long delay state.
* @full_on_timeouts: timer values for each scenario in full on state.
*/
struct
iwl_sf_cfg_cmd
{
enum
iwl_sf_state
state
;
__le32
state
;
__le32
watermark
[
SF_TRANSIENT_STATES_NUMBER
];
__le32
long_delay_timeouts
[
SF_NUM_SCENARIO
][
SF_NUM_TIMEOUT_TYPES
];
__le32
full_on_timeouts
[
SF_NUM_SCENARIO
][
SF_NUM_TIMEOUT_TYPES
];
...
...
drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c
浏览文件 @
3b924ea1
...
...
@@ -721,11 +721,6 @@ static int iwl_mvm_mac_ctxt_cmd_sta(struct iwl_mvm *mvm,
!
force_assoc_off
)
{
u32
dtim_offs
;
/* Allow beacons to pass through as long as we are not
* associated, or we do not have dtim period information.
*/
cmd
.
filter_flags
|=
cpu_to_le32
(
MAC_FILTER_IN_BEACON
);
/*
* The DTIM count counts down, so when it is N that means N
* more beacon intervals happen until the DTIM TBTT. Therefore
...
...
@@ -759,6 +754,11 @@ static int iwl_mvm_mac_ctxt_cmd_sta(struct iwl_mvm *mvm,
ctxt_sta
->
is_assoc
=
cpu_to_le32
(
1
);
}
else
{
ctxt_sta
->
is_assoc
=
cpu_to_le32
(
0
);
/* Allow beacons to pass through as long as we are not
* associated, or we do not have dtim period information.
*/
cmd
.
filter_flags
|=
cpu_to_le32
(
MAC_FILTER_IN_BEACON
);
}
ctxt_sta
->
bi
=
cpu_to_le32
(
vif
->
bss_conf
.
beacon_int
);
...
...
drivers/net/wireless/iwlwifi/mvm/mac80211.c
浏览文件 @
3b924ea1
...
...
@@ -396,12 +396,14 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
else
hw
->
wiphy
->
flags
&=
~
WIPHY_FLAG_PS_ON_BY_DEFAULT
;
/* TODO: enable that only for firmwares that don't crash */
/* hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_SCHED_SCAN; */
hw
->
wiphy
->
max_sched_scan_ssids
=
PROBE_OPTION_MAX
;
hw
->
wiphy
->
max_match_sets
=
IWL_SCAN_MAX_PROFILES
;
/* we create the 802.11 header and zero length SSID IE. */
hw
->
wiphy
->
max_sched_scan_ie_len
=
SCAN_OFFLOAD_PROBE_REQ_SIZE
-
24
-
2
;
if
(
IWL_UCODE_API
(
mvm
->
fw
->
ucode_ver
)
>=
10
)
{
hw
->
wiphy
->
flags
|=
WIPHY_FLAG_SUPPORTS_SCHED_SCAN
;
hw
->
wiphy
->
max_sched_scan_ssids
=
PROBE_OPTION_MAX
;
hw
->
wiphy
->
max_match_sets
=
IWL_SCAN_MAX_PROFILES
;
/* we create the 802.11 header and zero length SSID IE. */
hw
->
wiphy
->
max_sched_scan_ie_len
=
SCAN_OFFLOAD_PROBE_REQ_SIZE
-
24
-
2
;
}
hw
->
wiphy
->
features
|=
NL80211_FEATURE_P2P_GO_CTWIN
|
NL80211_FEATURE_LOW_PRIORITY_SCAN
|
...
...
@@ -1524,11 +1526,6 @@ static void iwl_mvm_bss_info_changed_station(struct iwl_mvm *mvm,
*/
iwl_mvm_remove_time_event
(
mvm
,
mvmvif
,
&
mvmvif
->
time_event_data
);
}
else
if
(
changes
&
(
BSS_CHANGED_PS
|
BSS_CHANGED_P2P_PS
|
BSS_CHANGED_QOS
))
{
ret
=
iwl_mvm_power_update_mac
(
mvm
);
if
(
ret
)
IWL_ERR
(
mvm
,
"failed to update power mode
\n
"
);
}
if
(
changes
&
BSS_CHANGED_BEACON_INFO
)
{
...
...
@@ -1536,6 +1533,12 @@ static void iwl_mvm_bss_info_changed_station(struct iwl_mvm *mvm,
WARN_ON
(
iwl_mvm_enable_beacon_filter
(
mvm
,
vif
,
0
));
}
if
(
changes
&
(
BSS_CHANGED_PS
|
BSS_CHANGED_P2P_PS
|
BSS_CHANGED_QOS
))
{
ret
=
iwl_mvm_power_update_mac
(
mvm
);
if
(
ret
)
IWL_ERR
(
mvm
,
"failed to update power mode
\n
"
);
}
if
(
changes
&
BSS_CHANGED_TXPOWER
)
{
IWL_DEBUG_CALIB
(
mvm
,
"Changing TX Power to %d
\n
"
,
bss_conf
->
txpower
);
...
...
drivers/net/wireless/iwlwifi/mvm/power.c
浏览文件 @
3b924ea1
...
...
@@ -281,7 +281,6 @@ static void iwl_mvm_power_build_cmd(struct iwl_mvm *mvm,
struct
ieee80211_vif
*
vif
,
struct
iwl_mac_power_cmd
*
cmd
)
{
struct
ieee80211_hw
*
hw
=
mvm
->
hw
;
struct
ieee80211_chanctx_conf
*
chanctx_conf
;
struct
ieee80211_channel
*
chan
;
int
dtimper
,
dtimper_msec
;
...
...
@@ -292,7 +291,7 @@ static void iwl_mvm_power_build_cmd(struct iwl_mvm *mvm,
cmd
->
id_and_color
=
cpu_to_le32
(
FW_CMD_ID_AND_COLOR
(
mvmvif
->
id
,
mvmvif
->
color
));
dtimper
=
hw
->
conf
.
ps_dtim_period
?:
1
;
dtimper
=
vif
->
bss_conf
.
dtim_period
;
/*
* Regardless of power management state the driver must set
...
...
@@ -885,7 +884,7 @@ int iwl_mvm_update_d0i3_power_mode(struct iwl_mvm *mvm,
iwl_mvm_power_build_cmd
(
mvm
,
vif
,
&
cmd
);
if
(
enable
)
{
/* configure skip over dtim up to 300 msec */
int
dtimper
=
mvm
->
hw
->
conf
.
ps_
dtim_period
?:
1
;
int
dtimper
=
vif
->
bss_conf
.
dtim_period
?:
1
;
int
dtimper_msec
=
dtimper
*
vif
->
bss_conf
.
beacon_int
;
if
(
WARN_ON
(
!
dtimper_msec
))
...
...
drivers/net/wireless/iwlwifi/mvm/rx.c
浏览文件 @
3b924ea1
...
...
@@ -149,13 +149,13 @@ static void iwl_mvm_get_signal_strength(struct iwl_mvm *mvm,
le32_to_cpu
(
phy_info
->
non_cfg_phy
[
IWL_RX_INFO_ENERGY_ANT_ABC_IDX
]);
energy_a
=
(
val
&
IWL_RX_INFO_ENERGY_ANT_A_MSK
)
>>
IWL_RX_INFO_ENERGY_ANT_A_POS
;
energy_a
=
energy_a
?
-
energy_a
:
-
256
;
energy_a
=
energy_a
?
-
energy_a
:
S8_MIN
;
energy_b
=
(
val
&
IWL_RX_INFO_ENERGY_ANT_B_MSK
)
>>
IWL_RX_INFO_ENERGY_ANT_B_POS
;
energy_b
=
energy_b
?
-
energy_b
:
-
256
;
energy_b
=
energy_b
?
-
energy_b
:
S8_MIN
;
energy_c
=
(
val
&
IWL_RX_INFO_ENERGY_ANT_C_MSK
)
>>
IWL_RX_INFO_ENERGY_ANT_C_POS
;
energy_c
=
energy_c
?
-
energy_c
:
-
256
;
energy_c
=
energy_c
?
-
energy_c
:
S8_MIN
;
max_energy
=
max
(
energy_a
,
energy_b
);
max_energy
=
max
(
max_energy
,
energy_c
);
...
...
drivers/net/wireless/iwlwifi/mvm/sf.c
浏览文件 @
3b924ea1
...
...
@@ -172,7 +172,7 @@ static int iwl_mvm_sf_config(struct iwl_mvm *mvm, u8 sta_id,
enum
iwl_sf_state
new_state
)
{
struct
iwl_sf_cfg_cmd
sf_cmd
=
{
.
state
=
new_state
,
.
state
=
cpu_to_le32
(
new_state
)
,
};
struct
ieee80211_sta
*
sta
;
int
ret
=
0
;
...
...
drivers/net/wireless/iwlwifi/mvm/tx.c
浏览文件 @
3b924ea1
...
...
@@ -168,10 +168,14 @@ static void iwl_mvm_set_tx_cmd_rate(struct iwl_mvm *mvm,
/*
* for data packets, rate info comes from the table inside the fw. This
* table is controlled by LINK_QUALITY commands
* table is controlled by LINK_QUALITY commands. Exclude ctrl port
* frames like EAPOLs which should be treated as mgmt frames. This
* avoids them being sent initially in high rates which increases the
* chances for completion of the 4-Way handshake.
*/
if
(
ieee80211_is_data
(
fc
)
&&
sta
)
{
if
(
ieee80211_is_data
(
fc
)
&&
sta
&&
!
(
info
->
control
.
flags
&
IEEE80211_TX_CTRL_PORT_CTRL_PROTO
))
{
tx_cmd
->
initial_rate_index
=
0
;
tx_cmd
->
tx_flags
|=
cpu_to_le32
(
TX_CMD_FLG_STA_RATE
);
return
;
...
...
drivers/net/wireless/iwlwifi/pcie/drv.c
浏览文件 @
3b924ea1
...
...
@@ -352,11 +352,17 @@ static const struct pci_device_id iwl_hw_card_ids[] = {
{
IWL_PCI_DEVICE
(
0x08B3
,
0x8060
,
iwl3160_2n_cfg
)},
{
IWL_PCI_DEVICE
(
0x08B3
,
0x8062
,
iwl3160_n_cfg
)},
{
IWL_PCI_DEVICE
(
0x08B4
,
0x8270
,
iwl3160_2ac_cfg
)},
{
IWL_PCI_DEVICE
(
0x08B4
,
0x8370
,
iwl3160_2ac_cfg
)},
{
IWL_PCI_DEVICE
(
0x08B4
,
0x8272
,
iwl3160_2ac_cfg
)},
{
IWL_PCI_DEVICE
(
0x08B3
,
0x8470
,
iwl3160_2ac_cfg
)},
{
IWL_PCI_DEVICE
(
0x08B3
,
0x8570
,
iwl3160_2ac_cfg
)},
{
IWL_PCI_DEVICE
(
0x08B3
,
0x1070
,
iwl3160_2ac_cfg
)},
{
IWL_PCI_DEVICE
(
0x08B3
,
0x1170
,
iwl3160_2ac_cfg
)},
/* 3165 Series */
{
IWL_PCI_DEVICE
(
0x3165
,
0x4010
,
iwl3165_2ac_cfg
)},
{
IWL_PCI_DEVICE
(
0x3165
,
0x4210
,
iwl3165_2ac_cfg
)},
/* 7265 Series */
{
IWL_PCI_DEVICE
(
0x095A
,
0x5010
,
iwl7265_2ac_cfg
)},
{
IWL_PCI_DEVICE
(
0x095A
,
0x5110
,
iwl7265_2ac_cfg
)},
...
...
@@ -378,6 +384,7 @@ static const struct pci_device_id iwl_hw_card_ids[] = {
{
IWL_PCI_DEVICE
(
0x095B
,
0x5202
,
iwl7265_n_cfg
)},
{
IWL_PCI_DEVICE
(
0x095A
,
0x9010
,
iwl7265_2ac_cfg
)},
{
IWL_PCI_DEVICE
(
0x095A
,
0x9012
,
iwl7265_2ac_cfg
)},
{
IWL_PCI_DEVICE
(
0x095A
,
0x900A
,
iwl7265_2ac_cfg
)},
{
IWL_PCI_DEVICE
(
0x095A
,
0x9110
,
iwl7265_2ac_cfg
)},
{
IWL_PCI_DEVICE
(
0x095A
,
0x9112
,
iwl7265_2ac_cfg
)},
{
IWL_PCI_DEVICE
(
0x095A
,
0x9210
,
iwl7265_2ac_cfg
)},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录