Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
fd4e5f29
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
fd4e5f29
编写于
5月 05, 2005
作者:
L
Linus Torvalds
浏览文件
操作
浏览文件
下载
差异文件
Automatic merge of
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git
上级
4adb1817
b6d31e80
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
77 addition
and
60 deletion
+77
-60
drivers/net/appletalk/cops.c
drivers/net/appletalk/cops.c
+2
-2
drivers/net/appletalk/ltpc.c
drivers/net/appletalk/ltpc.c
+1
-1
drivers/net/tg3.c
drivers/net/tg3.c
+39
-46
include/linux/if_ltalk.h
include/linux/if_ltalk.h
+1
-1
include/net/sock.h
include/net/sock.h
+2
-0
net/appletalk/dev.c
net/appletalk/dev.c
+20
-2
net/core/sock.c
net/core/sock.c
+8
-4
net/decnet/dn_dev.c
net/decnet/dn_dev.c
+1
-1
net/ipv4/multipath_wrandom.c
net/ipv4/multipath_wrandom.c
+3
-3
未找到文件。
drivers/net/appletalk/cops.c
浏览文件 @
fd4e5f29
...
...
@@ -65,7 +65,7 @@ static const char *version =
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/if_arp.h>
#include <linux/if_ltalk.h>
/* For ltalk_setup() */
#include <linux/if_ltalk.h>
#include <linux/delay.h>
/* For udelay() */
#include <linux/atalk.h>
#include <linux/spinlock.h>
...
...
@@ -223,7 +223,7 @@ struct net_device * __init cops_probe(int unit)
int
base_addr
;
int
err
=
0
;
dev
=
alloc_
netdev
(
sizeof
(
struct
cops_local
),
"lt%d"
,
ltalk_setup
);
dev
=
alloc_
ltalkdev
(
sizeof
(
struct
cops_local
)
);
if
(
!
dev
)
return
ERR_PTR
(
-
ENOMEM
);
...
...
drivers/net/appletalk/ltpc.c
浏览文件 @
fd4e5f29
...
...
@@ -1039,7 +1039,7 @@ struct net_device * __init ltpc_probe(void)
unsigned
long
f
;
unsigned
long
timeout
;
dev
=
alloc_
netdev
(
sizeof
(
struct
ltpc_private
),
"lt%d"
,
ltalk_setup
);
dev
=
alloc_
ltalkdev
(
sizeof
(
struct
ltpc_private
)
);
if
(
!
dev
)
goto
out
;
...
...
drivers/net/tg3.c
浏览文件 @
fd4e5f29
...
...
@@ -61,8 +61,8 @@
#define DRV_MODULE_NAME "tg3"
#define PFX DRV_MODULE_NAME ": "
#define DRV_MODULE_VERSION "3.2
6
"
#define DRV_MODULE_RELDATE "
April 24
, 2005"
#define DRV_MODULE_VERSION "3.2
7
"
#define DRV_MODULE_RELDATE "
May 5
, 2005"
#define TG3_DEF_MAC_MODE 0
#define TG3_DEF_RX_MODE 0
...
...
@@ -3020,7 +3020,7 @@ static irqreturn_t tg3_test_isr(int irq, void *dev_id,
}
static
int
tg3_init_hw
(
struct
tg3
*
);
static
int
tg3_halt
(
struct
tg3
*
);
static
int
tg3_halt
(
struct
tg3
*
,
int
);
#ifdef CONFIG_NET_POLL_CONTROLLER
static
void
tg3_poll_controller
(
struct
net_device
*
dev
)
...
...
@@ -3044,7 +3044,7 @@ static void tg3_reset_task(void *_data)
restart_timer
=
tp
->
tg3_flags2
&
TG3_FLG2_RESTART_TIMER
;
tp
->
tg3_flags2
&=
~
TG3_FLG2_RESTART_TIMER
;
tg3_halt
(
tp
);
tg3_halt
(
tp
,
0
);
tg3_init_hw
(
tp
);
tg3_netif_start
(
tp
);
...
...
@@ -3390,7 +3390,7 @@ static int tg3_change_mtu(struct net_device *dev, int new_mtu)
spin_lock_irq
(
&
tp
->
lock
);
spin_lock
(
&
tp
->
tx_lock
);
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
tg3_set_mtu
(
dev
,
tp
,
new_mtu
);
...
...
@@ -3657,7 +3657,7 @@ static int tg3_alloc_consistent(struct tg3 *tp)
/* To stop a block, clear the enable bit and poll till it
* clears. tp->lock is held.
*/
static
int
tg3_stop_block
(
struct
tg3
*
tp
,
unsigned
long
ofs
,
u32
enable_bit
)
static
int
tg3_stop_block
(
struct
tg3
*
tp
,
unsigned
long
ofs
,
u32
enable_bit
,
int
silent
)
{
unsigned
int
i
;
u32
val
;
...
...
@@ -3690,7 +3690,7 @@ static int tg3_stop_block(struct tg3 *tp, unsigned long ofs, u32 enable_bit)
break
;
}
if
(
i
==
MAX_WAIT_CNT
)
{
if
(
i
==
MAX_WAIT_CNT
&&
!
silent
)
{
printk
(
KERN_ERR
PFX
"tg3_stop_block timed out, "
"ofs=%lx enable_bit=%x
\n
"
,
ofs
,
enable_bit
);
...
...
@@ -3701,7 +3701,7 @@ static int tg3_stop_block(struct tg3 *tp, unsigned long ofs, u32 enable_bit)
}
/* tp->lock is held. */
static
int
tg3_abort_hw
(
struct
tg3
*
tp
)
static
int
tg3_abort_hw
(
struct
tg3
*
tp
,
int
silent
)
{
int
i
,
err
;
...
...
@@ -3711,22 +3711,20 @@ static int tg3_abort_hw(struct tg3 *tp)
tw32_f
(
MAC_RX_MODE
,
tp
->
rx_mode
);
udelay
(
10
);
err
=
tg3_stop_block
(
tp
,
RCVBDI_MODE
,
RCVBDI_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
RCVLPC_MODE
,
RCVLPC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
RCVLSC_MODE
,
RCVLSC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
RCVDBDI_MODE
,
RCVDBDI_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
RCVDCC_MODE
,
RCVDCC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
RCVCC_MODE
,
RCVCC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
SNDBDS_MODE
,
SNDBDS_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
SNDBDI_MODE
,
SNDBDI_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
SNDDATAI_MODE
,
SNDDATAI_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
RDMAC_MODE
,
RDMAC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
SNDDATAC_MODE
,
SNDDATAC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
DMAC_MODE
,
DMAC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
SNDBDC_MODE
,
SNDBDC_MODE_ENABLE
);
if
(
err
)
goto
out
;
err
=
tg3_stop_block
(
tp
,
RCVBDI_MODE
,
RCVBDI_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
RCVLPC_MODE
,
RCVLPC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
RCVLSC_MODE
,
RCVLSC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
RCVDBDI_MODE
,
RCVDBDI_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
RCVDCC_MODE
,
RCVDCC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
RCVCC_MODE
,
RCVCC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
SNDBDS_MODE
,
SNDBDS_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
SNDBDI_MODE
,
SNDBDI_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
SNDDATAI_MODE
,
SNDDATAI_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
RDMAC_MODE
,
RDMAC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
SNDDATAC_MODE
,
SNDDATAC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
DMAC_MODE
,
DMAC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
SNDBDC_MODE
,
SNDBDC_MODE_ENABLE
,
silent
);
tp
->
mac_mode
&=
~
MAC_MODE_TDE_ENABLE
;
tw32_f
(
MAC_MODE
,
tp
->
mac_mode
);
...
...
@@ -3744,27 +3742,24 @@ static int tg3_abort_hw(struct tg3 *tp)
printk
(
KERN_ERR
PFX
"tg3_abort_hw timed out for %s, "
"TX_MODE_ENABLE will not clear MAC_TX_MODE=%08x
\n
"
,
tp
->
dev
->
name
,
tr32
(
MAC_TX_MODE
));
return
-
ENODEV
;
err
|=
-
ENODEV
;
}
err
=
tg3_stop_block
(
tp
,
HOSTCC_MODE
,
HOSTCC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
WDMAC_MODE
,
WDMAC_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
MBFREE_MODE
,
MBFREE_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
HOSTCC_MODE
,
HOSTCC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
WDMAC_MODE
,
WDMAC_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
MBFREE_MODE
,
MBFREE_MODE_ENABLE
,
silent
);
tw32
(
FTQ_RESET
,
0xffffffff
);
tw32
(
FTQ_RESET
,
0x00000000
);
err
|=
tg3_stop_block
(
tp
,
BUFMGR_MODE
,
BUFMGR_MODE_ENABLE
);
err
|=
tg3_stop_block
(
tp
,
MEMARB_MODE
,
MEMARB_MODE_ENABLE
);
if
(
err
)
goto
out
;
err
|=
tg3_stop_block
(
tp
,
BUFMGR_MODE
,
BUFMGR_MODE_ENABLE
,
silent
);
err
|=
tg3_stop_block
(
tp
,
MEMARB_MODE
,
MEMARB_MODE_ENABLE
,
silent
);
if
(
tp
->
hw_status
)
memset
(
tp
->
hw_status
,
0
,
TG3_HW_STATUS_SIZE
);
if
(
tp
->
hw_stats
)
memset
(
tp
->
hw_stats
,
0
,
sizeof
(
struct
tg3_hw_stats
));
out:
return
err
;
}
...
...
@@ -4086,7 +4081,7 @@ static void tg3_stop_fw(struct tg3 *tp)
}
/* tp->lock is held. */
static
int
tg3_halt
(
struct
tg3
*
tp
)
static
int
tg3_halt
(
struct
tg3
*
tp
,
int
silent
)
{
int
err
;
...
...
@@ -4094,7 +4089,7 @@ static int tg3_halt(struct tg3 *tp)
tg3_write_sig_pre_reset
(
tp
,
RESET_KIND_SHUTDOWN
);
tg3_abort_hw
(
tp
);
tg3_abort_hw
(
tp
,
silent
);
err
=
tg3_chip_reset
(
tp
);
tg3_write_sig_legacy
(
tp
,
RESET_KIND_SHUTDOWN
);
...
...
@@ -5063,9 +5058,7 @@ static int tg3_reset_hw(struct tg3 *tp)
tg3_write_sig_pre_reset
(
tp
,
RESET_KIND_INIT
);
if
(
tp
->
tg3_flags
&
TG3_FLAG_INIT_COMPLETE
)
{
err
=
tg3_abort_hw
(
tp
);
if
(
err
)
return
err
;
tg3_abort_hw
(
tp
,
1
);
}
err
=
tg3_chip_reset
(
tp
);
...
...
@@ -5919,7 +5912,7 @@ static int tg3_test_msi(struct tg3 *tp)
spin_lock_irq
(
&
tp
->
lock
);
spin_lock
(
&
tp
->
tx_lock
);
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
err
=
tg3_init_hw
(
tp
);
spin_unlock
(
&
tp
->
tx_lock
);
...
...
@@ -5984,7 +5977,7 @@ static int tg3_open(struct net_device *dev)
err
=
tg3_init_hw
(
tp
);
if
(
err
)
{
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
tg3_free_rings
(
tp
);
}
else
{
tp
->
timer_offset
=
HZ
/
10
;
...
...
@@ -6020,7 +6013,7 @@ static int tg3_open(struct net_device *dev)
pci_disable_msi
(
tp
->
pdev
);
tp
->
tg3_flags2
&=
~
TG3_FLG2_USING_MSI
;
}
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
tg3_free_rings
(
tp
);
tg3_free_consistent
(
tp
);
...
...
@@ -6293,7 +6286,7 @@ static int tg3_close(struct net_device *dev)
tg3_disable_ints
(
tp
);
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
tg3_free_rings
(
tp
);
tp
->
tg3_flags
&=
~
(
TG3_FLAG_INIT_COMPLETE
|
...
...
@@ -7013,7 +7006,7 @@ static int tg3_set_ringparam(struct net_device *dev, struct ethtool_ringparam *e
tp
->
tx_pending
=
ering
->
tx_pending
;
if
(
netif_running
(
dev
))
{
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
tg3_init_hw
(
tp
);
tg3_netif_start
(
tp
);
}
...
...
@@ -7056,7 +7049,7 @@ static int tg3_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam
tp
->
tg3_flags
&=
~
TG3_FLAG_TX_PAUSE
;
if
(
netif_running
(
dev
))
{
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
tg3_init_hw
(
tp
);
tg3_netif_start
(
tp
);
}
...
...
@@ -9239,7 +9232,7 @@ static int __devinit tg3_init_one(struct pci_dev *pdev,
(
tr32
(
WDMAC_MODE
)
&
WDMAC_MODE_ENABLE
))
{
pci_save_state
(
tp
->
pdev
);
tw32
(
MEMARB_MODE
,
MEMARB_MODE_ENABLE
);
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
}
err
=
tg3_test_dma
(
tp
);
...
...
@@ -9362,7 +9355,7 @@ static int tg3_suspend(struct pci_dev *pdev, pm_message_t state)
spin_lock_irq
(
&
tp
->
lock
);
spin_lock
(
&
tp
->
tx_lock
);
tg3_halt
(
tp
);
tg3_halt
(
tp
,
1
);
spin_unlock
(
&
tp
->
tx_lock
);
spin_unlock_irq
(
&
tp
->
lock
);
...
...
include/linux/if_ltalk.h
浏览文件 @
fd4e5f29
...
...
@@ -6,7 +6,7 @@
#define LTALK_ALEN 1
#ifdef __KERNEL__
extern
void
ltalk_setup
(
struct
net_device
*
);
extern
struct
net_device
*
alloc_ltalkdev
(
int
sizeof_priv
);
#endif
#endif
include/net/sock.h
浏览文件 @
fd4e5f29
...
...
@@ -141,6 +141,7 @@ struct sock_common {
* @sk_callback_lock: used with the callbacks in the end of this struct
* @sk_error_queue: rarely used
* @sk_prot: protocol handlers inside a network family
* @sk_prot_creator: sk_prot of original sock creator (see ipv6_setsockopt, IPV6_ADDRFORM for instance)
* @sk_err: last error
* @sk_err_soft: errors that don't cause failure but are the cause of a persistent failure not just 'timed out'
* @sk_ack_backlog: current listen backlog
...
...
@@ -218,6 +219,7 @@ struct sock {
}
sk_backlog
;
struct
sk_buff_head
sk_error_queue
;
struct
proto
*
sk_prot
;
struct
proto
*
sk_prot_creator
;
rwlock_t
sk_callback_lock
;
int
sk_err
,
sk_err_soft
;
...
...
net/appletalk/dev.c
浏览文件 @
fd4e5f29
...
...
@@ -19,7 +19,7 @@ static int ltalk_mac_addr(struct net_device *dev, void *addr)
return
-
EINVAL
;
}
void
ltalk_setup
(
struct
net_device
*
dev
)
static
void
ltalk_setup
(
struct
net_device
*
dev
)
{
/* Fill in the fields of the device structure with localtalk-generic values. */
...
...
@@ -40,4 +40,22 @@ void ltalk_setup(struct net_device *dev)
dev
->
flags
=
IFF_BROADCAST
|
IFF_MULTICAST
|
IFF_NOARP
;
}
EXPORT_SYMBOL
(
ltalk_setup
);
/**
* alloc_ltalkdev - Allocates and sets up an localtalk device
* @sizeof_priv: Size of additional driver-private structure to be allocated
* for this localtalk device
*
* Fill in the fields of the device structure with localtalk-generic
* values. Basically does everything except registering the device.
*
* Constructs a new net device, complete with a private data area of
* size @sizeof_priv. A 32-byte (not bit) alignment is enforced for
* this private data area.
*/
struct
net_device
*
alloc_ltalkdev
(
int
sizeof_priv
)
{
return
alloc_netdev
(
sizeof_priv
,
"lt%d"
,
ltalk_setup
);
}
EXPORT_SYMBOL
(
alloc_ltalkdev
);
net/core/sock.c
浏览文件 @
fd4e5f29
...
...
@@ -635,7 +635,11 @@ struct sock *sk_alloc(int family, int priority, struct proto *prot, int zero_it)
if
(
zero_it
)
{
memset
(
sk
,
0
,
prot
->
obj_size
);
sk
->
sk_family
=
family
;
sk
->
sk_prot
=
prot
;
/*
* See comment in struct sock definition to understand
* why we need sk_prot_creator -acme
*/
sk
->
sk_prot
=
sk
->
sk_prot_creator
=
prot
;
sock_lock_init
(
sk
);
}
...
...
@@ -654,7 +658,7 @@ struct sock *sk_alloc(int family, int priority, struct proto *prot, int zero_it)
void
sk_free
(
struct
sock
*
sk
)
{
struct
sk_filter
*
filter
;
struct
module
*
owner
=
sk
->
sk_prot
->
owner
;
struct
module
*
owner
=
sk
->
sk_prot
_creator
->
owner
;
if
(
sk
->
sk_destruct
)
sk
->
sk_destruct
(
sk
);
...
...
@@ -672,8 +676,8 @@ void sk_free(struct sock *sk)
__FUNCTION__
,
atomic_read
(
&
sk
->
sk_omem_alloc
));
security_sk_free
(
sk
);
if
(
sk
->
sk_prot
->
slab
!=
NULL
)
kmem_cache_free
(
sk
->
sk_prot
->
slab
,
sk
);
if
(
sk
->
sk_prot
_creator
->
slab
!=
NULL
)
kmem_cache_free
(
sk
->
sk_prot
_creator
->
slab
,
sk
);
else
kfree
(
sk
);
module_put
(
owner
);
...
...
net/decnet/dn_dev.c
浏览文件 @
fd4e5f29
...
...
@@ -1426,7 +1426,7 @@ static struct rtnetlink_link dnet_rtnetlink_table[RTM_NR_MSGTYPES] =
[
RTM_GETRULE
-
RTM_BASE
]
=
{
.
dumpit
=
dn_fib_dump_rules
,
},
#else
[
RTM_GETROUTE
-
RTM_BASE
]
=
{
.
doit
=
dn_cache_getroute
,
.
dumpit
=
dn_cache_dump
,
.
dumpit
=
dn_cache_dump
,
},
#endif
};
...
...
net/ipv4/multipath_wrandom.c
浏览文件 @
fd4e5f29
...
...
@@ -172,7 +172,7 @@ static void wrandom_select_route(const struct flowi *flp,
multipath_comparekeys
(
&
rt
->
fl
,
flp
))
{
struct
multipath_candidate
*
mpc
=
(
struct
multipath_candidate
*
)
kmalloc
(
size_mpc
,
GFP_
KERNEL
);
kmalloc
(
size_mpc
,
GFP_
ATOMIC
);
if
(
!
mpc
)
return
;
...
...
@@ -244,7 +244,7 @@ static void wrandom_set_nhinfo(__u32 network,
if
(
!
target_route
)
{
const
size_t
size_rt
=
sizeof
(
struct
multipath_route
);
target_route
=
(
struct
multipath_route
*
)
kmalloc
(
size_rt
,
GFP_
KERNEL
);
kmalloc
(
size_rt
,
GFP_
ATOMIC
);
target_route
->
gw
=
nh
->
nh_gw
;
target_route
->
oif
=
nh
->
nh_oif
;
...
...
@@ -265,7 +265,7 @@ static void wrandom_set_nhinfo(__u32 network,
if
(
!
target_dest
)
{
const
size_t
size_dst
=
sizeof
(
struct
multipath_dest
);
target_dest
=
(
struct
multipath_dest
*
)
kmalloc
(
size_dst
,
GFP_
KERNEL
);
kmalloc
(
size_dst
,
GFP_
ATOMIC
);
target_dest
->
nh_info
=
nh
;
target_dest
->
network
=
network
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录