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
Kirill Smelkov
linux
Commits
083dd8b8
Commit
083dd8b8
authored
Apr 04, 2011
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
parents
95b8fbad
a14b289d
Changes
38
Hide whitespace changes
Inline
Side-by-side
Showing
38 changed files
with
149 additions
and
68 deletions
+149
-68
drivers/bluetooth/btusb.c
drivers/bluetooth/btusb.c
+5
-1
drivers/net/bonding/bond_alb.h
drivers/net/bonding/bond_alb.h
+1
-1
drivers/net/mlx4/eq.c
drivers/net/mlx4/eq.c
+3
-1
drivers/net/mlx4/mcg.c
drivers/net/mlx4/mcg.c
+4
-3
drivers/net/starfire.c
drivers/net/starfire.c
+1
-5
drivers/net/usb/cdc_eem.c
drivers/net/usb/cdc_eem.c
+1
-1
drivers/net/usb/cdc_ether.c
drivers/net/usb/cdc_ether.c
+1
-1
drivers/net/usb/cdc_ncm.c
drivers/net/usb/cdc_ncm.c
+1
-1
drivers/net/usb/cdc_subset.c
drivers/net/usb/cdc_subset.c
+8
-0
drivers/net/usb/gl620a.c
drivers/net/usb/gl620a.c
+1
-1
drivers/net/usb/net1080.c
drivers/net/usb/net1080.c
+1
-1
drivers/net/usb/plusb.c
drivers/net/usb/plusb.c
+1
-1
drivers/net/usb/rndis_host.c
drivers/net/usb/rndis_host.c
+1
-1
drivers/net/usb/usbnet.c
drivers/net/usb/usbnet.c
+2
-1
drivers/net/usb/zaurus.c
drivers/net/usb/zaurus.c
+4
-4
drivers/net/wireless/ath/ath9k/main.c
drivers/net/wireless/ath/ath9k/main.c
+4
-0
drivers/net/wireless/ath/carl9170/carl9170.h
drivers/net/wireless/ath/carl9170/carl9170.h
+1
-0
drivers/net/wireless/ath/carl9170/main.c
drivers/net/wireless/ath/carl9170/main.c
+1
-0
drivers/net/wireless/ath/carl9170/tx.c
drivers/net/wireless/ath/carl9170/tx.c
+7
-0
drivers/net/wireless/iwlegacy/iwl-core.c
drivers/net/wireless/iwlegacy/iwl-core.c
+10
-0
drivers/net/wireless/iwlegacy/iwl3945-base.c
drivers/net/wireless/iwlegacy/iwl3945-base.c
+3
-4
drivers/net/wireless/rt2x00/rt2800usb.c
drivers/net/wireless/rt2x00/rt2800usb.c
+7
-3
include/linux/netdevice.h
include/linux/netdevice.h
+2
-2
include/linux/usb/usbnet.h
include/linux/usb/usbnet.h
+2
-0
include/net/bluetooth/hci.h
include/net/bluetooth/hci.h
+2
-0
include/net/sctp/structs.h
include/net/sctp/structs.h
+1
-1
net/appletalk/ddp.c
net/appletalk/ddp.c
+6
-5
net/bluetooth/hci_core.c
net/bluetooth/hci_core.c
+8
-2
net/bluetooth/hci_event.c
net/bluetooth/hci_event.c
+3
-1
net/bluetooth/l2cap_core.c
net/bluetooth/l2cap_core.c
+3
-1
net/bluetooth/l2cap_sock.c
net/bluetooth/l2cap_sock.c
+3
-2
net/bluetooth/mgmt.c
net/bluetooth/mgmt.c
+2
-0
net/ipv4/tcp_output.c
net/ipv4/tcp_output.c
+2
-1
net/mac80211/key.c
net/mac80211/key.c
+4
-3
net/mac80211/rc80211_minstrel_ht.c
net/mac80211/rc80211_minstrel_ht.c
+18
-7
net/mac80211/rx.c
net/mac80211/rx.c
+2
-1
net/sctp/sm_make_chunk.c
net/sctp/sm_make_chunk.c
+2
-2
net/wireless/scan.c
net/wireless/scan.c
+21
-10
No files found.
drivers/bluetooth/btusb.c
View file @
083dd8b8
...
...
@@ -71,6 +71,9 @@ static struct usb_device_id btusb_table[] = {
/* Apple MacBookAir3,1, MacBookAir3,2 */
{
USB_DEVICE
(
0x05ac
,
0x821b
)
},
/* Apple MacBookPro8,2 */
{
USB_DEVICE
(
0x05ac
,
0x821a
)
},
/* AVM BlueFRITZ! USB v2.0 */
{
USB_DEVICE
(
0x057c
,
0x3800
)
},
...
...
@@ -690,7 +693,8 @@ static int btusb_send_frame(struct sk_buff *skb)
break
;
case
HCI_ACLDATA_PKT
:
if
(
!
data
->
bulk_tx_ep
||
hdev
->
conn_hash
.
acl_num
<
1
)
if
(
!
data
->
bulk_tx_ep
||
(
hdev
->
conn_hash
.
acl_num
<
1
&&
hdev
->
conn_hash
.
le_num
<
1
))
return
-
ENODEV
;
urb
=
usb_alloc_urb
(
0
,
GFP_ATOMIC
);
...
...
drivers/net/bonding/bond_alb.h
View file @
083dd8b8
...
...
@@ -74,7 +74,7 @@ struct tlb_client_info {
* packets to a Client that the Hash function
* gave this entry index.
*/
u32
tx_bytes
;
/* Each Client acumulates the BytesTx that
u32
tx_bytes
;
/* Each Client ac
c
umulates the BytesTx that
* were tranmitted to it, and after each
* CallBack the LoadHistory is devided
* by the balance interval
...
...
drivers/net/mlx4/eq.c
View file @
083dd8b8
...
...
@@ -603,7 +603,9 @@ int mlx4_init_eq_table(struct mlx4_dev *dev)
}
for
(
i
=
0
;
i
<
dev
->
caps
.
num_comp_vectors
;
++
i
)
{
err
=
mlx4_create_eq
(
dev
,
dev
->
caps
.
num_cqs
+
MLX4_NUM_SPARE_EQE
,
err
=
mlx4_create_eq
(
dev
,
dev
->
caps
.
num_cqs
-
dev
->
caps
.
reserved_cqs
+
MLX4_NUM_SPARE_EQE
,
(
dev
->
flags
&
MLX4_FLAG_MSI_X
)
?
i
:
0
,
&
priv
->
eq_table
.
eq
[
i
]);
if
(
err
)
{
...
...
drivers/net/mlx4/mcg.c
View file @
083dd8b8
...
...
@@ -111,7 +111,7 @@ static int new_steering_entry(struct mlx4_dev *dev, u8 vep_num, u8 port,
u32
members_count
;
struct
mlx4_steer_index
*
new_entry
;
struct
mlx4_promisc_qp
*
pqp
;
struct
mlx4_promisc_qp
*
dqp
;
struct
mlx4_promisc_qp
*
dqp
=
NULL
;
u32
prot
;
int
err
;
u8
pf_num
;
...
...
@@ -184,7 +184,7 @@ static int new_steering_entry(struct mlx4_dev *dev, u8 vep_num, u8 port,
out_alloc:
if
(
dqp
)
{
list_del
(
&
dqp
->
list
);
kfree
(
&
dqp
);
kfree
(
dqp
);
}
list_del
(
&
new_entry
->
list
);
kfree
(
new_entry
);
...
...
@@ -469,7 +469,6 @@ static int remove_promisc_qp(struct mlx4_dev *dev, u8 vep_num, u8 port,
/*remove from list of promisc qps */
list_del
(
&
pqp
->
list
);
kfree
(
pqp
);
/* set the default entry not to include the removed one */
mailbox
=
mlx4_alloc_cmd_mailbox
(
dev
);
...
...
@@ -528,6 +527,8 @@ static int remove_promisc_qp(struct mlx4_dev *dev, u8 vep_num, u8 port,
out_list:
if
(
back_to_list
)
list_add_tail
(
&
pqp
->
list
,
&
s_steer
->
promisc_qps
[
steer
]);
else
kfree
(
pqp
);
out_mutex:
mutex_unlock
(
&
priv
->
mcg_table
.
mutex
);
return
err
;
...
...
drivers/net/starfire.c
View file @
083dd8b8
...
...
@@ -144,11 +144,7 @@ static int full_duplex[MAX_UNITS] = {0, };
/* Time in jiffies before concluding the transmitter is hung. */
#define TX_TIMEOUT (2 * HZ)
/*
* This SUCKS.
* We need a much better method to determine if dma_addr_t is 64-bit.
*/
#if (defined(__i386__) && defined(CONFIG_HIGHMEM64G)) || defined(__x86_64__) || defined (__ia64__) || defined(__alpha__) || (defined(CONFIG_MIPS) && ((defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR)) || defined(CONFIG_64BIT))) || (defined(__powerpc64__) || defined(CONFIG_PHYS_64BIT))
#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
/* 64-bit dma_addr_t */
#define ADDR_64BITS
/* This chip uses 64 bit addresses. */
#define netdrv_addr_t __le64
...
...
drivers/net/usb/cdc_eem.c
View file @
083dd8b8
...
...
@@ -340,7 +340,7 @@ static int eem_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
static
const
struct
driver_info
eem_info
=
{
.
description
=
"CDC EEM Device"
,
.
flags
=
FLAG_ETHER
,
.
flags
=
FLAG_ETHER
|
FLAG_POINTTOPOINT
,
.
bind
=
eem_bind
,
.
rx_fixup
=
eem_rx_fixup
,
.
tx_fixup
=
eem_tx_fixup
,
...
...
drivers/net/usb/cdc_ether.c
View file @
083dd8b8
...
...
@@ -452,7 +452,7 @@ static int cdc_manage_power(struct usbnet *dev, int on)
static
const
struct
driver_info
cdc_info
=
{
.
description
=
"CDC Ethernet Device"
,
.
flags
=
FLAG_ETHER
,
.
flags
=
FLAG_ETHER
|
FLAG_POINTTOPOINT
,
// .check_connect = cdc_check_connect,
.
bind
=
usbnet_cdc_bind
,
.
unbind
=
usbnet_cdc_unbind
,
...
...
drivers/net/usb/cdc_ncm.c
View file @
083dd8b8
...
...
@@ -1237,7 +1237,7 @@ static int cdc_ncm_manage_power(struct usbnet *dev, int status)
static
const
struct
driver_info
cdc_ncm_info
=
{
.
description
=
"CDC NCM"
,
.
flags
=
FLAG_NO_SETINT
|
FLAG_MULTI_PACKET
,
.
flags
=
FLAG_
POINTTOPOINT
|
FLAG_
NO_SETINT
|
FLAG_MULTI_PACKET
,
.
bind
=
cdc_ncm_bind
,
.
unbind
=
cdc_ncm_unbind
,
.
check_connect
=
cdc_ncm_check_connect
,
...
...
drivers/net/usb/cdc_subset.c
View file @
083dd8b8
...
...
@@ -89,6 +89,7 @@ static int always_connected (struct usbnet *dev)
static
const
struct
driver_info
ali_m5632_info
=
{
.
description
=
"ALi M5632"
,
.
flags
=
FLAG_POINTTOPOINT
,
};
#endif
...
...
@@ -110,6 +111,7 @@ static const struct driver_info ali_m5632_info = {
static
const
struct
driver_info
an2720_info
=
{
.
description
=
"AnchorChips/Cypress 2720"
,
.
flags
=
FLAG_POINTTOPOINT
,
// no reset available!
// no check_connect available!
...
...
@@ -132,6 +134,7 @@ static const struct driver_info an2720_info = {
static
const
struct
driver_info
belkin_info
=
{
.
description
=
"Belkin, eTEK, or compatible"
,
.
flags
=
FLAG_POINTTOPOINT
,
};
#endif
/* CONFIG_USB_BELKIN */
...
...
@@ -157,6 +160,7 @@ static const struct driver_info belkin_info = {
static
const
struct
driver_info
epson2888_info
=
{
.
description
=
"Epson USB Device"
,
.
check_connect
=
always_connected
,
.
flags
=
FLAG_POINTTOPOINT
,
.
in
=
4
,
.
out
=
3
,
};
...
...
@@ -173,6 +177,7 @@ static const struct driver_info epson2888_info = {
#define HAVE_HARDWARE
static
const
struct
driver_info
kc2190_info
=
{
.
description
=
"KC Technology KC-190"
,
.
flags
=
FLAG_POINTTOPOINT
,
};
#endif
/* CONFIG_USB_KC2190 */
...
...
@@ -200,16 +205,19 @@ static const struct driver_info kc2190_info = {
static
const
struct
driver_info
linuxdev_info
=
{
.
description
=
"Linux Device"
,
.
check_connect
=
always_connected
,
.
flags
=
FLAG_POINTTOPOINT
,
};
static
const
struct
driver_info
yopy_info
=
{
.
description
=
"Yopy"
,
.
check_connect
=
always_connected
,
.
flags
=
FLAG_POINTTOPOINT
,
};
static
const
struct
driver_info
blob_info
=
{
.
description
=
"Boot Loader OBject"
,
.
check_connect
=
always_connected
,
.
flags
=
FLAG_POINTTOPOINT
,
};
#endif
/* CONFIG_USB_ARMLINUX */
...
...
drivers/net/usb/gl620a.c
View file @
083dd8b8
...
...
@@ -193,7 +193,7 @@ static int genelink_bind(struct usbnet *dev, struct usb_interface *intf)
static
const
struct
driver_info
genelink_info
=
{
.
description
=
"Genesys GeneLink"
,
.
flags
=
FLAG_FRAMING_GL
|
FLAG_NO_SETINT
,
.
flags
=
FLAG_
POINTTOPOINT
|
FLAG_
FRAMING_GL
|
FLAG_NO_SETINT
,
.
bind
=
genelink_bind
,
.
rx_fixup
=
genelink_rx_fixup
,
.
tx_fixup
=
genelink_tx_fixup
,
...
...
drivers/net/usb/net1080.c
View file @
083dd8b8
...
...
@@ -560,7 +560,7 @@ static int net1080_bind(struct usbnet *dev, struct usb_interface *intf)
static
const
struct
driver_info
net1080_info
=
{
.
description
=
"NetChip TurboCONNECT"
,
.
flags
=
FLAG_FRAMING_NC
,
.
flags
=
FLAG_
POINTTOPOINT
|
FLAG_
FRAMING_NC
,
.
bind
=
net1080_bind
,
.
reset
=
net1080_reset
,
.
check_connect
=
net1080_check_connect
,
...
...
drivers/net/usb/plusb.c
View file @
083dd8b8
...
...
@@ -96,7 +96,7 @@ static int pl_reset(struct usbnet *dev)
static
const
struct
driver_info
prolific_info
=
{
.
description
=
"Prolific PL-2301/PL-2302"
,
.
flags
=
FLAG_NO_SETINT
,
.
flags
=
FLAG_
POINTTOPOINT
|
FLAG_
NO_SETINT
,
/* some PL-2302 versions seem to fail usb_set_interface() */
.
reset
=
pl_reset
,
};
...
...
drivers/net/usb/rndis_host.c
View file @
083dd8b8
...
...
@@ -573,7 +573,7 @@ EXPORT_SYMBOL_GPL(rndis_tx_fixup);
static
const
struct
driver_info
rndis_info
=
{
.
description
=
"RNDIS device"
,
.
flags
=
FLAG_ETHER
|
FLAG_FRAMING_RN
|
FLAG_NO_SETINT
,
.
flags
=
FLAG_ETHER
|
FLAG_
POINTTOPOINT
|
FLAG_
FRAMING_RN
|
FLAG_NO_SETINT
,
.
bind
=
rndis_bind
,
.
unbind
=
rndis_unbind
,
.
status
=
rndis_status
,
...
...
drivers/net/usb/usbnet.c
View file @
083dd8b8
...
...
@@ -1380,7 +1380,8 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)
// else "eth%d" when there's reasonable doubt. userspace
// can rename the link if it knows better.
if
((
dev
->
driver_info
->
flags
&
FLAG_ETHER
)
!=
0
&&
(
net
->
dev_addr
[
0
]
&
0x02
)
==
0
)
((
dev
->
driver_info
->
flags
&
FLAG_POINTTOPOINT
)
==
0
||
(
net
->
dev_addr
[
0
]
&
0x02
)
==
0
))
strcpy
(
net
->
name
,
"eth%d"
);
/* WLAN devices should always be named "wlan%d" */
if
((
dev
->
driver_info
->
flags
&
FLAG_WLAN
)
!=
0
)
...
...
drivers/net/usb/zaurus.c
View file @
083dd8b8
...
...
@@ -102,7 +102,7 @@ static int always_connected (struct usbnet *dev)
static
const
struct
driver_info
zaurus_sl5x00_info
=
{
.
description
=
"Sharp Zaurus SL-5x00"
,
.
flags
=
FLAG_FRAMING_Z
,
.
flags
=
FLAG_
POINTTOPOINT
|
FLAG_
FRAMING_Z
,
.
check_connect
=
always_connected
,
.
bind
=
zaurus_bind
,
.
unbind
=
usbnet_cdc_unbind
,
...
...
@@ -112,7 +112,7 @@ static const struct driver_info zaurus_sl5x00_info = {
static
const
struct
driver_info
zaurus_pxa_info
=
{
.
description
=
"Sharp Zaurus, PXA-2xx based"
,
.
flags
=
FLAG_FRAMING_Z
,
.
flags
=
FLAG_
POINTTOPOINT
|
FLAG_
FRAMING_Z
,
.
check_connect
=
always_connected
,
.
bind
=
zaurus_bind
,
.
unbind
=
usbnet_cdc_unbind
,
...
...
@@ -122,7 +122,7 @@ static const struct driver_info zaurus_pxa_info = {
static
const
struct
driver_info
olympus_mxl_info
=
{
.
description
=
"Olympus R1000"
,
.
flags
=
FLAG_FRAMING_Z
,
.
flags
=
FLAG_
POINTTOPOINT
|
FLAG_
FRAMING_Z
,
.
check_connect
=
always_connected
,
.
bind
=
zaurus_bind
,
.
unbind
=
usbnet_cdc_unbind
,
...
...
@@ -258,7 +258,7 @@ static int blan_mdlm_bind(struct usbnet *dev, struct usb_interface *intf)
static
const
struct
driver_info
bogus_mdlm_info
=
{
.
description
=
"pseudo-MDLM (BLAN) device"
,
.
flags
=
FLAG_FRAMING_Z
,
.
flags
=
FLAG_
POINTTOPOINT
|
FLAG_
FRAMING_Z
,
.
check_connect
=
always_connected
,
.
tx_fixup
=
zaurus_tx_fixup
,
.
bind
=
blan_mdlm_bind
,
...
...
drivers/net/wireless/ath/ath9k/main.c
View file @
083dd8b8
...
...
@@ -1048,6 +1048,8 @@ static int ath9k_start(struct ieee80211_hw *hw)
"Starting driver with initial channel: %d MHz
\n
"
,
curchan
->
center_freq
);
ath9k_ps_wakeup
(
sc
);
mutex_lock
(
&
sc
->
mutex
);
/* setup initial channel */
...
...
@@ -1143,6 +1145,8 @@ static int ath9k_start(struct ieee80211_hw *hw)
mutex_unlock:
mutex_unlock
(
&
sc
->
mutex
);
ath9k_ps_restore
(
sc
);
return
r
;
}
...
...
drivers/net/wireless/ath/carl9170/carl9170.h
View file @
083dd8b8
...
...
@@ -443,6 +443,7 @@ struct carl9170_ba_stats {
u8
ampdu_len
;
u8
ampdu_ack_len
;
bool
clear
;
bool
req
;
};
struct
carl9170_sta_info
{
...
...
drivers/net/wireless/ath/carl9170/main.c
View file @
083dd8b8
...
...
@@ -1355,6 +1355,7 @@ static int carl9170_op_ampdu_action(struct ieee80211_hw *hw,
tid_info
=
rcu_dereference
(
sta_info
->
agg
[
tid
]);
sta_info
->
stats
[
tid
].
clear
=
true
;
sta_info
->
stats
[
tid
].
req
=
false
;
if
(
tid_info
)
{
bitmap_zero
(
tid_info
->
bitmap
,
CARL9170_BAW_SIZE
);
...
...
drivers/net/wireless/ath/carl9170/tx.c
View file @
083dd8b8
...
...
@@ -383,6 +383,7 @@ static void carl9170_tx_status_process_ampdu(struct ar9170 *ar,
if
(
sta_info
->
stats
[
tid
].
clear
)
{
sta_info
->
stats
[
tid
].
clear
=
false
;
sta_info
->
stats
[
tid
].
req
=
false
;
sta_info
->
stats
[
tid
].
ampdu_len
=
0
;
sta_info
->
stats
[
tid
].
ampdu_ack_len
=
0
;
}
...
...
@@ -391,10 +392,16 @@ static void carl9170_tx_status_process_ampdu(struct ar9170 *ar,
if
(
txinfo
->
status
.
rates
[
0
].
count
==
1
)
sta_info
->
stats
[
tid
].
ampdu_ack_len
++
;
if
(
!
(
txinfo
->
flags
&
IEEE80211_TX_STAT_ACK
))
sta_info
->
stats
[
tid
].
req
=
true
;
if
(
super
->
f
.
mac_control
&
cpu_to_le16
(
AR9170_TX_MAC_IMM_BA
))
{
super
->
s
.
rix
=
sta_info
->
stats
[
tid
].
ampdu_len
;
super
->
s
.
cnt
=
sta_info
->
stats
[
tid
].
ampdu_ack_len
;
txinfo
->
flags
|=
IEEE80211_TX_STAT_AMPDU
;
if
(
sta_info
->
stats
[
tid
].
req
)
txinfo
->
flags
|=
IEEE80211_TX_STAT_AMPDU_NO_BACK
;
sta_info
->
stats
[
tid
].
clear
=
true
;
}
spin_unlock_bh
(
&
tid_info
->
lock
);
...
...
drivers/net/wireless/iwlegacy/iwl-core.c
View file @
083dd8b8
...
...
@@ -1805,6 +1805,15 @@ iwl_legacy_mac_change_interface(struct ieee80211_hw *hw,
mutex_lock
(
&
priv
->
mutex
);
if
(
!
ctx
->
vif
||
!
iwl_legacy_is_ready_rf
(
priv
))
{
/*
* Huh? But wait ... this can maybe happen when
* we're in the middle of a firmware restart!
*/
err
=
-
EBUSY
;
goto
out
;
}
interface_modes
=
ctx
->
interface_modes
|
ctx
->
exclusive_interface_modes
;
if
(
!
(
interface_modes
&
BIT
(
newtype
)))
{
...
...
@@ -1832,6 +1841,7 @@ iwl_legacy_mac_change_interface(struct ieee80211_hw *hw,
/* success */
iwl_legacy_teardown_interface
(
priv
,
vif
,
true
);
vif
->
type
=
newtype
;
vif
->
p2p
=
newp2p
;
err
=
iwl_legacy_setup_interface
(
priv
,
ctx
);
WARN_ON
(
err
);
/*
...
...
drivers/net/wireless/iwlegacy/iwl3945-base.c
View file @
083dd8b8
...
...
@@ -93,6 +93,7 @@ MODULE_LICENSE("GPL");
struct
iwl_mod_params
iwl3945_mod_params
=
{
.
sw_crypto
=
1
,
.
restart_fw
=
1
,
.
disable_hw_scan
=
1
,
/* the rest are 0 by default */
};
...
...
@@ -3960,8 +3961,7 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
* "the hard way", rather than using device's scan.
*/
if
(
iwl3945_mod_params
.
disable_hw_scan
)
{
dev_printk
(
KERN_DEBUG
,
&
(
pdev
->
dev
),
"sw scan support is deprecated
\n
"
);
IWL_DEBUG_INFO
(
priv
,
"Disabling hw_scan
\n
"
);
iwl3945_hw_ops
.
hw_scan
=
NULL
;
}
...
...
@@ -4280,8 +4280,7 @@ MODULE_PARM_DESC(swcrypto,
"using software crypto (default 1 [software])"
);
module_param_named
(
disable_hw_scan
,
iwl3945_mod_params
.
disable_hw_scan
,
int
,
S_IRUGO
);
MODULE_PARM_DESC
(
disable_hw_scan
,
"disable hardware scanning (default 0) (deprecated)"
);
MODULE_PARM_DESC
(
disable_hw_scan
,
"disable hardware scanning (default 1)"
);
#ifdef CONFIG_IWLWIFI_LEGACY_DEBUG
module_param_named
(
debug
,
iwlegacy_debug_level
,
uint
,
S_IRUGO
|
S_IWUSR
);
MODULE_PARM_DESC
(
debug
,
"debug output mask"
);
...
...
drivers/net/wireless/rt2x00/rt2800usb.c
View file @
083dd8b8
...
...
@@ -730,8 +730,12 @@ static struct usb_device_id rt2800usb_device_table[] = {
{
USB_DEVICE
(
0x050d
,
0x8053
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
{
USB_DEVICE
(
0x050d
,
0x805c
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
{
USB_DEVICE
(
0x050d
,
0x815c
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
{
USB_DEVICE
(
0x050d
,
0x825b
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
{
USB_DEVICE
(
0x050d
,
0x935a
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
{
USB_DEVICE
(
0x050d
,
0x935b
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
/* Buffalo */
{
USB_DEVICE
(
0x0411
,
0x00e8
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
{
USB_DEVICE
(
0x0411
,
0x016f
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
/* Conceptronic */
{
USB_DEVICE
(
0x14b2
,
0x3c06
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
{
USB_DEVICE
(
0x14b2
,
0x3c07
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
...
...
@@ -818,6 +822,7 @@ static struct usb_device_id rt2800usb_device_table[] = {
/* Pegatron */
{
USB_DEVICE
(
0x1d4d
,
0x000c
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
{
USB_DEVICE
(
0x1d4d
,
0x000e
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
{
USB_DEVICE
(
0x1d4d
,
0x0011
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
/* Philips */
{
USB_DEVICE
(
0x0471
,
0x200f
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
/* Planex */
...
...
@@ -899,6 +904,8 @@ static struct usb_device_id rt2800usb_device_table[] = {
{
USB_DEVICE
(
0x148f
,
0x3572
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
/* Sitecom */
{
USB_DEVICE
(
0x0df6
,
0x0041
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
/* Toshiba */
{
USB_DEVICE
(
0x0930
,
0x0a07
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
/* Zinwell */
{
USB_DEVICE
(
0x5a57
,
0x0284
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
#endif
...
...
@@ -961,7 +968,6 @@ static struct usb_device_id rt2800usb_device_table[] = {
{
USB_DEVICE
(
0x05a6
,
0x0101
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
{
USB_DEVICE
(
0x1d4d
,
0x0002
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
{
USB_DEVICE
(
0x1d4d
,
0x0010
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
{
USB_DEVICE
(
0x1d4d
,
0x0011
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
/* Planex */
{
USB_DEVICE
(
0x2019
,
0x5201
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
{
USB_DEVICE
(
0x2019
,
0xab24
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
...
...
@@ -975,8 +981,6 @@ static struct usb_device_id rt2800usb_device_table[] = {
/* Sweex */
{
USB_DEVICE
(
0x177f
,
0x0153
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
{
USB_DEVICE
(
0x177f
,
0x0313
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
/* Toshiba */
{
USB_DEVICE
(
0x0930
,
0x0a07
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
/* Zyxel */
{
USB_DEVICE
(
0x0586
,
0x341a
),
USB_DEVICE_DATA
(
&
rt2800usb_ops
)
},
#endif
...
...
include/linux/netdevice.h
View file @
083dd8b8
...
...
@@ -2599,8 +2599,8 @@ static inline int dev_ethtool_get_settings(struct net_device *dev,
static
inline
u32
dev_ethtool_get_rx_csum
(
struct
net_device
*
dev
)
{
if
(
dev
->
hw_
features
&
NETIF_F_RXCSUM
)
return
!!
(
dev
->
features
&
NETIF_F_RXCSUM
)
;
if
(
dev
->
features
&
NETIF_F_RXCSUM
)
return
1
;
if
(
!
dev
->
ethtool_ops
||
!
dev
->
ethtool_ops
->
get_rx_csum
)
return
0
;
return
dev
->
ethtool_ops
->
get_rx_csum
(
dev
);
...
...
include/linux/usb/usbnet.h
View file @
083dd8b8
...
...
@@ -97,6 +97,8 @@ struct driver_info {
#define FLAG_LINK_INTR 0x0800
/* updates link (carrier) status */
#define FLAG_POINTTOPOINT 0x1000
/* possibly use "usb%d" names */
/*
* Indicates to usbnet, that USB driver accumulates multiple IP packets.
* Affects statistic (counters) and short packet handling.
...
...
include/net/bluetooth/hci.h
View file @
083dd8b8
...
...
@@ -84,6 +84,8 @@ enum {
HCI_SERVICE_CACHE
,
HCI_LINK_KEYS
,
HCI_DEBUG_KEYS
,
HCI_RESET
,
};
/* HCI ioctl defines */
...
...
include/net/sctp/structs.h
View file @
083dd8b8
...
...
@@ -422,7 +422,7 @@ struct sctp_cookie {
__u32
adaptation_ind
;
__u8
auth_random
[
sizeof
(
sctp_paramhdr_t
)
+
SCTP_AUTH_RANDOM_LENGTH
];
__u8
auth_hmacs
[
SCTP_AUTH_NUM_HMACS
+
2
];
__u8
auth_hmacs
[
SCTP_AUTH_NUM_HMACS
*
sizeof
(
__u16
)
+
2
];
__u8
auth_chunks
[
sizeof
(
sctp_paramhdr_t
)
+
SCTP_AUTH_MAX_CHUNKS
];
/* This is a shim for my peer's INIT packet, followed by
...
...
net/appletalk/ddp.c
View file @
083dd8b8
...
...
@@ -1051,16 +1051,17 @@ static int atalk_release(struct socket *sock)
{
struct
sock
*
sk
=
sock
->
sk
;
sock_hold
(
sk
);
lock_sock
(
sk
);
if
(
sk
)
{
sock_hold
(
sk
);
lock_sock
(
sk
);
sock_orphan
(
sk
);
sock
->
sk
=
NULL
;
atalk_destroy_socket
(
sk
);
}
release_sock
(
sk
);
sock_put
(
sk
);
release_sock
(
sk
);
sock_put
(
sk
);
}
return
0
;
}
...
...
net/bluetooth/hci_core.c
View file @
083dd8b8
...
...
@@ -186,6 +186,7 @@ static void hci_reset_req(struct hci_dev *hdev, unsigned long opt)
BT_DBG
(
"%s %ld"
,
hdev
->
name
,
opt
);
/* Reset device */
set_bit
(
HCI_RESET
,
&
hdev
->
flags
);
hci_send_cmd
(
hdev
,
HCI_OP_RESET
,
0
,
NULL
);
}
...
...
@@ -213,8 +214,10 @@ static void hci_init_req(struct hci_dev *hdev, unsigned long opt)
/* Mandatory initialization */
/* Reset */
if
(
!
test_bit
(
HCI_QUIRK_NO_RESET
,
&
hdev
->
quirks
))
if
(
!
test_bit
(
HCI_QUIRK_NO_RESET
,
&
hdev
->
quirks
))
{
set_bit
(
HCI_RESET
,
&
hdev
->
flags
);
hci_send_cmd
(
hdev
,
HCI_OP_RESET
,
0
,
NULL
);
}
/* Read Local Supported Features */
hci_send_cmd
(
hdev
,
HCI_OP_READ_LOCAL_FEATURES
,
0
,
NULL
);
...
...
@@ -584,6 +587,9 @@ static int hci_dev_do_close(struct hci_dev *hdev)
hci_req_cancel
(
hdev
,
ENODEV
);
hci_req_lock
(
hdev
);
/* Stop timer, it might be running */
del_timer_sync
(
&
hdev
->
cmd_timer
);
if
(
!
test_and_clear_bit
(
HCI_UP
,
&
hdev
->
flags
))
{
hci_req_unlock
(
hdev
);
return
0
;
...
...
@@ -623,7 +629,6 @@ static int hci_dev_do_close(struct hci_dev *hdev)
/* Drop last sent command */
if
(
hdev
->
sent_cmd
)
{
del_timer_sync
(
&
hdev
->
cmd_timer
);
kfree_skb
(
hdev
->
sent_cmd
);
hdev
->
sent_cmd
=
NULL
;
}
...
...
@@ -1074,6 +1079,7 @@ static void hci_cmd_timer(unsigned long arg)
BT_ERR
(
"%s command tx timeout"
,
hdev
->
name
);
atomic_set
(
&
hdev
->
cmd_cnt
,
1
);
clear_bit
(
HCI_RESET
,
&
hdev
->
flags
);
tasklet_schedule
(
&
hdev
->
cmd_task
);
}
...
...
net/bluetooth/hci_event.c
View file @
083dd8b8
...
...
@@ -183,6 +183,8 @@ static void hci_cc_reset(struct hci_dev *hdev, struct sk_buff *skb)
BT_DBG
(
"%s status 0x%x"
,
hdev
->
name
,
status
);
clear_bit
(
HCI_RESET
,
&
hdev
->
flags
);
hci_req_complete
(
hdev
,
HCI_OP_RESET
,
status
);
}
...
...
@@ -1847,7 +1849,7 @@ static inline void hci_cmd_status_evt(struct hci_dev *hdev, struct sk_buff *skb)
if
(
ev
->
opcode
!=
HCI_OP_NOP
)
del_timer
(
&
hdev
->
cmd_timer
);
if
(
ev
->
ncmd
)
{
if
(
ev
->
ncmd
&&
!
test_bit
(
HCI_RESET
,
&
hdev
->
flags
)
)
{
atomic_set
(
&
hdev
->
cmd_cnt
,
1
);
if
(
!
skb_queue_empty
(
&
hdev
->
cmd_q
))
tasklet_schedule
(
&
hdev
->
cmd_task
);
...
...
net/bluetooth/l2cap_core.c
View file @
083dd8b8
...
...
@@ -1116,7 +1116,9 @@ int l2cap_ertm_send(struct sock *sk)
bt_cb
(
skb
)
->
tx_seq
=
pi
->
next_tx_seq
;
pi
->
next_tx_seq
=
(
pi
->
next_tx_seq
+
1
)
%
64
;
pi
->
unacked_frames
++
;
if
(
bt_cb
(
skb
)
->
retries
==
1
)
pi
->
unacked_frames
++
;
pi
->
frames_sent
++
;
if
(
skb_queue_is_last
(
TX_QUEUE
(
sk
),
skb
))
...
...
net/bluetooth/l2cap_sock.c
View file @
083dd8b8
...
...
@@ -923,8 +923,9 @@ void __l2cap_sock_close(struct sock *sk, int reason)
rsp
.
status
=
cpu_to_le16
(
L2CAP_CS_NO_INFO
);
l2cap_send_cmd
(
conn
,
l2cap_pi
(
sk
)
->
ident
,
L2CAP_CONN_RSP
,
sizeof
(
rsp
),
&
rsp
);
}
else
l2cap_chan_del
(
sk
,
reason
);
}
l2cap_chan_del
(
sk
,
reason
);
break
;
case
BT_CONNECT
:
...
...
net/bluetooth/mgmt.c
View file @
083dd8b8
...
...
@@ -1230,6 +1230,8 @@ static int user_confirm_reply(struct sock *sk, u16 index, unsigned char *data,
if
(
!
hdev
)
return
cmd_status
(
sk
,
index
,
mgmt_op
,
ENODEV
);
hci_dev_lock_bh
(
hdev
);
if
(
!
test_bit
(
HCI_UP
,
&
hdev
->
flags
))
{
err
=
cmd_status
(
sk
,
index
,
mgmt_op
,
ENETDOWN
);
goto
failed
;
...
...
net/ipv4/tcp_output.c
View file @
083dd8b8
...
...
@@ -1003,7 +1003,8 @@ int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len,
int
nlen
;
u8
flags
;
BUG_ON
(
len
>
skb
->
len
);
if
(
WARN_ON
(
len
>
skb
->
len
))
return
-
EINVAL
;
nsize
=
skb_headlen
(
skb
)
-
len
;
if
(
nsize
<
0
)
...
...
net/mac80211/key.c
View file @
083dd8b8
...
...
@@ -342,7 +342,7 @@ struct ieee80211_key *ieee80211_key_alloc(u32 cipher, int idx, size_t key_len,
if
(
IS_ERR
(
key
->
u
.
ccmp
.
tfm
))
{
err
=
PTR_ERR
(
key
->
u
.
ccmp
.
tfm
);
kfree
(
key
);
key
=
ERR_PTR
(
err
);
return
ERR_PTR
(
err
);
}
break
;
case
WLAN_CIPHER_SUITE_AES_CMAC
:
...
...
@@ -360,7 +360,7 @@ struct ieee80211_key *ieee80211_key_alloc(u32 cipher, int idx, size_t key_len,
if
(
IS_ERR
(
key
->
u
.
aes_cmac
.
tfm
))
{
err
=
PTR_ERR
(
key
->
u
.
aes_cmac
.
tfm
);
kfree
(
key
);
key
=
ERR_PTR
(
err
);
return
ERR_PTR
(
err
);
}
break
;
}
...
...
@@ -400,11 +400,12 @@ int ieee80211_key_link(struct ieee80211_key *key,
{
struct
ieee80211_key
*
old_key
;
int
idx
,
ret
;
bool
pairwise
=
key
->
conf
.
flags
&
IEEE80211_KEY_FLAG_PAIRWISE
;
bool
pairwise
;
BUG_ON
(
!
sdata
);
BUG_ON
(
!
key
);
pairwise
=
key
->
conf
.
flags
&
IEEE80211_KEY_FLAG_PAIRWISE
;
idx
=
key
->
conf
.
keyidx
;
key
->
local
=
sdata
->
local
;
key
->
sdata
=
sdata
;
...
...
net/mac80211/rc80211_minstrel_ht.c
View file @
083dd8b8
...
...
@@ -659,18 +659,14 @@ minstrel_ht_update_caps(void *priv, struct ieee80211_supported_band *sband,
struct
ieee80211_mcs_info
*
mcs
=
&
sta
->
ht_cap
.
mcs
;
struct
ieee80211_local
*
local
=
hw_to_local
(
mp
->
hw
);
u16
sta_cap
=
sta
->
ht_cap
.
cap
;
int
n_supported
=
0
;
int
ack_dur
;
int
stbc
;
int
i
;
/* fall back to the old minstrel for legacy stations */
if
(
!
sta
->
ht_cap
.
ht_supported
)
{
msp
->
is_ht
=
false
;
memset
(
&
msp
->
legacy
,
0
,
sizeof
(
msp
->
legacy
));
msp
->
legacy
.
r
=
msp
->
ratelist
;
msp
->
legacy
.
sample_table
=
msp
->
sample_table
;
return
mac80211_minstrel
.
rate_init
(
priv
,
sband
,
sta
,
&
msp
->
legacy
);
}
if
(
!
sta
->
ht_cap
.
ht_supported
)
goto
use_legacy
;
BUILD_BUG_ON
(
ARRAY_SIZE
(
minstrel_mcs_groups
)
!=
MINSTREL_MAX_STREAMS
*
MINSTREL_STREAM_GROUPS
);
...
...
@@ -725,7 +721,22 @@ minstrel_ht_update_caps(void *priv, struct ieee80211_supported_band *sband,
mi
->
groups
[
i
].
supported
=
mcs
->
rx_mask
[
minstrel_mcs_groups
[
i
].
streams
-
1
];
if
(
mi
->
groups
[
i
].
supported
)
n_supported
++
;
}
if
(
!
n_supported
)
goto
use_legacy
;
return
;
use_legacy:
msp
->
is_ht
=
false
;
memset
(
&
msp
->
legacy
,
0
,
sizeof
(
msp
->
legacy
));
msp
->
legacy
.
r
=
msp
->
ratelist
;
msp
->
legacy
.
sample_table
=
msp
->
sample_table
;
return
mac80211_minstrel
.
rate_init
(
priv
,
sband
,
sta
,
&
msp
->
legacy
);
}
static
void
...
...
net/mac80211/rx.c
View file @
083dd8b8
...
...
@@ -612,7 +612,8 @@ static void ieee80211_sta_reorder_release(struct ieee80211_hw *hw,
skipped
++
;
continue
;
}
if
(
!
time_after
(
jiffies
,
tid_agg_rx
->
reorder_time
[
j
]
+
if
(
skipped
&&
!
time_after
(
jiffies
,
tid_agg_rx
->
reorder_time
[
j
]
+
HT_RX_REORDER_BUF_TIMEOUT
))
goto
set_release_timer
;
...
...
net/sctp/sm_make_chunk.c
View file @
083dd8b8
...
...
@@ -3106,10 +3106,10 @@ struct sctp_chunk *sctp_process_asconf(struct sctp_association *asoc,
/* create an ASCONF_ACK chunk.
* Based on the definitions of parameters, we know that the size of
* ASCONF_ACK parameters are less than or equal to the
twice
of ASCONF
* ASCONF_ACK parameters are less than or equal to the
fourfold
of ASCONF
* parameters.
*/
asconf_ack
=
sctp_make_asconf_ack
(
asoc
,
serial
,
chunk_len
*
2
);
asconf_ack
=
sctp_make_asconf_ack
(
asoc
,
serial
,
chunk_len
*
4
);
if
(
!
asconf_ack
)
goto
done
;
...
...
net/wireless/scan.c
View file @
083dd8b8
...
...
@@ -123,6 +123,15 @@ void cfg80211_bss_age(struct cfg80211_registered_device *dev,
}
}
/* must hold dev->bss_lock! */
static
void
__cfg80211_unlink_bss
(
struct
cfg80211_registered_device
*
dev
,
struct
cfg80211_internal_bss
*
bss
)
{
list_del_init
(
&
bss
->
list
);
rb_erase
(
&
bss
->
rbn
,
&
dev
->
bss_tree
);
kref_put
(
&
bss
->
ref
,
bss_release
);
}
/* must hold dev->bss_lock! */
void
cfg80211_bss_expire
(
struct
cfg80211_registered_device
*
dev
)
{
...
...
@@ -134,9 +143,7 @@ void cfg80211_bss_expire(struct cfg80211_registered_device *dev)
continue
;
if
(
!
time_after
(
jiffies
,
bss
->
ts
+
IEEE80211_SCAN_RESULT_EXPIRE
))
continue
;
list_del
(
&
bss
->
list
);
rb_erase
(
&
bss
->
rbn
,
&
dev
->
bss_tree
);
kref_put
(
&
bss
->
ref
,
bss_release
);
__cfg80211_unlink_bss
(
dev
,
bss
);
expired
=
true
;
}
...
...
@@ -585,16 +592,23 @@ cfg80211_inform_bss_frame(struct wiphy *wiphy,
struct
cfg80211_internal_bss
*
res
;
size_t
ielen
=
len
-
offsetof
(
struct
ieee80211_mgmt
,
u
.
probe_resp
.
variable
);
size_t
privsz
=
wiphy
->
bss_priv_size
;
size_t
privsz
;
if
(
WARN_ON
(
!
mgmt
))
return
NULL
;
if
(
WARN_ON
(
!
wiphy
))
return
NULL
;
if
(
WARN_ON
(
wiphy
->
signal_type
==
CFG80211_SIGNAL_TYPE_UNSPEC
&&
(
signal
<
0
||
signal
>
100
)))
return
NULL
;
if
(
WARN_ON
(
!
mgmt
||
!
wiphy
||
len
<
offsetof
(
struct
ieee80211_mgmt
,
u
.
probe_resp
.
variable
)))
if
(
WARN_ON
(
len
<
offsetof
(
struct
ieee80211_mgmt
,
u
.
probe_resp
.
variable
)))
return
NULL
;
privsz
=
wiphy
->
bss_priv_size
;
res
=
kzalloc
(
sizeof
(
*
res
)
+
privsz
+
ielen
,
gfp
);
if
(
!
res
)
return
NULL
;
...
...
@@ -662,11 +676,8 @@ void cfg80211_unlink_bss(struct wiphy *wiphy, struct cfg80211_bss *pub)
spin_lock_bh
(
&
dev
->
bss_lock
);
if
(
!
list_empty
(
&
bss
->
list
))
{
list_del_init
(
&
bss
->
list
);
__cfg80211_unlink_bss
(
dev
,
bss
);
dev
->
bss_generation
++
;
rb_erase
(
&
bss
->
rbn
,
&
dev
->
bss_tree
);
kref_put
(
&
bss
->
ref
,
bss_release
);
}
spin_unlock_bh
(
&
dev
->
bss_lock
);
}
...
...
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