Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
90c456fc
Commit
90c456fc
authored
May 13, 2014
by
Emmanuel Grumbach
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'iwlwifi-fixes/master' into HEAD
parents
41f6fc10
1c4abec0
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
35 additions
and
6 deletions
+35
-6
drivers/net/wireless/iwlwifi/mvm/mac80211.c
drivers/net/wireless/iwlwifi/mvm/mac80211.c
+7
-2
drivers/net/wireless/iwlwifi/mvm/mvm.h
drivers/net/wireless/iwlwifi/mvm/mvm.h
+3
-0
drivers/net/wireless/iwlwifi/mvm/utils.c
drivers/net/wireless/iwlwifi/mvm/utils.c
+19
-0
drivers/net/wireless/iwlwifi/pcie/trans.c
drivers/net/wireless/iwlwifi/pcie/trans.c
+6
-4
No files found.
drivers/net/wireless/iwlwifi/mvm/mac80211.c
View file @
90c456fc
...
...
@@ -1020,7 +1020,7 @@ static void iwl_mvm_mc_iface_iterator(void *_data, u8 *mac,
memcpy
(
cmd
->
bssid
,
vif
->
bss_conf
.
bssid
,
ETH_ALEN
);
len
=
roundup
(
sizeof
(
*
cmd
)
+
cmd
->
count
*
ETH_ALEN
,
4
);
ret
=
iwl_mvm_send_cmd_pdu
(
mvm
,
MCAST_FILTER_CMD
,
CMD_SYNC
,
len
,
cmd
);
ret
=
iwl_mvm_send_cmd_pdu
(
mvm
,
MCAST_FILTER_CMD
,
CMD_
A
SYNC
,
len
,
cmd
);
if
(
ret
)
IWL_ERR
(
mvm
,
"mcast filter cmd error. ret=%d
\n
"
,
ret
);
}
...
...
@@ -1036,7 +1036,7 @@ static void iwl_mvm_recalc_multicast(struct iwl_mvm *mvm)
if
(
WARN_ON_ONCE
(
!
mvm
->
mcast_filter_cmd
))
return
;
ieee80211_iterate_active_interfaces
(
ieee80211_iterate_active_interfaces
_atomic
(
mvm
->
hw
,
IEEE80211_IFACE_ITER_NORMAL
,
iwl_mvm_mc_iface_iterator
,
&
iter_data
);
}
...
...
@@ -1832,6 +1832,11 @@ static int iwl_mvm_mac_sched_scan_start(struct ieee80211_hw *hw,
mutex_lock
(
&
mvm
->
mutex
);
if
(
iwl_mvm_is_associated
(
mvm
))
{
ret
=
-
EBUSY
;
goto
out
;
}
switch
(
mvm
->
scan_status
)
{
case
IWL_MVM_SCAN_OS
:
IWL_DEBUG_SCAN
(
mvm
,
"Stopping previous scan for sched_scan
\n
"
);
...
...
drivers/net/wireless/iwlwifi/mvm/mvm.h
View file @
90c456fc
...
...
@@ -1030,6 +1030,9 @@ static inline bool iwl_mvm_vif_low_latency(struct iwl_mvm_vif *mvmvif)
return
mvmvif
->
low_latency
;
}
/* Assoc status */
bool
iwl_mvm_is_associated
(
struct
iwl_mvm
*
mvm
);
/* Thermal management and CT-kill */
void
iwl_mvm_tt_tx_backoff
(
struct
iwl_mvm
*
mvm
,
u32
backoff
);
void
iwl_mvm_tt_handler
(
struct
iwl_mvm
*
mvm
);
...
...
drivers/net/wireless/iwlwifi/mvm/utils.c
View file @
90c456fc
...
...
@@ -690,3 +690,22 @@ bool iwl_mvm_low_latency(struct iwl_mvm *mvm)
return
result
;
}
static
void
iwl_mvm_assoc_iter
(
void
*
_data
,
u8
*
mac
,
struct
ieee80211_vif
*
vif
)
{
bool
*
assoc
=
_data
;
if
(
vif
->
bss_conf
.
assoc
)
*
assoc
=
true
;
}
bool
iwl_mvm_is_associated
(
struct
iwl_mvm
*
mvm
)
{
bool
assoc
=
false
;
ieee80211_iterate_active_interfaces_atomic
(
mvm
->
hw
,
IEEE80211_IFACE_ITER_NORMAL
,
iwl_mvm_assoc_iter
,
&
assoc
);
return
assoc
;
}
drivers/net/wireless/iwlwifi/pcie/trans.c
View file @
90c456fc
...
...
@@ -1854,6 +1854,10 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev,
* PCI Tx retries from interfering with C3 CPU state */
pci_write_config_byte
(
pdev
,
PCI_CFG_RETRY_TIMEOUT
,
0x00
);
trans
->
dev
=
&
pdev
->
dev
;
trans_pcie
->
pci_dev
=
pdev
;
iwl_disable_interrupts
(
trans
);
err
=
pci_enable_msi
(
pdev
);
if
(
err
)
{
dev_err
(
&
pdev
->
dev
,
"pci_enable_msi failed(0X%x)
\n
"
,
err
);
...
...
@@ -1865,8 +1869,6 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev,
}
}
trans
->
dev
=
&
pdev
->
dev
;
trans_pcie
->
pci_dev
=
pdev
;
trans
->
hw_rev
=
iwl_read32
(
trans
,
CSR_HW_REV
);
trans
->
hw_id
=
(
pdev
->
device
<<
16
)
+
pdev
->
subsystem_device
;
snprintf
(
trans
->
hw_id_str
,
sizeof
(
trans
->
hw_id_str
),
...
...
@@ -1892,8 +1894,6 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev,
goto
out_pci_disable_msi
;
}
trans_pcie
->
inta_mask
=
CSR_INI_SET_MASK
;
if
(
iwl_pcie_alloc_ict
(
trans
))
goto
out_free_cmd_pool
;
...
...
@@ -1905,6 +1905,8 @@ struct iwl_trans *iwl_trans_pcie_alloc(struct pci_dev *pdev,
goto
out_free_ict
;
}
trans_pcie
->
inta_mask
=
CSR_INI_SET_MASK
;
return
trans
;
out_free_ict:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment