Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
8b91ac09
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
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看板
提交
8b91ac09
编写于
6月 04, 2008
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'davem-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
上级
8aca6cb1
56997fa8
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
52 addition
and
14 deletion
+52
-14
drivers/net/atlx/atl1.c
drivers/net/atlx/atl1.c
+1
-0
drivers/net/cs89x0.c
drivers/net/cs89x0.c
+7
-3
drivers/net/myri10ge/myri10ge.c
drivers/net/myri10ge/myri10ge.c
+1
-1
drivers/net/sc92031.c
drivers/net/sc92031.c
+1
-1
drivers/net/sfc/falcon_xmac.c
drivers/net/sfc/falcon_xmac.c
+1
-1
drivers/net/tulip/tulip_core.c
drivers/net/tulip/tulip_core.c
+8
-2
drivers/net/ucc_geth_ethtool.c
drivers/net/ucc_geth_ethtool.c
+2
-1
drivers/net/virtio_net.c
drivers/net/virtio_net.c
+31
-5
未找到文件。
drivers/net/atlx/atl1.c
浏览文件 @
8b91ac09
...
...
@@ -2023,6 +2023,7 @@ static void atl1_intr_rx(struct atl1_adapter *adapter)
/* Good Receive */
pci_unmap_page
(
adapter
->
pdev
,
buffer_info
->
dma
,
buffer_info
->
length
,
PCI_DMA_FROMDEVICE
);
buffer_info
->
dma
=
0
;
skb
=
buffer_info
->
skb
;
length
=
le16_to_cpu
(
rrd
->
xsz
.
xsum_sz
.
pkt_size
);
...
...
drivers/net/cs89x0.c
浏览文件 @
8b91ac09
...
...
@@ -1394,7 +1394,11 @@ net_open(struct net_device *dev)
#endif
if
(
!
result
)
{
printk
(
KERN_ERR
"%s: EEPROM is configured for unavailable media
\n
"
,
dev
->
name
);
release_irq:
release_dma:
#if ALLOW_DMA
free_dma
(
dev
->
dma
);
#endif
release_irq:
#if ALLOW_DMA
release_dma_buff
(
lp
);
#endif
...
...
@@ -1442,12 +1446,12 @@ net_open(struct net_device *dev)
if
((
result
=
detect_bnc
(
dev
))
!=
DETECTED_NONE
)
break
;
printk
(
KERN_ERR
"%s: no media detected
\n
"
,
dev
->
name
);
goto
release_irq
;
goto
release_dma
;
}
switch
(
result
)
{
case
DETECTED_NONE
:
printk
(
KERN_ERR
"%s: no network cable attached to configured media
\n
"
,
dev
->
name
);
goto
release_irq
;
goto
release_dma
;
case
DETECTED_RJ45H
:
printk
(
KERN_INFO
"%s: using half-duplex 10Base-T (RJ-45)
\n
"
,
dev
->
name
);
break
;
...
...
drivers/net/myri10ge/myri10ge.c
浏览文件 @
8b91ac09
...
...
@@ -75,7 +75,7 @@
#include "myri10ge_mcp.h"
#include "myri10ge_mcp_gen_header.h"
#define MYRI10GE_VERSION_STR "1.3.
2-1.28
7"
#define MYRI10GE_VERSION_STR "1.3.
99-1.34
7"
MODULE_DESCRIPTION
(
"Myricom 10G driver (10GbE)"
);
MODULE_AUTHOR
(
"Maintainer: help@myri.com"
);
...
...
drivers/net/sc92031.c
浏览文件 @
8b91ac09
...
...
@@ -972,7 +972,7 @@ static int sc92031_start_xmit(struct sk_buff *skb, struct net_device *dev)
skb_copy_and_csum_dev
(
skb
,
priv
->
tx_bufs
+
entry
*
TX_BUF_SIZE
);
len
=
skb
->
len
;
if
(
unlikely
(
len
<
ETH_ZLEN
)
)
{
if
(
len
<
ETH_ZLEN
)
{
memset
(
priv
->
tx_bufs
+
entry
*
TX_BUF_SIZE
+
len
,
0
,
ETH_ZLEN
-
len
);
len
=
ETH_ZLEN
;
...
...
drivers/net/sfc/falcon_xmac.c
浏览文件 @
8b91ac09
...
...
@@ -459,7 +459,7 @@ static int falcon_check_xaui_link_up(struct efx_nic *efx)
tries
--
;
}
EFX_
ERR
(
efx
,
"Failed to bring XAUI link back up in %d tries!
\n
"
,
EFX_
LOG
(
efx
,
"Failed to bring XAUI link back up in %d tries!
\n
"
,
max_tries
);
return
0
;
}
...
...
drivers/net/tulip/tulip_core.c
浏览文件 @
8b91ac09
...
...
@@ -1729,12 +1729,15 @@ static int tulip_suspend (struct pci_dev *pdev, pm_message_t state)
if
(
!
dev
)
return
-
EINVAL
;
if
(
netif_running
(
dev
))
tulip_down
(
dev
);
if
(
!
netif_running
(
dev
))
goto
save_state
;
tulip_down
(
dev
);
netif_device_detach
(
dev
);
free_irq
(
dev
->
irq
,
dev
);
save_state:
pci_save_state
(
pdev
);
pci_disable_device
(
pdev
);
pci_set_power_state
(
pdev
,
pci_choose_state
(
pdev
,
state
));
...
...
@@ -1754,6 +1757,9 @@ static int tulip_resume(struct pci_dev *pdev)
pci_set_power_state
(
pdev
,
PCI_D0
);
pci_restore_state
(
pdev
);
if
(
!
netif_running
(
dev
))
return
0
;
if
((
retval
=
pci_enable_device
(
pdev
)))
{
printk
(
KERN_ERR
"tulip: pci_enable_device failed in resume
\n
"
);
return
retval
;
...
...
drivers/net/ucc_geth_ethtool.c
浏览文件 @
8b91ac09
...
...
@@ -73,6 +73,7 @@ static char tx_fw_stat_gstrings[][ETH_GSTRING_LEN] = {
"tx-frames-ok"
,
"tx-excessive-differ-frames"
,
"tx-256-511-frames"
,
"tx-512-1023-frames"
,
"tx-1024-1518-frames"
,
"tx-jumbo-frames"
,
};
...
...
@@ -308,7 +309,7 @@ static void uec_get_strings(struct net_device *netdev, u32 stringset, u8 *buf)
buf
+=
UEC_TX_FW_STATS_LEN
*
ETH_GSTRING_LEN
;
}
if
(
stats_mode
&
UCC_GETH_STATISTICS_GATHERING_MODE_FIRMWARE_RX
)
memcpy
(
buf
,
t
x_fw_stat_gstrings
,
UEC_RX_FW_STATS_LEN
*
memcpy
(
buf
,
r
x_fw_stat_gstrings
,
UEC_RX_FW_STATS_LEN
*
ETH_GSTRING_LEN
);
}
...
...
drivers/net/virtio_net.c
浏览文件 @
8b91ac09
...
...
@@ -47,6 +47,9 @@ struct virtnet_info
/* Number of input buffers, and max we've ever had. */
unsigned
int
num
,
max
;
/* For cleaning up after transmission. */
struct
tasklet_struct
tasklet
;
/* Receive & send queues. */
struct
sk_buff_head
recv
;
struct
sk_buff_head
send
;
...
...
@@ -68,8 +71,13 @@ static void skb_xmit_done(struct virtqueue *svq)
/* Suppress further interrupts. */
svq
->
vq_ops
->
disable_cb
(
svq
);
/* We were waiting for more output buffers. */
netif_wake_queue
(
vi
->
dev
);
/* Make sure we re-xmit last_xmit_skb: if there are no more packets
* queued, start_xmit won't be called. */
tasklet_schedule
(
&
vi
->
tasklet
);
}
static
void
receive_skb
(
struct
net_device
*
dev
,
struct
sk_buff
*
skb
,
...
...
@@ -278,6 +286,18 @@ static int xmit_skb(struct virtnet_info *vi, struct sk_buff *skb)
return
vi
->
svq
->
vq_ops
->
add_buf
(
vi
->
svq
,
sg
,
num
,
0
,
skb
);
}
static
void
xmit_tasklet
(
unsigned
long
data
)
{
struct
virtnet_info
*
vi
=
(
void
*
)
data
;
netif_tx_lock_bh
(
vi
->
dev
);
if
(
vi
->
last_xmit_skb
&&
xmit_skb
(
vi
,
vi
->
last_xmit_skb
)
==
0
)
{
vi
->
svq
->
vq_ops
->
kick
(
vi
->
svq
);
vi
->
last_xmit_skb
=
NULL
;
}
netif_tx_unlock_bh
(
vi
->
dev
);
}
static
int
start_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
)
{
struct
virtnet_info
*
vi
=
netdev_priv
(
dev
);
...
...
@@ -287,21 +307,25 @@ static int start_xmit(struct sk_buff *skb, struct net_device *dev)
free_old_xmit_skbs
(
vi
);
/* If we has a buffer left over from last time, send it now. */
if
(
vi
->
last_xmit_skb
)
{
if
(
unlikely
(
vi
->
last_xmit_skb
)
)
{
if
(
xmit_skb
(
vi
,
vi
->
last_xmit_skb
)
!=
0
)
{
/* Drop this skb: we only queue one. */
vi
->
dev
->
stats
.
tx_dropped
++
;
kfree_skb
(
skb
);
skb
=
NULL
;
goto
stop_queue
;
}
vi
->
last_xmit_skb
=
NULL
;
}
/* Put new one in send queue and do transmit */
__skb_queue_head
(
&
vi
->
send
,
skb
);
if
(
xmit_skb
(
vi
,
skb
)
!=
0
)
{
vi
->
last_xmit_skb
=
skb
;
goto
stop_queue
;
if
(
likely
(
skb
))
{
__skb_queue_head
(
&
vi
->
send
,
skb
);
if
(
xmit_skb
(
vi
,
skb
)
!=
0
)
{
vi
->
last_xmit_skb
=
skb
;
skb
=
NULL
;
goto
stop_queue
;
}
}
done:
vi
->
svq
->
vq_ops
->
kick
(
vi
->
svq
);
...
...
@@ -428,6 +452,8 @@ static int virtnet_probe(struct virtio_device *vdev)
skb_queue_head_init
(
&
vi
->
recv
);
skb_queue_head_init
(
&
vi
->
send
);
tasklet_init
(
&
vi
->
tasklet
,
xmit_tasklet
,
(
unsigned
long
)
vi
);
err
=
register_netdev
(
dev
);
if
(
err
)
{
pr_debug
(
"virtio_net: registering device failed
\n
"
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录