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
eca6fc78
Commit
eca6fc78
authored
Aug 16, 2010
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
da5cabf8
5ca6f7c8
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
57 additions
and
35 deletions
+57
-35
drivers/net/wireless/ath/ath5k/base.c
drivers/net/wireless/ath/ath5k/base.c
+21
-0
drivers/net/wireless/ath/ath9k/eeprom.h
drivers/net/wireless/ath/ath9k/eeprom.h
+1
-0
drivers/net/wireless/ath/ath9k/eeprom_9287.c
drivers/net/wireless/ath/ath9k/eeprom_9287.c
+6
-1
drivers/net/wireless/ath/ath9k/hif_usb.c
drivers/net/wireless/ath/ath9k/hif_usb.c
+2
-6
drivers/net/wireless/ath/ath9k/htc_drv_init.c
drivers/net/wireless/ath/ath9k/htc_drv_init.c
+1
-0
drivers/net/wireless/ath/ath9k/htc_drv_main.c
drivers/net/wireless/ath/ath9k/htc_drv_main.c
+2
-1
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
+10
-5
drivers/net/wireless/ath/ath9k/reg.h
drivers/net/wireless/ath/ath9k/reg.h
+1
-0
drivers/net/wireless/ipw2x00/ipw2100.c
drivers/net/wireless/ipw2x00/ipw2100.c
+3
-2
drivers/net/wireless/wl12xx/wl1251_cmd.c
drivers/net/wireless/wl12xx/wl1251_cmd.c
+1
-1
net/ipv6/route.c
net/ipv6/route.c
+2
-2
net/netlink/af_netlink.c
net/netlink/af_netlink.c
+6
-16
net/xfrm/xfrm_user.c
net/xfrm/xfrm_user.c
+1
-1
No files found.
drivers/net/wireless/ath/ath5k/base.c
View file @
eca6fc78
...
@@ -48,6 +48,7 @@
...
@@ -48,6 +48,7 @@
#include <linux/netdevice.h>
#include <linux/netdevice.h>
#include <linux/cache.h>
#include <linux/cache.h>
#include <linux/pci.h>
#include <linux/pci.h>
#include <linux/pci-aspm.h>
#include <linux/ethtool.h>
#include <linux/ethtool.h>
#include <linux/uaccess.h>
#include <linux/uaccess.h>
#include <linux/slab.h>
#include <linux/slab.h>
...
@@ -476,6 +477,26 @@ ath5k_pci_probe(struct pci_dev *pdev,
...
@@ -476,6 +477,26 @@ ath5k_pci_probe(struct pci_dev *pdev,
int
ret
;
int
ret
;
u8
csz
;
u8
csz
;
/*
* L0s needs to be disabled on all ath5k cards.
*
* For distributions shipping with CONFIG_PCIEASPM (this will be enabled
* by default in the future in 2.6.36) this will also mean both L1 and
* L0s will be disabled when a pre 1.1 PCIe device is detected. We do
* know L1 works correctly even for all ath5k pre 1.1 PCIe devices
* though but cannot currently undue the effect of a blacklist, for
* details you can read pcie_aspm_sanity_check() and see how it adjusts
* the device link capability.
*
* It may be possible in the future to implement some PCI API to allow
* drivers to override blacklists for pre 1.1 PCIe but for now it is
* best to accept that both L0s and L1 will be disabled completely for
* distributions shipping with CONFIG_PCIEASPM rather than having this
* issue present. Motivation for adding this new API will be to help
* with power consumption for some of these devices.
*/
pci_disable_link_state
(
pdev
,
PCIE_LINK_STATE_L0S
);
ret
=
pci_enable_device
(
pdev
);
ret
=
pci_enable_device
(
pdev
);
if
(
ret
)
{
if
(
ret
)
{
dev_err
(
&
pdev
->
dev
,
"can't enable device
\n
"
);
dev_err
(
&
pdev
->
dev
,
"can't enable device
\n
"
);
...
...
drivers/net/wireless/ath/ath9k/eeprom.h
View file @
eca6fc78
...
@@ -191,6 +191,7 @@
...
@@ -191,6 +191,7 @@
#define AR9287_EEP_NO_BACK_VER AR9287_EEP_MINOR_VER_1
#define AR9287_EEP_NO_BACK_VER AR9287_EEP_MINOR_VER_1
#define AR9287_EEP_START_LOC 128
#define AR9287_EEP_START_LOC 128
#define AR9287_HTC_EEP_START_LOC 256
#define AR9287_NUM_2G_CAL_PIERS 3
#define AR9287_NUM_2G_CAL_PIERS 3
#define AR9287_NUM_2G_CCK_TARGET_POWERS 3
#define AR9287_NUM_2G_CCK_TARGET_POWERS 3
#define AR9287_NUM_2G_20_TARGET_POWERS 3
#define AR9287_NUM_2G_20_TARGET_POWERS 3
...
...
drivers/net/wireless/ath/ath9k/eeprom_9287.c
View file @
eca6fc78
...
@@ -34,9 +34,14 @@ static bool ath9k_hw_ar9287_fill_eeprom(struct ath_hw *ah)
...
@@ -34,9 +34,14 @@ static bool ath9k_hw_ar9287_fill_eeprom(struct ath_hw *ah)
struct
ar9287_eeprom
*
eep
=
&
ah
->
eeprom
.
map9287
;
struct
ar9287_eeprom
*
eep
=
&
ah
->
eeprom
.
map9287
;
struct
ath_common
*
common
=
ath9k_hw_common
(
ah
);
struct
ath_common
*
common
=
ath9k_hw_common
(
ah
);
u16
*
eep_data
;
u16
*
eep_data
;
int
addr
,
eep_start_loc
=
AR9287_EEP_START_LOC
;
int
addr
,
eep_start_loc
;
eep_data
=
(
u16
*
)
eep
;
eep_data
=
(
u16
*
)
eep
;
if
(
ah
->
hw_version
.
devid
==
0x7015
)
eep_start_loc
=
AR9287_HTC_EEP_START_LOC
;
else
eep_start_loc
=
AR9287_EEP_START_LOC
;
if
(
!
ath9k_hw_use_flash
(
ah
))
{
if
(
!
ath9k_hw_use_flash
(
ah
))
{
ath_print
(
common
,
ATH_DBG_EEPROM
,
ath_print
(
common
,
ATH_DBG_EEPROM
,
"Reading from EEPROM, not flash
\n
"
);
"Reading from EEPROM, not flash
\n
"
);
...
...
drivers/net/wireless/ath/ath9k/hif_usb.c
View file @
eca6fc78
...
@@ -799,7 +799,7 @@ static int ath9k_hif_usb_download_fw(struct hif_device_usb *hif_dev)
...
@@ -799,7 +799,7 @@ static int ath9k_hif_usb_download_fw(struct hif_device_usb *hif_dev)
}
}
kfree
(
buf
);
kfree
(
buf
);
if
(
hif_dev
->
device_id
==
0x7010
)
if
(
(
hif_dev
->
device_id
==
0x7010
)
||
(
hif_dev
->
device_id
==
0x7015
)
)
firm_offset
=
AR7010_FIRMWARE_TEXT
;
firm_offset
=
AR7010_FIRMWARE_TEXT
;
else
else
firm_offset
=
AR9271_FIRMWARE_TEXT
;
firm_offset
=
AR9271_FIRMWARE_TEXT
;
...
@@ -901,6 +901,7 @@ static int ath9k_hif_usb_probe(struct usb_interface *interface,
...
@@ -901,6 +901,7 @@ static int ath9k_hif_usb_probe(struct usb_interface *interface,
switch
(
hif_dev
->
device_id
)
{
switch
(
hif_dev
->
device_id
)
{
case
0x7010
:
case
0x7010
:
case
0x7015
:
case
0x9018
:
case
0x9018
:
if
(
le16_to_cpu
(
udev
->
descriptor
.
bcdDevice
)
==
0x0202
)
if
(
le16_to_cpu
(
udev
->
descriptor
.
bcdDevice
)
==
0x0202
)
hif_dev
->
fw_name
=
FIRMWARE_AR7010_1_1
;
hif_dev
->
fw_name
=
FIRMWARE_AR7010_1_1
;
...
@@ -912,11 +913,6 @@ static int ath9k_hif_usb_probe(struct usb_interface *interface,
...
@@ -912,11 +913,6 @@ static int ath9k_hif_usb_probe(struct usb_interface *interface,
break
;
break
;
}
}
if
(
!
hif_dev
->
fw_name
)
{
dev_err
(
&
udev
->
dev
,
"Can't determine firmware !
\n
"
);
goto
err_htc_hw_alloc
;
}
ret
=
ath9k_hif_usb_dev_init
(
hif_dev
);
ret
=
ath9k_hif_usb_dev_init
(
hif_dev
);
if
(
ret
)
{
if
(
ret
)
{
ret
=
-
EINVAL
;
ret
=
-
EINVAL
;
...
...
drivers/net/wireless/ath/ath9k/htc_drv_init.c
View file @
eca6fc78
...
@@ -245,6 +245,7 @@ static int ath9k_init_htc_services(struct ath9k_htc_priv *priv, u16 devid)
...
@@ -245,6 +245,7 @@ static int ath9k_init_htc_services(struct ath9k_htc_priv *priv, u16 devid)
switch
(
devid
)
{
switch
(
devid
)
{
case
0x7010
:
case
0x7010
:
case
0x7015
:
case
0x9018
:
case
0x9018
:
priv
->
htc
->
credits
=
45
;
priv
->
htc
->
credits
=
45
;
break
;
break
;
...
...
drivers/net/wireless/ath/ath9k/htc_drv_main.c
View file @
eca6fc78
...
@@ -366,7 +366,8 @@ static void ath9k_htc_setup_rate(struct ath9k_htc_priv *priv,
...
@@ -366,7 +366,8 @@ static void ath9k_htc_setup_rate(struct ath9k_htc_priv *priv,
caps
=
WLAN_RC_HT_FLAG
;
caps
=
WLAN_RC_HT_FLAG
;
if
(
sta
->
ht_cap
.
mcs
.
rx_mask
[
1
])
if
(
sta
->
ht_cap
.
mcs
.
rx_mask
[
1
])
caps
|=
WLAN_RC_DS_FLAG
;
caps
|=
WLAN_RC_DS_FLAG
;
if
(
sta
->
ht_cap
.
cap
&
IEEE80211_HT_CAP_SUP_WIDTH_20_40
)
if
((
sta
->
ht_cap
.
cap
&
IEEE80211_HT_CAP_SUP_WIDTH_20_40
)
&&
(
conf_is_ht40
(
&
priv
->
hw
->
conf
)))
caps
|=
WLAN_RC_40_FLAG
;
caps
|=
WLAN_RC_40_FLAG
;
if
(
conf_is_ht40
(
&
priv
->
hw
->
conf
)
&&
if
(
conf_is_ht40
(
&
priv
->
hw
->
conf
)
&&
(
sta
->
ht_cap
.
cap
&
IEEE80211_HT_CAP_SGI_40
))
(
sta
->
ht_cap
.
cap
&
IEEE80211_HT_CAP_SGI_40
))
...
...
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
View file @
eca6fc78
...
@@ -78,18 +78,23 @@ int ath9k_htc_tx_start(struct ath9k_htc_priv *priv, struct sk_buff *skb)
...
@@ -78,18 +78,23 @@ int ath9k_htc_tx_start(struct ath9k_htc_priv *priv, struct sk_buff *skb)
struct
ieee80211_tx_info
*
tx_info
=
IEEE80211_SKB_CB
(
skb
);
struct
ieee80211_tx_info
*
tx_info
=
IEEE80211_SKB_CB
(
skb
);
struct
ieee80211_sta
*
sta
=
tx_info
->
control
.
sta
;
struct
ieee80211_sta
*
sta
=
tx_info
->
control
.
sta
;
struct
ath9k_htc_sta
*
ista
;
struct
ath9k_htc_sta
*
ista
;
struct
ath9k_htc_vif
*
avp
;
struct
ath9k_htc_tx_ctl
tx_ctl
;
struct
ath9k_htc_tx_ctl
tx_ctl
;
enum
htc_endpoint_id
epid
;
enum
htc_endpoint_id
epid
;
u16
qnum
;
u16
qnum
;
__le16
fc
;
__le16
fc
;
u8
*
tx_fhdr
;
u8
*
tx_fhdr
;
u8
sta_idx
;
u8
sta_idx
,
vif_idx
;
hdr
=
(
struct
ieee80211_hdr
*
)
skb
->
data
;
hdr
=
(
struct
ieee80211_hdr
*
)
skb
->
data
;
fc
=
hdr
->
frame_control
;
fc
=
hdr
->
frame_control
;
avp
=
(
struct
ath9k_htc_vif
*
)
tx_info
->
control
.
vif
->
drv_priv
;
if
(
tx_info
->
control
.
vif
&&
(
struct
ath9k_htc_vif
*
)
tx_info
->
control
.
vif
->
drv_priv
)
vif_idx
=
((
struct
ath9k_htc_vif
*
)
tx_info
->
control
.
vif
->
drv_priv
)
->
index
;
else
vif_idx
=
priv
->
nvifs
;
if
(
sta
)
{
if
(
sta
)
{
ista
=
(
struct
ath9k_htc_sta
*
)
sta
->
drv_priv
;
ista
=
(
struct
ath9k_htc_sta
*
)
sta
->
drv_priv
;
sta_idx
=
ista
->
index
;
sta_idx
=
ista
->
index
;
...
@@ -106,7 +111,7 @@ int ath9k_htc_tx_start(struct ath9k_htc_priv *priv, struct sk_buff *skb)
...
@@ -106,7 +111,7 @@ int ath9k_htc_tx_start(struct ath9k_htc_priv *priv, struct sk_buff *skb)
memset
(
&
tx_hdr
,
0
,
sizeof
(
struct
tx_frame_hdr
));
memset
(
&
tx_hdr
,
0
,
sizeof
(
struct
tx_frame_hdr
));
tx_hdr
.
node_idx
=
sta_idx
;
tx_hdr
.
node_idx
=
sta_idx
;
tx_hdr
.
vif_idx
=
avp
->
inde
x
;
tx_hdr
.
vif_idx
=
vif_id
x
;
if
(
tx_info
->
flags
&
IEEE80211_TX_CTL_AMPDU
)
{
if
(
tx_info
->
flags
&
IEEE80211_TX_CTL_AMPDU
)
{
tx_ctl
.
type
=
ATH9K_HTC_AMPDU
;
tx_ctl
.
type
=
ATH9K_HTC_AMPDU
;
...
@@ -169,7 +174,7 @@ int ath9k_htc_tx_start(struct ath9k_htc_priv *priv, struct sk_buff *skb)
...
@@ -169,7 +174,7 @@ int ath9k_htc_tx_start(struct ath9k_htc_priv *priv, struct sk_buff *skb)
tx_ctl
.
type
=
ATH9K_HTC_NORMAL
;
tx_ctl
.
type
=
ATH9K_HTC_NORMAL
;
mgmt_hdr
.
node_idx
=
sta_idx
;
mgmt_hdr
.
node_idx
=
sta_idx
;
mgmt_hdr
.
vif_idx
=
avp
->
inde
x
;
mgmt_hdr
.
vif_idx
=
vif_id
x
;
mgmt_hdr
.
tidno
=
0
;
mgmt_hdr
.
tidno
=
0
;
mgmt_hdr
.
flags
=
0
;
mgmt_hdr
.
flags
=
0
;
...
...
drivers/net/wireless/ath/ath9k/reg.h
View file @
eca6fc78
...
@@ -899,6 +899,7 @@
...
@@ -899,6 +899,7 @@
#define AR_DEVID_7010(_ah) \
#define AR_DEVID_7010(_ah) \
(((_ah)->hw_version.devid == 0x7010) || \
(((_ah)->hw_version.devid == 0x7010) || \
((_ah)->hw_version.devid == 0x7015) || \
((_ah)->hw_version.devid == 0x9018))
((_ah)->hw_version.devid == 0x9018))
#define AR_RADIO_SREV_MAJOR 0xf0
#define AR_RADIO_SREV_MAJOR 0xf0
...
...
drivers/net/wireless/ipw2x00/ipw2100.c
View file @
eca6fc78
...
@@ -6665,12 +6665,13 @@ static int __init ipw2100_init(void)
...
@@ -6665,12 +6665,13 @@ static int __init ipw2100_init(void)
printk
(
KERN_INFO
DRV_NAME
": %s, %s
\n
"
,
DRV_DESCRIPTION
,
DRV_VERSION
);
printk
(
KERN_INFO
DRV_NAME
": %s, %s
\n
"
,
DRV_DESCRIPTION
,
DRV_VERSION
);
printk
(
KERN_INFO
DRV_NAME
": %s
\n
"
,
DRV_COPYRIGHT
);
printk
(
KERN_INFO
DRV_NAME
": %s
\n
"
,
DRV_COPYRIGHT
);
pm_qos_add_request
(
&
ipw2100_pm_qos_req
,
PM_QOS_CPU_DMA_LATENCY
,
PM_QOS_DEFAULT_VALUE
);
ret
=
pci_register_driver
(
&
ipw2100_pci_driver
);
ret
=
pci_register_driver
(
&
ipw2100_pci_driver
);
if
(
ret
)
if
(
ret
)
goto
out
;
goto
out
;
pm_qos_add_request
(
&
ipw2100_pm_qos_req
,
PM_QOS_CPU_DMA_LATENCY
,
PM_QOS_DEFAULT_VALUE
);
#ifdef CONFIG_IPW2100_DEBUG
#ifdef CONFIG_IPW2100_DEBUG
ipw2100_debug_level
=
debug
;
ipw2100_debug_level
=
debug
;
ret
=
driver_create_file
(
&
ipw2100_pci_driver
.
driver
,
ret
=
driver_create_file
(
&
ipw2100_pci_driver
.
driver
,
...
...
drivers/net/wireless/wl12xx/wl1251_cmd.c
View file @
eca6fc78
...
@@ -484,7 +484,7 @@ int wl1251_cmd_trigger_scan_to(struct wl1251 *wl, u32 timeout)
...
@@ -484,7 +484,7 @@ int wl1251_cmd_trigger_scan_to(struct wl1251 *wl, u32 timeout)
cmd
->
timeout
=
timeout
;
cmd
->
timeout
=
timeout
;
ret
=
wl1251_cmd_send
(
wl
,
CMD_
SCAN
,
cmd
,
sizeof
(
*
cmd
));
ret
=
wl1251_cmd_send
(
wl
,
CMD_
TRIGGER_SCAN_TO
,
cmd
,
sizeof
(
*
cmd
));
if
(
ret
<
0
)
{
if
(
ret
<
0
)
{
wl1251_error
(
"cmd trigger scan to failed: %d"
,
ret
);
wl1251_error
(
"cmd trigger scan to failed: %d"
,
ret
);
goto
out
;
goto
out
;
...
...
net/ipv6/route.c
View file @
eca6fc78
...
@@ -2580,7 +2580,7 @@ ctl_table ipv6_route_table_template[] = {
...
@@ -2580,7 +2580,7 @@ ctl_table ipv6_route_table_template[] = {
.
data
=
&
init_net
.
ipv6
.
sysctl
.
ip6_rt_gc_elasticity
,
.
data
=
&
init_net
.
ipv6
.
sysctl
.
ip6_rt_gc_elasticity
,
.
maxlen
=
sizeof
(
int
),
.
maxlen
=
sizeof
(
int
),
.
mode
=
0644
,
.
mode
=
0644
,
.
proc_handler
=
proc_dointvec
_jiffies
,
.
proc_handler
=
proc_dointvec
,
},
},
{
{
.
procname
=
"mtu_expires"
,
.
procname
=
"mtu_expires"
,
...
@@ -2594,7 +2594,7 @@ ctl_table ipv6_route_table_template[] = {
...
@@ -2594,7 +2594,7 @@ ctl_table ipv6_route_table_template[] = {
.
data
=
&
init_net
.
ipv6
.
sysctl
.
ip6_rt_min_advmss
,
.
data
=
&
init_net
.
ipv6
.
sysctl
.
ip6_rt_min_advmss
,
.
maxlen
=
sizeof
(
int
),
.
maxlen
=
sizeof
(
int
),
.
mode
=
0644
,
.
mode
=
0644
,
.
proc_handler
=
proc_dointvec
_jiffies
,
.
proc_handler
=
proc_dointvec
,
},
},
{
{
.
procname
=
"gc_min_interval_ms"
,
.
procname
=
"gc_min_interval_ms"
,
...
...
net/netlink/af_netlink.c
View file @
eca6fc78
...
@@ -1406,7 +1406,7 @@ static int netlink_recvmsg(struct kiocb *kiocb, struct socket *sock,
...
@@ -1406,7 +1406,7 @@ static int netlink_recvmsg(struct kiocb *kiocb, struct socket *sock,
struct
netlink_sock
*
nlk
=
nlk_sk
(
sk
);
struct
netlink_sock
*
nlk
=
nlk_sk
(
sk
);
int
noblock
=
flags
&
MSG_DONTWAIT
;
int
noblock
=
flags
&
MSG_DONTWAIT
;
size_t
copied
;
size_t
copied
;
struct
sk_buff
*
skb
;
struct
sk_buff
*
skb
,
*
frag
__maybe_unused
=
NULL
;
int
err
;
int
err
;
if
(
flags
&
MSG_OOB
)
if
(
flags
&
MSG_OOB
)
...
@@ -1441,21 +1441,7 @@ static int netlink_recvmsg(struct kiocb *kiocb, struct socket *sock,
...
@@ -1441,21 +1441,7 @@ static int netlink_recvmsg(struct kiocb *kiocb, struct socket *sock,
kfree_skb
(
skb
);
kfree_skb
(
skb
);
skb
=
compskb
;
skb
=
compskb
;
}
else
{
}
else
{
/*
frag
=
skb_shinfo
(
skb
)
->
frag_list
;
* Before setting frag_list to NULL, we must get a
* private copy of skb if shared (because of MSG_PEEK)
*/
if
(
skb_shared
(
skb
))
{
struct
sk_buff
*
nskb
;
nskb
=
pskb_copy
(
skb
,
GFP_KERNEL
);
kfree_skb
(
skb
);
skb
=
nskb
;
err
=
-
ENOMEM
;
if
(
!
skb
)
goto
out
;
}
kfree_skb
(
skb_shinfo
(
skb
)
->
frag_list
);
skb_shinfo
(
skb
)
->
frag_list
=
NULL
;
skb_shinfo
(
skb
)
->
frag_list
=
NULL
;
}
}
}
}
...
@@ -1492,6 +1478,10 @@ static int netlink_recvmsg(struct kiocb *kiocb, struct socket *sock,
...
@@ -1492,6 +1478,10 @@ static int netlink_recvmsg(struct kiocb *kiocb, struct socket *sock,
if
(
flags
&
MSG_TRUNC
)
if
(
flags
&
MSG_TRUNC
)
copied
=
skb
->
len
;
copied
=
skb
->
len
;
#ifdef CONFIG_COMPAT_NETLINK_MESSAGES
skb_shinfo
(
skb
)
->
frag_list
=
frag
;
#endif
skb_free_datagram
(
sk
,
skb
);
skb_free_datagram
(
sk
,
skb
);
if
(
nlk
->
cb
&&
atomic_read
(
&
sk
->
sk_rmem_alloc
)
<=
sk
->
sk_rcvbuf
/
2
)
if
(
nlk
->
cb
&&
atomic_read
(
&
sk
->
sk_rmem_alloc
)
<=
sk
->
sk_rcvbuf
/
2
)
...
...
net/xfrm/xfrm_user.c
View file @
eca6fc78
...
@@ -2504,7 +2504,7 @@ static struct xfrm_policy *xfrm_compile_policy(struct sock *sk, int opt,
...
@@ -2504,7 +2504,7 @@ static struct xfrm_policy *xfrm_compile_policy(struct sock *sk, int opt,
if
(
p
->
dir
>
XFRM_POLICY_OUT
)
if
(
p
->
dir
>
XFRM_POLICY_OUT
)
return
NULL
;
return
NULL
;
xp
=
xfrm_policy_alloc
(
net
,
GFP_
KERNEL
);
xp
=
xfrm_policy_alloc
(
net
,
GFP_
ATOMIC
);
if
(
xp
==
NULL
)
{
if
(
xp
==
NULL
)
{
*
dir
=
-
ENOBUFS
;
*
dir
=
-
ENOBUFS
;
return
NULL
;
return
NULL
;
...
...
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