Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
dbbe68bb
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
161
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
dbbe68bb
编写于
1月 04, 2011
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
上级
7b26e5eb
9fc3bbb4
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
87 addition
and
25 deletion
+87
-25
drivers/atm/atmtcp.c
drivers/atm/atmtcp.c
+4
-1
drivers/isdn/gigaset/capi.c
drivers/isdn/gigaset/capi.c
+1
-0
drivers/net/atlx/atl1.c
drivers/net/atlx/atl1.c
+10
-0
drivers/net/cnic.c
drivers/net/cnic.c
+8
-2
drivers/net/ehea/ehea_ethtool.c
drivers/net/ehea/ehea_ethtool.c
+7
-0
drivers/net/ppp_generic.c
drivers/net/ppp_generic.c
+7
-2
drivers/net/skfp/skfddi.c
drivers/net/skfp/skfddi.c
+1
-1
drivers/net/starfire.c
drivers/net/starfire.c
+1
-1
drivers/net/tg3.c
drivers/net/tg3.c
+1
-1
drivers/usb/atm/ueagle-atm.c
drivers/usb/atm/ueagle-atm.c
+19
-3
net/bridge/br_multicast.c
net/bridge/br_multicast.c
+18
-10
net/bridge/br_stp_bpdu.c
net/bridge/br_stp_bpdu.c
+2
-0
net/can/bcm.c
net/can/bcm.c
+2
-2
net/ipv4/route.c
net/ipv4/route.c
+6
-2
未找到文件。
drivers/atm/atmtcp.c
浏览文件 @
dbbe68bb
...
...
@@ -392,7 +392,10 @@ static int atmtcp_attach(struct atm_vcc *vcc,int itf)
atm_dev_put
(
dev
);
return
-
EMEDIUMTYPE
;
}
if
(
PRIV
(
dev
)
->
vcc
)
return
-
EBUSY
;
if
(
PRIV
(
dev
)
->
vcc
)
{
atm_dev_put
(
dev
);
return
-
EBUSY
;
}
}
else
{
int
error
;
...
...
drivers/isdn/gigaset/capi.c
浏览文件 @
dbbe68bb
...
...
@@ -1900,6 +1900,7 @@ static void do_disconnect_req(struct gigaset_capi_ctr *iif,
if
(
b3skb
==
NULL
)
{
dev_err
(
cs
->
dev
,
"%s: out of memory
\n
"
,
__func__
);
send_conf
(
iif
,
ap
,
skb
,
CAPI_MSGOSRESOURCEERR
);
kfree
(
b3cmsg
);
return
;
}
capi_cmsg2message
(
b3cmsg
,
...
...
drivers/net/atlx/atl1.c
浏览文件 @
dbbe68bb
...
...
@@ -3504,6 +3504,8 @@ static int atl1_set_ringparam(struct net_device *netdev,
struct
atl1_rfd_ring
rfd_old
,
rfd_new
;
struct
atl1_rrd_ring
rrd_old
,
rrd_new
;
struct
atl1_ring_header
rhdr_old
,
rhdr_new
;
struct
atl1_smb
smb
;
struct
atl1_cmb
cmb
;
int
err
;
tpd_old
=
adapter
->
tpd_ring
;
...
...
@@ -3544,11 +3546,19 @@ static int atl1_set_ringparam(struct net_device *netdev,
adapter
->
rrd_ring
=
rrd_old
;
adapter
->
tpd_ring
=
tpd_old
;
adapter
->
ring_header
=
rhdr_old
;
/*
* Save SMB and CMB, since atl1_free_ring_resources
* will clear them.
*/
smb
=
adapter
->
smb
;
cmb
=
adapter
->
cmb
;
atl1_free_ring_resources
(
adapter
);
adapter
->
rfd_ring
=
rfd_new
;
adapter
->
rrd_ring
=
rrd_new
;
adapter
->
tpd_ring
=
tpd_new
;
adapter
->
ring_header
=
rhdr_new
;
adapter
->
smb
=
smb
;
adapter
->
cmb
=
cmb
;
err
=
atl1_up
(
adapter
);
if
(
err
)
...
...
drivers/net/cnic.c
浏览文件 @
dbbe68bb
...
...
@@ -951,7 +951,7 @@ static int cnic_alloc_uio_rings(struct cnic_dev *dev, int pages)
&
udev
->
l2_ring_map
,
GFP_KERNEL
|
__GFP_COMP
);
if
(
!
udev
->
l2_ring
)
return
-
ENOMEM
;
goto
err_udev
;
udev
->
l2_buf_size
=
(
cp
->
l2_rx_ring_size
+
1
)
*
cp
->
l2_single_buf_size
;
udev
->
l2_buf_size
=
PAGE_ALIGN
(
udev
->
l2_buf_size
);
...
...
@@ -959,7 +959,7 @@ static int cnic_alloc_uio_rings(struct cnic_dev *dev, int pages)
&
udev
->
l2_buf_map
,
GFP_KERNEL
|
__GFP_COMP
);
if
(
!
udev
->
l2_buf
)
return
-
ENOMEM
;
goto
err_dma
;
write_lock
(
&
cnic_dev_lock
);
list_add
(
&
udev
->
list
,
&
cnic_udev_list
);
...
...
@@ -970,6 +970,12 @@ static int cnic_alloc_uio_rings(struct cnic_dev *dev, int pages)
cp
->
udev
=
udev
;
return
0
;
err_dma:
dma_free_coherent
(
&
udev
->
pdev
->
dev
,
udev
->
l2_ring_size
,
udev
->
l2_ring
,
udev
->
l2_ring_map
);
err_udev:
kfree
(
udev
);
return
-
ENOMEM
;
}
static
int
cnic_init_uio
(
struct
cnic_dev
*
dev
)
...
...
drivers/net/ehea/ehea_ethtool.c
浏览文件 @
dbbe68bb
...
...
@@ -265,6 +265,13 @@ static void ehea_get_ethtool_stats(struct net_device *dev,
static
int
ehea_set_flags
(
struct
net_device
*
dev
,
u32
data
)
{
/* Avoid changing the VLAN flags */
if
((
data
&
(
ETH_FLAG_RXVLAN
|
ETH_FLAG_TXVLAN
))
!=
(
ethtool_op_get_flags
(
dev
)
&
(
ETH_FLAG_RXVLAN
|
ETH_FLAG_TXVLAN
))){
return
-
EINVAL
;
}
return
ethtool_op_set_flags
(
dev
,
data
,
ETH_FLAG_LRO
|
ETH_FLAG_TXVLAN
|
ETH_FLAG_RXVLAN
);
...
...
drivers/net/ppp_generic.c
浏览文件 @
dbbe68bb
...
...
@@ -1283,6 +1283,11 @@ ppp_push(struct ppp *ppp)
}
#ifdef CONFIG_PPP_MULTILINK
static
bool
mp_protocol_compress
__read_mostly
=
true
;
module_param
(
mp_protocol_compress
,
bool
,
S_IRUGO
|
S_IWUSR
);
MODULE_PARM_DESC
(
mp_protocol_compress
,
"compress protocol id in multilink fragments"
);
/*
* Divide a packet to be transmitted into fragments and
* send them out the individual links.
...
...
@@ -1345,10 +1350,10 @@ static int ppp_mp_explode(struct ppp *ppp, struct sk_buff *skb)
if
(
nfree
==
0
||
nfree
<
navail
/
2
)
return
0
;
/* can't take now, leave it in xmit_pending */
/* Do protocol field compression
(XXX this should be optional)
*/
/* Do protocol field compression */
p
=
skb
->
data
;
len
=
skb
->
len
;
if
(
*
p
==
0
)
{
if
(
*
p
==
0
&&
mp_protocol_compress
)
{
++
p
;
--
len
;
}
...
...
drivers/net/skfp/skfddi.c
浏览文件 @
dbbe68bb
...
...
@@ -412,7 +412,7 @@ static int skfp_driver_init(struct net_device *dev)
bp
->
SharedMemAddr
=
pci_alloc_consistent
(
&
bp
->
pdev
,
bp
->
SharedMemSize
,
&
bp
->
SharedMemDMA
);
if
(
!
bp
->
SharedMem
Size
)
{
if
(
!
bp
->
SharedMem
Addr
)
{
printk
(
"could not allocate mem for "
);
printk
(
"hardware module: %ld byte
\n
"
,
bp
->
SharedMemSize
);
...
...
drivers/net/starfire.c
浏览文件 @
dbbe68bb
...
...
@@ -148,7 +148,7 @@ static int full_duplex[MAX_UNITS] = {0, };
* 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(__mips64__) || (defined(__mips__) && defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR
)) || (defined(__powerpc64__) || defined(CONFIG_PHYS_64BIT))
#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))
/* 64-bit dma_addr_t */
#define ADDR_64BITS
/* This chip uses 64 bit addresses. */
#define netdrv_addr_t __le64
...
...
drivers/net/tg3.c
浏览文件 @
dbbe68bb
...
...
@@ -12694,7 +12694,7 @@ static void __devinit tg3_read_vpd(struct tg3 *tp)
cnt
=
pci_read_vpd
(
tp
->
pdev
,
pos
,
TG3_NVM_VPD_LEN
-
pos
,
&
vpd_data
[
pos
]);
if
(
cnt
==
-
ETIMEDOUT
||
-
EINTR
)
if
(
cnt
==
-
ETIMEDOUT
||
cnt
==
-
EINTR
)
cnt
=
0
;
else
if
(
cnt
<
0
)
goto
out_not_found
;
...
...
drivers/usb/atm/ueagle-atm.c
浏览文件 @
dbbe68bb
...
...
@@ -2206,8 +2206,11 @@ static int uea_boot(struct uea_softc *sc)
goto
err1
;
}
sc
->
kthread
=
kthread_run
(
uea_kthread
,
sc
,
"ueagle-atm"
);
if
(
sc
->
kthread
==
ERR_PTR
(
-
ENOMEM
))
{
/* Create worker thread, but don't start it here. Start it after
* all usbatm generic initialization is done.
*/
sc
->
kthread
=
kthread_create
(
uea_kthread
,
sc
,
"ueagle-atm"
);
if
(
IS_ERR
(
sc
->
kthread
))
{
uea_err
(
INS_TO_USBDEV
(
sc
),
"failed to create thread
\n
"
);
goto
err2
;
}
...
...
@@ -2624,6 +2627,7 @@ static struct usbatm_driver uea_usbatm_driver = {
static
int
uea_probe
(
struct
usb_interface
*
intf
,
const
struct
usb_device_id
*
id
)
{
struct
usb_device
*
usb
=
interface_to_usbdev
(
intf
);
int
ret
;
uea_enters
(
usb
);
uea_info
(
usb
,
"ADSL device founded vid (%#X) pid (%#X) Rev (%#X): %s
\n
"
,
...
...
@@ -2637,7 +2641,19 @@ static int uea_probe(struct usb_interface *intf, const struct usb_device_id *id)
if
(
UEA_IS_PREFIRM
(
id
))
return
uea_load_firmware
(
usb
,
UEA_CHIP_VERSION
(
id
));
return
usbatm_usb_probe
(
intf
,
id
,
&
uea_usbatm_driver
);
ret
=
usbatm_usb_probe
(
intf
,
id
,
&
uea_usbatm_driver
);
if
(
ret
==
0
)
{
struct
usbatm_data
*
usbatm
=
usb_get_intfdata
(
intf
);
struct
uea_softc
*
sc
=
usbatm
->
driver_data
;
/* Ensure carrier is initialized to off as early as possible */
UPDATE_ATM_SIGNAL
(
ATM_PHY_SIG_LOST
);
/* Only start the worker thread when all init is done */
wake_up_process
(
sc
->
kthread
);
}
return
ret
;
}
static
void
uea_disconnect
(
struct
usb_interface
*
intf
)
...
...
net/bridge/br_multicast.c
浏览文件 @
dbbe68bb
...
...
@@ -1451,7 +1451,7 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
struct
net_bridge_port
*
port
,
struct
sk_buff
*
skb
)
{
struct
sk_buff
*
skb2
=
skb
;
struct
sk_buff
*
skb2
;
struct
ipv6hdr
*
ip6h
;
struct
icmp6hdr
*
icmp6h
;
u8
nexthdr
;
...
...
@@ -1490,15 +1490,15 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
if
(
!
skb2
)
return
-
ENOMEM
;
err
=
-
EINVAL
;
if
(
!
pskb_may_pull
(
skb2
,
offset
+
sizeof
(
struct
icmp6hdr
)))
goto
out
;
len
-=
offset
-
skb_network_offset
(
skb2
);
__skb_pull
(
skb2
,
offset
);
skb_reset_transport_header
(
skb2
);
err
=
-
EINVAL
;
if
(
!
pskb_may_pull
(
skb2
,
sizeof
(
*
icmp6h
)))
goto
out
;
icmp6h
=
icmp6_hdr
(
skb2
);
switch
(
icmp6h
->
icmp6_type
)
{
...
...
@@ -1537,7 +1537,12 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
switch
(
icmp6h
->
icmp6_type
)
{
case
ICMPV6_MGM_REPORT
:
{
struct
mld_msg
*
mld
=
(
struct
mld_msg
*
)
icmp6h
;
struct
mld_msg
*
mld
;
if
(
!
pskb_may_pull
(
skb2
,
sizeof
(
*
mld
)))
{
err
=
-
EINVAL
;
goto
out
;
}
mld
=
(
struct
mld_msg
*
)
skb_transport_header
(
skb2
);
BR_INPUT_SKB_CB
(
skb2
)
->
mrouters_only
=
1
;
err
=
br_ip6_multicast_add_group
(
br
,
port
,
&
mld
->
mld_mca
);
break
;
...
...
@@ -1550,15 +1555,18 @@ static int br_multicast_ipv6_rcv(struct net_bridge *br,
break
;
case
ICMPV6_MGM_REDUCTION
:
{
struct
mld_msg
*
mld
=
(
struct
mld_msg
*
)
icmp6h
;
struct
mld_msg
*
mld
;
if
(
!
pskb_may_pull
(
skb2
,
sizeof
(
*
mld
)))
{
err
=
-
EINVAL
;
goto
out
;
}
mld
=
(
struct
mld_msg
*
)
skb_transport_header
(
skb2
);
br_ip6_multicast_leave_group
(
br
,
port
,
&
mld
->
mld_mca
);
}
}
out:
__skb_push
(
skb2
,
offset
);
if
(
skb2
!=
skb
)
kfree_skb
(
skb2
);
kfree_skb
(
skb2
);
return
err
;
}
#endif
...
...
net/bridge/br_stp_bpdu.c
浏览文件 @
dbbe68bb
...
...
@@ -50,6 +50,8 @@ static void br_send_bpdu(struct net_bridge_port *p,
llc_mac_hdr_init
(
skb
,
p
->
dev
->
dev_addr
,
p
->
br
->
group_addr
);
skb_reset_mac_header
(
skb
);
NF_HOOK
(
NFPROTO_BRIDGE
,
NF_BR_LOCAL_OUT
,
skb
,
NULL
,
skb
->
dev
,
dev_queue_xmit
);
}
...
...
net/can/bcm.c
浏览文件 @
dbbe68bb
...
...
@@ -125,7 +125,7 @@ struct bcm_sock {
struct
list_head
tx_ops
;
unsigned
long
dropped_usr_msgs
;
struct
proc_dir_entry
*
bcm_proc_read
;
char
procname
[
20
];
/* pointer printed in ASCII
with \0 */
char
procname
[
32
];
/* inode number in decimal
with \0 */
};
static
inline
struct
bcm_sock
*
bcm_sk
(
const
struct
sock
*
sk
)
...
...
@@ -1521,7 +1521,7 @@ static int bcm_connect(struct socket *sock, struct sockaddr *uaddr, int len,
if
(
proc_dir
)
{
/* unique socket address as filename */
sprintf
(
bo
->
procname
,
"%
p"
,
sock
);
sprintf
(
bo
->
procname
,
"%
lu"
,
sock_i_ino
(
sk
)
);
bo
->
bcm_proc_read
=
proc_create_data
(
bo
->
procname
,
0644
,
proc_dir
,
&
bcm_proc_fops
,
sk
);
...
...
net/ipv4/route.c
浏览文件 @
dbbe68bb
...
...
@@ -2626,8 +2626,12 @@ static int ip_route_output_slow(struct net *net, struct rtable **rp,
}
if
(
res
.
type
==
RTN_LOCAL
)
{
if
(
!
fl
.
fl4_src
)
fl
.
fl4_src
=
fl
.
fl4_dst
;
if
(
!
fl
.
fl4_src
)
{
if
(
res
.
fi
->
fib_prefsrc
)
fl
.
fl4_src
=
res
.
fi
->
fib_prefsrc
;
else
fl
.
fl4_src
=
fl
.
fl4_dst
;
}
dev_out
=
net
->
loopback_dev
;
fl
.
oif
=
dev_out
->
ifindex
;
res
.
fi
=
NULL
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录