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
a8acfd82
Commit
a8acfd82
authored
Sep 27, 2011
by
John W. Linville
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
git://git.infradead.org/users/linville/wireless
into for-davem
parents
d93dc5c4
ba542385
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
46 additions
and
30 deletions
+46
-30
drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h
drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h
+1
-1
drivers/net/wireless/ath/ath9k/recv.c
drivers/net/wireless/ath/ath9k/recv.c
+9
-1
drivers/net/wireless/iwlegacy/iwl-core.c
drivers/net/wireless/iwlegacy/iwl-core.c
+2
-2
drivers/net/wireless/iwlegacy/iwl-hcmd.c
drivers/net/wireless/iwlegacy/iwl-hcmd.c
+1
-1
drivers/net/wireless/iwlegacy/iwl-tx.c
drivers/net/wireless/iwlegacy/iwl-tx.c
+3
-1
drivers/net/wireless/iwlegacy/iwl3945-base.c
drivers/net/wireless/iwlegacy/iwl3945-base.c
+4
-4
drivers/net/wireless/iwlegacy/iwl4965-base.c
drivers/net/wireless/iwlegacy/iwl4965-base.c
+5
-5
drivers/net/wireless/iwlwifi/iwl-scan.c
drivers/net/wireless/iwlwifi/iwl-scan.c
+16
-14
drivers/net/wireless/rtlwifi/usb.c
drivers/net/wireless/rtlwifi/usb.c
+1
-0
net/wireless/nl80211.c
net/wireless/nl80211.c
+4
-1
No files found.
drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h
View file @
a8acfd82
...
@@ -1514,7 +1514,7 @@ static const u32 ar9300_2p2_mac_core[][2] = {
...
@@ -1514,7 +1514,7 @@ static const u32 ar9300_2p2_mac_core[][2] = {
{
0x00008258
,
0x00000000
},
{
0x00008258
,
0x00000000
},
{
0x0000825c
,
0x40000000
},
{
0x0000825c
,
0x40000000
},
{
0x00008260
,
0x00080922
},
{
0x00008260
,
0x00080922
},
{
0x00008264
,
0x9
bc
00010
},
{
0x00008264
,
0x9
d4
00010
},
{
0x00008268
,
0xffffffff
},
{
0x00008268
,
0xffffffff
},
{
0x0000826c
,
0x0000ffff
},
{
0x0000826c
,
0x0000ffff
},
{
0x00008270
,
0x00000000
},
{
0x00008270
,
0x00000000
},
...
...
drivers/net/wireless/ath/ath9k/recv.c
View file @
a8acfd82
...
@@ -205,14 +205,22 @@ static void ath_rx_remove_buffer(struct ath_softc *sc,
...
@@ -205,14 +205,22 @@ static void ath_rx_remove_buffer(struct ath_softc *sc,
static
void
ath_rx_edma_cleanup
(
struct
ath_softc
*
sc
)
static
void
ath_rx_edma_cleanup
(
struct
ath_softc
*
sc
)
{
{
struct
ath_hw
*
ah
=
sc
->
sc_ah
;
struct
ath_common
*
common
=
ath9k_hw_common
(
ah
);
struct
ath_buf
*
bf
;
struct
ath_buf
*
bf
;
ath_rx_remove_buffer
(
sc
,
ATH9K_RX_QUEUE_LP
);
ath_rx_remove_buffer
(
sc
,
ATH9K_RX_QUEUE_LP
);
ath_rx_remove_buffer
(
sc
,
ATH9K_RX_QUEUE_HP
);
ath_rx_remove_buffer
(
sc
,
ATH9K_RX_QUEUE_HP
);
list_for_each_entry
(
bf
,
&
sc
->
rx
.
rxbuf
,
list
)
{
list_for_each_entry
(
bf
,
&
sc
->
rx
.
rxbuf
,
list
)
{
if
(
bf
->
bf_mpdu
)
if
(
bf
->
bf_mpdu
)
{
dma_unmap_single
(
sc
->
dev
,
bf
->
bf_buf_addr
,
common
->
rx_bufsize
,
DMA_BIDIRECTIONAL
);
dev_kfree_skb_any
(
bf
->
bf_mpdu
);
dev_kfree_skb_any
(
bf
->
bf_mpdu
);
bf
->
bf_buf_addr
=
0
;
bf
->
bf_mpdu
=
NULL
;
}
}
}
INIT_LIST_HEAD
(
&
sc
->
rx
.
rxbuf
);
INIT_LIST_HEAD
(
&
sc
->
rx
.
rxbuf
);
...
...
drivers/net/wireless/iwlegacy/iwl-core.c
View file @
a8acfd82
...
@@ -937,7 +937,7 @@ void iwl_legacy_irq_handle_error(struct iwl_priv *priv)
...
@@ -937,7 +937,7 @@ void iwl_legacy_irq_handle_error(struct iwl_priv *priv)
&
priv
->
contexts
[
IWL_RXON_CTX_BSS
]);
&
priv
->
contexts
[
IWL_RXON_CTX_BSS
]);
#endif
#endif
wake_up
_interruptible
(
&
priv
->
wait_command_queue
);
wake_up
(
&
priv
->
wait_command_queue
);
/* Keep the restart process from trying to send host
/* Keep the restart process from trying to send host
* commands by clearing the INIT status bit */
* commands by clearing the INIT status bit */
...
@@ -1746,7 +1746,7 @@ int iwl_legacy_force_reset(struct iwl_priv *priv, bool external)
...
@@ -1746,7 +1746,7 @@ int iwl_legacy_force_reset(struct iwl_priv *priv, bool external)
/* Set the FW error flag -- cleared on iwl_down */
/* Set the FW error flag -- cleared on iwl_down */
set_bit
(
STATUS_FW_ERROR
,
&
priv
->
status
);
set_bit
(
STATUS_FW_ERROR
,
&
priv
->
status
);
wake_up
_interruptible
(
&
priv
->
wait_command_queue
);
wake_up
(
&
priv
->
wait_command_queue
);
/*
/*
* Keep the restart process from trying to send host
* Keep the restart process from trying to send host
* commands by clearing the INIT status bit
* commands by clearing the INIT status bit
...
...
drivers/net/wireless/iwlegacy/iwl-hcmd.c
View file @
a8acfd82
...
@@ -167,7 +167,7 @@ int iwl_legacy_send_cmd_sync(struct iwl_priv *priv, struct iwl_host_cmd *cmd)
...
@@ -167,7 +167,7 @@ int iwl_legacy_send_cmd_sync(struct iwl_priv *priv, struct iwl_host_cmd *cmd)
goto
out
;
goto
out
;
}
}
ret
=
wait_event_
interruptible_
timeout
(
priv
->
wait_command_queue
,
ret
=
wait_event_timeout
(
priv
->
wait_command_queue
,
!
test_bit
(
STATUS_HCMD_ACTIVE
,
&
priv
->
status
),
!
test_bit
(
STATUS_HCMD_ACTIVE
,
&
priv
->
status
),
HOST_COMPLETE_TIMEOUT
);
HOST_COMPLETE_TIMEOUT
);
if
(
!
ret
)
{
if
(
!
ret
)
{
...
...
drivers/net/wireless/iwlegacy/iwl-tx.c
View file @
a8acfd82
...
@@ -625,6 +625,8 @@ iwl_legacy_tx_cmd_complete(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb)
...
@@ -625,6 +625,8 @@ iwl_legacy_tx_cmd_complete(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb)
cmd
=
txq
->
cmd
[
cmd_index
];
cmd
=
txq
->
cmd
[
cmd_index
];
meta
=
&
txq
->
meta
[
cmd_index
];
meta
=
&
txq
->
meta
[
cmd_index
];
txq
->
time_stamp
=
jiffies
;
pci_unmap_single
(
priv
->
pci_dev
,
pci_unmap_single
(
priv
->
pci_dev
,
dma_unmap_addr
(
meta
,
mapping
),
dma_unmap_addr
(
meta
,
mapping
),
dma_unmap_len
(
meta
,
len
),
dma_unmap_len
(
meta
,
len
),
...
@@ -645,7 +647,7 @@ iwl_legacy_tx_cmd_complete(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb)
...
@@ -645,7 +647,7 @@ iwl_legacy_tx_cmd_complete(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb)
clear_bit
(
STATUS_HCMD_ACTIVE
,
&
priv
->
status
);
clear_bit
(
STATUS_HCMD_ACTIVE
,
&
priv
->
status
);
IWL_DEBUG_INFO
(
priv
,
"Clearing HCMD_ACTIVE for command %s
\n
"
,
IWL_DEBUG_INFO
(
priv
,
"Clearing HCMD_ACTIVE for command %s
\n
"
,
iwl_legacy_get_cmd_string
(
cmd
->
hdr
.
cmd
));
iwl_legacy_get_cmd_string
(
cmd
->
hdr
.
cmd
));
wake_up
_interruptible
(
&
priv
->
wait_command_queue
);
wake_up
(
&
priv
->
wait_command_queue
);
}
}
/* Mark as unmapped */
/* Mark as unmapped */
...
...
drivers/net/wireless/iwlegacy/iwl3945-base.c
View file @
a8acfd82
...
@@ -841,7 +841,7 @@ static void iwl3945_rx_card_state_notif(struct iwl_priv *priv,
...
@@ -841,7 +841,7 @@ static void iwl3945_rx_card_state_notif(struct iwl_priv *priv,
wiphy_rfkill_set_hw_state
(
priv
->
hw
->
wiphy
,
wiphy_rfkill_set_hw_state
(
priv
->
hw
->
wiphy
,
test_bit
(
STATUS_RF_KILL_HW
,
&
priv
->
status
));
test_bit
(
STATUS_RF_KILL_HW
,
&
priv
->
status
));
else
else
wake_up
_interruptible
(
&
priv
->
wait_command_queue
);
wake_up
(
&
priv
->
wait_command_queue
);
}
}
/**
/**
...
@@ -2269,7 +2269,7 @@ static void iwl3945_alive_start(struct iwl_priv *priv)
...
@@ -2269,7 +2269,7 @@ static void iwl3945_alive_start(struct iwl_priv *priv)
iwl3945_reg_txpower_periodic
(
priv
);
iwl3945_reg_txpower_periodic
(
priv
);
IWL_DEBUG_INFO
(
priv
,
"ALIVE processing complete.
\n
"
);
IWL_DEBUG_INFO
(
priv
,
"ALIVE processing complete.
\n
"
);
wake_up
_interruptible
(
&
priv
->
wait_command_queue
);
wake_up
(
&
priv
->
wait_command_queue
);
return
;
return
;
...
@@ -2300,7 +2300,7 @@ static void __iwl3945_down(struct iwl_priv *priv)
...
@@ -2300,7 +2300,7 @@ static void __iwl3945_down(struct iwl_priv *priv)
iwl_legacy_clear_driver_stations
(
priv
);
iwl_legacy_clear_driver_stations
(
priv
);
/* Unblock any waiting calls */
/* Unblock any waiting calls */
wake_up_
interruptible_
all
(
&
priv
->
wait_command_queue
);
wake_up_all
(
&
priv
->
wait_command_queue
);
/* Wipe out the EXIT_PENDING status bit if we are not actually
/* Wipe out the EXIT_PENDING status bit if we are not actually
* exiting the module */
* exiting the module */
...
@@ -2853,7 +2853,7 @@ static int iwl3945_mac_start(struct ieee80211_hw *hw)
...
@@ -2853,7 +2853,7 @@ static int iwl3945_mac_start(struct ieee80211_hw *hw)
/* Wait for START_ALIVE from ucode. Otherwise callbacks from
/* Wait for START_ALIVE from ucode. Otherwise callbacks from
* mac80211 will not be run successfully. */
* mac80211 will not be run successfully. */
ret
=
wait_event_
interruptible_
timeout
(
priv
->
wait_command_queue
,
ret
=
wait_event_timeout
(
priv
->
wait_command_queue
,
test_bit
(
STATUS_READY
,
&
priv
->
status
),
test_bit
(
STATUS_READY
,
&
priv
->
status
),
UCODE_READY_TIMEOUT
);
UCODE_READY_TIMEOUT
);
if
(
!
ret
)
{
if
(
!
ret
)
{
...
...
drivers/net/wireless/iwlegacy/iwl4965-base.c
View file @
a8acfd82
...
@@ -576,7 +576,7 @@ static void iwl4965_rx_card_state_notif(struct iwl_priv *priv,
...
@@ -576,7 +576,7 @@ static void iwl4965_rx_card_state_notif(struct iwl_priv *priv,
wiphy_rfkill_set_hw_state
(
priv
->
hw
->
wiphy
,
wiphy_rfkill_set_hw_state
(
priv
->
hw
->
wiphy
,
test_bit
(
STATUS_RF_KILL_HW
,
&
priv
->
status
));
test_bit
(
STATUS_RF_KILL_HW
,
&
priv
->
status
));
else
else
wake_up
_interruptible
(
&
priv
->
wait_command_queue
);
wake_up
(
&
priv
->
wait_command_queue
);
}
}
/**
/**
...
@@ -926,7 +926,7 @@ static void iwl4965_irq_tasklet(struct iwl_priv *priv)
...
@@ -926,7 +926,7 @@ static void iwl4965_irq_tasklet(struct iwl_priv *priv)
handled
|=
CSR_INT_BIT_FH_TX
;
handled
|=
CSR_INT_BIT_FH_TX
;
/* Wake up uCode load routine, now that load is complete */
/* Wake up uCode load routine, now that load is complete */
priv
->
ucode_write_complete
=
1
;
priv
->
ucode_write_complete
=
1
;
wake_up
_interruptible
(
&
priv
->
wait_command_queue
);
wake_up
(
&
priv
->
wait_command_queue
);
}
}
if
(
inta
&
~
handled
)
{
if
(
inta
&
~
handled
)
{
...
@@ -1795,7 +1795,7 @@ static void iwl4965_alive_start(struct iwl_priv *priv)
...
@@ -1795,7 +1795,7 @@ static void iwl4965_alive_start(struct iwl_priv *priv)
iwl4965_rf_kill_ct_config
(
priv
);
iwl4965_rf_kill_ct_config
(
priv
);
IWL_DEBUG_INFO
(
priv
,
"ALIVE processing complete.
\n
"
);
IWL_DEBUG_INFO
(
priv
,
"ALIVE processing complete.
\n
"
);
wake_up
_interruptible
(
&
priv
->
wait_command_queue
);
wake_up
(
&
priv
->
wait_command_queue
);
iwl_legacy_power_update_mode
(
priv
,
true
);
iwl_legacy_power_update_mode
(
priv
,
true
);
IWL_DEBUG_INFO
(
priv
,
"Updated power mode
\n
"
);
IWL_DEBUG_INFO
(
priv
,
"Updated power mode
\n
"
);
...
@@ -1828,7 +1828,7 @@ static void __iwl4965_down(struct iwl_priv *priv)
...
@@ -1828,7 +1828,7 @@ static void __iwl4965_down(struct iwl_priv *priv)
iwl_legacy_clear_driver_stations
(
priv
);
iwl_legacy_clear_driver_stations
(
priv
);
/* Unblock any waiting calls */
/* Unblock any waiting calls */
wake_up_
interruptible_
all
(
&
priv
->
wait_command_queue
);
wake_up_all
(
&
priv
->
wait_command_queue
);
/* Wipe out the EXIT_PENDING status bit if we are not actually
/* Wipe out the EXIT_PENDING status bit if we are not actually
* exiting the module */
* exiting the module */
...
@@ -2266,7 +2266,7 @@ int iwl4965_mac_start(struct ieee80211_hw *hw)
...
@@ -2266,7 +2266,7 @@ int iwl4965_mac_start(struct ieee80211_hw *hw)
/* Wait for START_ALIVE from Run Time ucode. Otherwise callbacks from
/* Wait for START_ALIVE from Run Time ucode. Otherwise callbacks from
* mac80211 will not be run successfully. */
* mac80211 will not be run successfully. */
ret
=
wait_event_
interruptible_
timeout
(
priv
->
wait_command_queue
,
ret
=
wait_event_timeout
(
priv
->
wait_command_queue
,
test_bit
(
STATUS_READY
,
&
priv
->
status
),
test_bit
(
STATUS_READY
,
&
priv
->
status
),
UCODE_READY_TIMEOUT
);
UCODE_READY_TIMEOUT
);
if
(
!
ret
)
{
if
(
!
ret
)
{
...
...
drivers/net/wireless/iwlwifi/iwl-scan.c
View file @
a8acfd82
...
@@ -405,31 +405,33 @@ int iwl_mac_hw_scan(struct ieee80211_hw *hw,
...
@@ -405,31 +405,33 @@ int iwl_mac_hw_scan(struct ieee80211_hw *hw,
mutex_lock
(
&
priv
->
mutex
);
mutex_lock
(
&
priv
->
mutex
);
if
(
test_bit
(
STATUS_SCANNING
,
&
priv
->
status
)
&&
priv
->
scan_type
!=
IWL_SCAN_NORMAL
)
{
IWL_DEBUG_SCAN
(
priv
,
"Scan already in progress.
\n
"
);
ret
=
-
EAGAIN
;
goto
out_unlock
;
}
/* mac80211 will only ask for one band at a time */
priv
->
scan_request
=
req
;
priv
->
scan_vif
=
vif
;
/*
/*
* If an internal scan is in progress, just set
* If an internal scan is in progress, just set
* up the scan_request as per above.
* up the scan_request as per above.
*/
*/
if
(
priv
->
scan_type
!=
IWL_SCAN_NORMAL
)
{
if
(
priv
->
scan_type
!=
IWL_SCAN_NORMAL
)
{
IWL_DEBUG_SCAN
(
priv
,
"SCAN request during internal scan
\n
"
);
IWL_DEBUG_SCAN
(
priv
,
"SCAN request during internal scan - defer
\n
"
);
priv
->
scan_request
=
req
;
priv
->
scan_vif
=
vif
;
ret
=
0
;
ret
=
0
;
}
else
}
else
{
priv
->
scan_request
=
req
;
priv
->
scan_vif
=
vif
;
/*
* mac80211 will only ask for one band at a time
* so using channels[0] here is ok
*/
ret
=
iwl_scan_initiate
(
priv
,
vif
,
IWL_SCAN_NORMAL
,
ret
=
iwl_scan_initiate
(
priv
,
vif
,
IWL_SCAN_NORMAL
,
req
->
channels
[
0
]
->
band
);
req
->
channels
[
0
]
->
band
);
if
(
ret
)
{
priv
->
scan_request
=
NULL
;
priv
->
scan_vif
=
NULL
;
}
}
IWL_DEBUG_MAC80211
(
priv
,
"leave
\n
"
);
IWL_DEBUG_MAC80211
(
priv
,
"leave
\n
"
);
out_unlock:
mutex_unlock
(
&
priv
->
mutex
);
mutex_unlock
(
&
priv
->
mutex
);
return
ret
;
return
ret
;
...
...
drivers/net/wireless/rtlwifi/usb.c
View file @
a8acfd82
...
@@ -863,6 +863,7 @@ static void _rtl_usb_tx_preprocess(struct ieee80211_hw *hw, struct sk_buff *skb,
...
@@ -863,6 +863,7 @@ static void _rtl_usb_tx_preprocess(struct ieee80211_hw *hw, struct sk_buff *skb,
u8
tid
=
0
;
u8
tid
=
0
;
u16
seq_number
=
0
;
u16
seq_number
=
0
;
memset
(
&
tcb_desc
,
0
,
sizeof
(
struct
rtl_tcb_desc
));
if
(
ieee80211_is_auth
(
fc
))
{
if
(
ieee80211_is_auth
(
fc
))
{
RT_TRACE
(
rtlpriv
,
COMP_SEND
,
DBG_DMESG
,
(
"MAC80211_LINKING
\n
"
));
RT_TRACE
(
rtlpriv
,
COMP_SEND
,
DBG_DMESG
,
(
"MAC80211_LINKING
\n
"
));
rtl_ips_nic_on
(
hw
);
rtl_ips_nic_on
(
hw
);
...
...
net/wireless/nl80211.c
View file @
a8acfd82
...
@@ -4113,9 +4113,12 @@ static int nl80211_crypto_settings(struct cfg80211_registered_device *rdev,
...
@@ -4113,9 +4113,12 @@ static int nl80211_crypto_settings(struct cfg80211_registered_device *rdev,
if
(
len
%
sizeof
(
u32
))
if
(
len
%
sizeof
(
u32
))
return
-
EINVAL
;
return
-
EINVAL
;
if
(
settings
->
n_akm_suites
>
NL80211_MAX_NR_AKM_SUITES
)
return
-
EINVAL
;
memcpy
(
settings
->
akm_suites
,
data
,
len
);
memcpy
(
settings
->
akm_suites
,
data
,
len
);
for
(
i
=
0
;
i
<
settings
->
n_
ciphers_pairwise
;
i
++
)
for
(
i
=
0
;
i
<
settings
->
n_
akm_suites
;
i
++
)
if
(
!
nl80211_valid_akm_suite
(
settings
->
akm_suites
[
i
]))
if
(
!
nl80211_valid_akm_suite
(
settings
->
akm_suites
[
i
]))
return
-
EINVAL
;
return
-
EINVAL
;
}
}
...
...
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