Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
8244132e
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
163
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看板
提交
8244132e
编写于
6月 23, 2010
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: net/ipv4/ip_output.c
上级
7b2ff18e
38000a94
变更
25
隐藏空白更改
内联
并排
Showing
25 changed file
with
116 addition
and
66 deletion
+116
-66
drivers/net/Kconfig
drivers/net/Kconfig
+2
-0
drivers/net/bnx2.c
drivers/net/bnx2.c
+4
-7
drivers/net/cnic.c
drivers/net/cnic.c
+34
-21
drivers/net/ehea/ehea.h
drivers/net/ehea/ehea.h
+1
-1
drivers/net/ehea/ehea_main.c
drivers/net/ehea/ehea_main.c
+4
-5
drivers/net/gianfar.c
drivers/net/gianfar.c
+21
-4
drivers/net/ixgbe/ixgbe_phy.c
drivers/net/ixgbe/ixgbe_phy.c
+2
-0
drivers/net/lib82596.c
drivers/net/lib82596.c
+1
-1
drivers/net/mipsnet.c
drivers/net/mipsnet.c
+1
-1
drivers/net/netxen/netxen_nic_ctx.c
drivers/net/netxen/netxen_nic_ctx.c
+2
-1
drivers/net/netxen/netxen_nic_hw.c
drivers/net/netxen/netxen_nic_hw.c
+0
-4
drivers/net/netxen/netxen_nic_init.c
drivers/net/netxen/netxen_nic_init.c
+8
-5
drivers/net/pcmcia/pcnet_cs.c
drivers/net/pcmcia/pcnet_cs.c
+1
-0
drivers/net/pcmcia/smc91c92_cs.c
drivers/net/pcmcia/smc91c92_cs.c
+1
-0
drivers/net/sky2.c
drivers/net/sky2.c
+14
-5
drivers/net/ucc_geth.c
drivers/net/ucc_geth.c
+2
-0
drivers/net/usb/hso.c
drivers/net/usb/hso.c
+0
-1
drivers/net/wireless/ath/ath5k/attach.c
drivers/net/wireless/ath/ath5k/attach.c
+1
-0
drivers/serial/serial_cs.c
drivers/serial/serial_cs.c
+1
-0
include/net/snmp.h
include/net/snmp.h
+1
-1
net/bridge/br_fdb.c
net/bridge/br_fdb.c
+2
-4
net/bridge/br_forward.c
net/bridge/br_forward.c
+2
-2
net/ipv4/ip_output.c
net/ipv4/ip_output.c
+6
-3
net/netfilter/ipvs/ip_vs_conn.c
net/netfilter/ipvs/ip_vs_conn.c
+4
-0
net/sched/sch_teql.c
net/sched/sch_teql.c
+1
-0
未找到文件。
drivers/net/Kconfig
浏览文件 @
8244132e
...
...
@@ -2755,6 +2755,7 @@ config MYRI10GE_DCA
config NETXEN_NIC
tristate "NetXen Multi port (1/10) Gigabit Ethernet NIC"
depends on PCI
select FW_LOADER
help
This enables the support for NetXen's Gigabit Ethernet card.
...
...
@@ -2820,6 +2821,7 @@ config BNX2X
config QLCNIC
tristate "QLOGIC QLCNIC 1/10Gb Converged Ethernet NIC Support"
depends on PCI
select FW_LOADER
help
This driver supports QLogic QLE8240 and QLE8242 Converged Ethernet
devices.
...
...
drivers/net/bnx2.c
浏览文件 @
8244132e
...
...
@@ -3086,7 +3086,6 @@ bnx2_rx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget)
u16
hw_cons
,
sw_cons
,
sw_ring_cons
,
sw_prod
,
sw_ring_prod
;
struct
l2_fhdr
*
rx_hdr
;
int
rx_pkt
=
0
,
pg_ring_used
=
0
;
struct
pci_dev
*
pdev
=
bp
->
pdev
;
hw_cons
=
bnx2_get_hw_rx_cons
(
bnapi
);
sw_cons
=
rxr
->
rx_cons
;
...
...
@@ -3112,12 +3111,10 @@ bnx2_rx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget)
skb
=
rx_buf
->
skb
;
prefetchw
(
skb
);
if
(
!
get_dma_ops
(
&
pdev
->
dev
)
->
sync_single_for_cpu
)
{
next_rx_buf
=
&
rxr
->
rx_buf_ring
[
RX_RING_IDX
(
NEXT_RX_BD
(
sw_cons
))];
prefetch
(
next_rx_buf
->
desc
);
}
next_rx_buf
=
&
rxr
->
rx_buf_ring
[
RX_RING_IDX
(
NEXT_RX_BD
(
sw_cons
))];
prefetch
(
next_rx_buf
->
desc
);
rx_buf
->
skb
=
NULL
;
dma_addr
=
dma_unmap_addr
(
rx_buf
,
mapping
);
...
...
drivers/net/cnic.c
浏览文件 @
8244132e
...
...
@@ -3925,8 +3925,9 @@ static void cnic_init_bnx2x_tx_ring(struct cnic_dev *dev)
HC_INDEX_DEF_C_ETH_ISCSI_CQ_CONS
;
context
->
cstorm_st_context
.
status_block_id
=
BNX2X_DEF_SB_ID
;
context
->
xstorm_st_context
.
statistics_data
=
(
cli
|
XSTORM_ETH_ST_CONTEXT_STATISTICS_ENABLE
);
if
(
cli
<
MAX_X_STAT_COUNTER_ID
)
context
->
xstorm_st_context
.
statistics_data
=
cli
|
XSTORM_ETH_ST_CONTEXT_STATISTICS_ENABLE
;
context
->
xstorm_ag_context
.
cdu_reserved
=
CDU_RSRVD_VALUE_TYPE_A
(
BNX2X_HW_CID
(
BNX2X_ISCSI_L2_CID
,
func
),
...
...
@@ -3934,10 +3935,12 @@ static void cnic_init_bnx2x_tx_ring(struct cnic_dev *dev)
ETH_CONNECTION_TYPE
);
/* reset xstorm per client statistics */
val
=
BAR_XSTRORM_INTMEM
+
XSTORM_PER_COUNTER_ID_STATS_OFFSET
(
port
,
cli
);
for
(
i
=
0
;
i
<
sizeof
(
struct
xstorm_per_client_stats
)
/
4
;
i
++
)
CNIC_WR
(
dev
,
val
+
i
*
4
,
0
);
if
(
cli
<
MAX_X_STAT_COUNTER_ID
)
{
val
=
BAR_XSTRORM_INTMEM
+
XSTORM_PER_COUNTER_ID_STATS_OFFSET
(
port
,
cli
);
for
(
i
=
0
;
i
<
sizeof
(
struct
xstorm_per_client_stats
)
/
4
;
i
++
)
CNIC_WR
(
dev
,
val
+
i
*
4
,
0
);
}
cp
->
tx_cons_ptr
=
&
cp
->
bnx2x_def_status_blk
->
c_def_status_block
.
index_values
[
...
...
@@ -3984,9 +3987,11 @@ static void cnic_init_bnx2x_rx_ring(struct cnic_dev *dev)
BNX2X_ISCSI_RX_SB_INDEX_NUM
;
context
->
ustorm_st_context
.
common
.
clientId
=
cli
;
context
->
ustorm_st_context
.
common
.
status_block_id
=
BNX2X_DEF_SB_ID
;
context
->
ustorm_st_context
.
common
.
flags
=
USTORM_ETH_ST_CONTEXT_CONFIG_ENABLE_STATISTICS
;
context
->
ustorm_st_context
.
common
.
statistics_counter_id
=
cli
;
if
(
cli
<
MAX_U_STAT_COUNTER_ID
)
{
context
->
ustorm_st_context
.
common
.
flags
=
USTORM_ETH_ST_CONTEXT_CONFIG_ENABLE_STATISTICS
;
context
->
ustorm_st_context
.
common
.
statistics_counter_id
=
cli
;
}
context
->
ustorm_st_context
.
common
.
mc_alignment_log_size
=
0
;
context
->
ustorm_st_context
.
common
.
bd_buff_size
=
cp
->
l2_single_buf_size
;
...
...
@@ -4017,10 +4022,13 @@ static void cnic_init_bnx2x_rx_ring(struct cnic_dev *dev)
/* client tstorm info */
tstorm_client
.
mtu
=
cp
->
l2_single_buf_size
-
14
;
tstorm_client
.
config_flags
=
(
TSTORM_ETH_CLIENT_CONFIG_E1HOV_REM_ENABLE
|
TSTORM_ETH_CLIENT_CONFIG_STATSITICS_ENABLE
);
tstorm_client
.
statistics_counter_id
=
cli
;
tstorm_client
.
config_flags
=
TSTORM_ETH_CLIENT_CONFIG_E1HOV_REM_ENABLE
;
if
(
cli
<
MAX_T_STAT_COUNTER_ID
)
{
tstorm_client
.
config_flags
|=
TSTORM_ETH_CLIENT_CONFIG_STATSITICS_ENABLE
;
tstorm_client
.
statistics_counter_id
=
cli
;
}
CNIC_WR
(
dev
,
BAR_TSTRORM_INTMEM
+
TSTORM_CLIENT_CONFIG_OFFSET
(
port
,
cli
),
...
...
@@ -4030,16 +4038,21 @@ static void cnic_init_bnx2x_rx_ring(struct cnic_dev *dev)
((
u32
*
)
&
tstorm_client
)[
1
]);
/* reset tstorm per client statistics */
val
=
BAR_TSTRORM_INTMEM
+
TSTORM_PER_COUNTER_ID_STATS_OFFSET
(
port
,
cli
);
for
(
i
=
0
;
i
<
sizeof
(
struct
tstorm_per_client_stats
)
/
4
;
i
++
)
CNIC_WR
(
dev
,
val
+
i
*
4
,
0
);
if
(
cli
<
MAX_T_STAT_COUNTER_ID
)
{
val
=
BAR_TSTRORM_INTMEM
+
TSTORM_PER_COUNTER_ID_STATS_OFFSET
(
port
,
cli
);
for
(
i
=
0
;
i
<
sizeof
(
struct
tstorm_per_client_stats
)
/
4
;
i
++
)
CNIC_WR
(
dev
,
val
+
i
*
4
,
0
);
}
/* reset ustorm per client statistics */
val
=
BAR_USTRORM_INTMEM
+
USTORM_PER_COUNTER_ID_STATS_OFFSET
(
port
,
cli
);
for
(
i
=
0
;
i
<
sizeof
(
struct
ustorm_per_client_stats
)
/
4
;
i
++
)
CNIC_WR
(
dev
,
val
+
i
*
4
,
0
);
if
(
cli
<
MAX_U_STAT_COUNTER_ID
)
{
val
=
BAR_USTRORM_INTMEM
+
USTORM_PER_COUNTER_ID_STATS_OFFSET
(
port
,
cli
);
for
(
i
=
0
;
i
<
sizeof
(
struct
ustorm_per_client_stats
)
/
4
;
i
++
)
CNIC_WR
(
dev
,
val
+
i
*
4
,
0
);
}
cp
->
rx_cons_ptr
=
&
cp
->
bnx2x_def_status_blk
->
u_def_status_block
.
index_values
[
...
...
drivers/net/ehea/ehea.h
浏览文件 @
8244132e
...
...
@@ -40,7 +40,7 @@
#include <asm/io.h>
#define DRV_NAME "ehea"
#define DRV_VERSION "EHEA_010
3
"
#define DRV_VERSION "EHEA_010
5
"
/* eHEA capability flags */
#define DLPAR_PORT_ADD_REM 1
...
...
drivers/net/ehea/ehea_main.c
浏览文件 @
8244132e
...
...
@@ -867,6 +867,7 @@ static int ehea_poll(struct napi_struct *napi, int budget)
ehea_reset_cq_ep
(
pr
->
send_cq
);
ehea_reset_cq_n1
(
pr
->
recv_cq
);
ehea_reset_cq_n1
(
pr
->
send_cq
);
rmb
();
cqe
=
ehea_poll_rq1
(
pr
->
qp
,
&
wqe_index
);
cqe_skb
=
ehea_poll_cq
(
pr
->
send_cq
);
...
...
@@ -2859,6 +2860,7 @@ static void ehea_reset_port(struct work_struct *work)
container_of
(
work
,
struct
ehea_port
,
reset_task
);
struct
net_device
*
dev
=
port
->
netdev
;
mutex_lock
(
&
dlpar_mem_lock
);
port
->
resets
++
;
mutex_lock
(
&
port
->
port_lock
);
netif_stop_queue
(
dev
);
...
...
@@ -2881,6 +2883,7 @@ static void ehea_reset_port(struct work_struct *work)
netif_wake_queue
(
dev
);
out:
mutex_unlock
(
&
port
->
port_lock
);
mutex_unlock
(
&
dlpar_mem_lock
);
}
static
void
ehea_rereg_mrs
(
struct
work_struct
*
work
)
...
...
@@ -3542,10 +3545,7 @@ static int ehea_mem_notifier(struct notifier_block *nb,
int
ret
=
NOTIFY_BAD
;
struct
memory_notify
*
arg
=
data
;
if
(
!
mutex_trylock
(
&
dlpar_mem_lock
))
{
ehea_info
(
"ehea_mem_notifier must not be called parallelized"
);
goto
out
;
}
mutex_lock
(
&
dlpar_mem_lock
);
switch
(
action
)
{
case
MEM_CANCEL_OFFLINE
:
...
...
@@ -3574,7 +3574,6 @@ static int ehea_mem_notifier(struct notifier_block *nb,
out_unlock:
mutex_unlock
(
&
dlpar_mem_lock
);
out:
return
ret
;
}
...
...
drivers/net/gianfar.c
浏览文件 @
8244132e
...
...
@@ -381,10 +381,14 @@ static void gfar_init_mac(struct net_device *ndev)
/* Insert receive time stamps into padding alignment bytes */
if
(
priv
->
device_flags
&
FSL_GIANFAR_DEV_HAS_TIMER
)
{
rctrl
&=
~
RCTRL_PAL_MASK
;
rctrl
|=
RCTRL_P
RSDEP_INIT
|
RCTRL_TS_ENABLE
|
RCTRL_P
ADDING
(
8
);
rctrl
|=
RCTRL_PADDING
(
8
);
priv
->
padding
=
8
;
}
/* Enable HW time stamping if requested from user space */
if
(
priv
->
hwts_rx_en
)
rctrl
|=
RCTRL_PRSDEP_INIT
|
RCTRL_TS_ENABLE
;
/* keep vlan related bits if it's enabled */
if
(
priv
->
vlgrp
)
{
rctrl
|=
RCTRL_VLEX
|
RCTRL_PRSDEP_INIT
;
...
...
@@ -747,7 +751,8 @@ static int gfar_of_init(struct of_device *ofdev, struct net_device **pdev)
FSL_GIANFAR_DEV_HAS_CSUM
|
FSL_GIANFAR_DEV_HAS_VLAN
|
FSL_GIANFAR_DEV_HAS_MAGIC_PACKET
|
FSL_GIANFAR_DEV_HAS_EXTENDED_HASH
;
FSL_GIANFAR_DEV_HAS_EXTENDED_HASH
|
FSL_GIANFAR_DEV_HAS_TIMER
;
ctype
=
of_get_property
(
np
,
"phy-connection-type"
,
NULL
);
...
...
@@ -805,12 +810,20 @@ static int gfar_hwtstamp_ioctl(struct net_device *netdev,
switch
(
config
.
rx_filter
)
{
case
HWTSTAMP_FILTER_NONE
:
priv
->
hwts_rx_en
=
0
;
if
(
priv
->
hwts_rx_en
)
{
stop_gfar
(
netdev
);
priv
->
hwts_rx_en
=
0
;
startup_gfar
(
netdev
);
}
break
;
default:
if
(
!
(
priv
->
device_flags
&
FSL_GIANFAR_DEV_HAS_TIMER
))
return
-
ERANGE
;
priv
->
hwts_rx_en
=
1
;
if
(
!
priv
->
hwts_rx_en
)
{
stop_gfar
(
netdev
);
priv
->
hwts_rx_en
=
1
;
startup_gfar
(
netdev
);
}
config
.
rx_filter
=
HWTSTAMP_FILTER_ALL
;
break
;
}
...
...
@@ -2642,6 +2655,10 @@ int gfar_clean_rx_ring(struct gfar_priv_rx_q *rx_queue, int rx_work_limit)
dma_unmap_single
(
&
priv
->
ofdev
->
dev
,
bdp
->
bufPtr
,
priv
->
rx_buffer_size
,
DMA_FROM_DEVICE
);
if
(
unlikely
(
!
(
bdp
->
status
&
RXBD_ERR
)
&&
bdp
->
length
>
priv
->
rx_buffer_size
))
bdp
->
status
=
RXBD_LARGE
;
/* We drop the frame if we failed to allocate a new buffer */
if
(
unlikely
(
!
newskb
||
!
(
bdp
->
status
&
RXBD_LAST
)
||
bdp
->
status
&
RXBD_ERR
))
{
...
...
drivers/net/ixgbe/ixgbe_phy.c
浏览文件 @
8244132e
...
...
@@ -575,6 +575,8 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw)
* 4 SFP_DA_CORE1 - 82599-specific
* 5 SFP_SR/LR_CORE0 - 82599-specific
* 6 SFP_SR/LR_CORE1 - 82599-specific
* 7 SFP_act_lmt_DA_CORE0 - 82599-specific
* 8 SFP_act_lmt_DA_CORE1 - 82599-specific
*/
if
(
hw
->
mac
.
type
==
ixgbe_mac_82598EB
)
{
if
(
cable_tech
&
IXGBE_SFF_DA_PASSIVE_CABLE
)
...
...
drivers/net/lib82596.c
浏览文件 @
8244132e
...
...
@@ -1343,7 +1343,7 @@ static void set_multicast_list(struct net_device *dev)
DEB
(
DEB_MULTI
,
printk
(
KERN_DEBUG
"%s: set multicast list, %d entries, promisc %s, allmulti %s
\n
"
,
dev
->
name
,
dev
->
mc_count
,
dev
->
name
,
netdev_mc_count
(
dev
)
,
dev
->
flags
&
IFF_PROMISC
?
"ON"
:
"OFF"
,
dev
->
flags
&
IFF_ALLMULTI
?
"ON"
:
"OFF"
));
...
...
drivers/net/mipsnet.c
浏览文件 @
8244132e
...
...
@@ -247,7 +247,7 @@ static const struct net_device_ops mipsnet_netdev_ops = {
.
ndo_set_mac_address
=
eth_mac_addr
,
};
static
int
__init
mipsnet_probe
(
struct
platform_device
*
dev
)
static
int
__
dev
init
mipsnet_probe
(
struct
platform_device
*
dev
)
{
struct
net_device
*
netdev
;
int
err
;
...
...
drivers/net/netxen/netxen_nic_ctx.c
浏览文件 @
8244132e
...
...
@@ -629,7 +629,8 @@ int netxen_alloc_hw_resources(struct netxen_adapter *adapter)
if
(
addr
==
NULL
)
{
dev_err
(
&
pdev
->
dev
,
"%s: failed to allocate tx desc ring
\n
"
,
netdev
->
name
);
return
-
ENOMEM
;
err
=
-
ENOMEM
;
goto
err_out_free
;
}
tx_ring
->
desc_head
=
(
struct
cmd_desc_type0
*
)
addr
;
...
...
drivers/net/netxen/netxen_nic_hw.c
浏览文件 @
8244132e
...
...
@@ -1159,9 +1159,6 @@ netxen_nic_pci_set_crbwindow_2M(struct netxen_adapter *adapter, ulong off)
window
=
CRB_HI
(
off
);
if
(
adapter
->
ahw
.
crb_win
==
window
)
return
;
writel
(
window
,
addr
);
if
(
readl
(
addr
)
!=
window
)
{
if
(
printk_ratelimit
())
...
...
@@ -1169,7 +1166,6 @@ netxen_nic_pci_set_crbwindow_2M(struct netxen_adapter *adapter, ulong off)
"failed to set CRB window to %d off 0x%lx
\n
"
,
window
,
off
);
}
adapter
->
ahw
.
crb_win
=
window
;
}
static
void
__iomem
*
...
...
drivers/net/netxen/netxen_nic_init.c
浏览文件 @
8244132e
...
...
@@ -218,7 +218,7 @@ int netxen_alloc_sw_resources(struct netxen_adapter *adapter)
if
(
cmd_buf_arr
==
NULL
)
{
dev_err
(
&
pdev
->
dev
,
"%s: failed to allocate cmd buffer ring
\n
"
,
netdev
->
name
);
return
-
ENOMEM
;
goto
err_out
;
}
memset
(
cmd_buf_arr
,
0
,
TX_BUFF_RINGSIZE
(
tx_ring
));
tx_ring
->
cmd_buf_arr
=
cmd_buf_arr
;
...
...
@@ -230,7 +230,7 @@ int netxen_alloc_sw_resources(struct netxen_adapter *adapter)
if
(
rds_ring
==
NULL
)
{
dev_err
(
&
pdev
->
dev
,
"%s: failed to allocate rds ring struct
\n
"
,
netdev
->
name
);
return
-
ENOMEM
;
goto
err_out
;
}
recv_ctx
->
rds_rings
=
rds_ring
;
...
...
@@ -1805,9 +1805,10 @@ netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ringid,
netxen_ctx_msg
msg
=
0
;
struct
list_head
*
head
;
spin_lock
(
&
rds_ring
->
lock
);
producer
=
rds_ring
->
producer
;
spin_lock
(
&
rds_ring
->
lock
);
head
=
&
rds_ring
->
free_list
;
while
(
!
list_empty
(
head
))
{
...
...
@@ -1829,7 +1830,6 @@ netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ringid,
producer
=
get_next_index
(
producer
,
rds_ring
->
num_desc
);
}
spin_unlock
(
&
rds_ring
->
lock
);
if
(
count
)
{
rds_ring
->
producer
=
producer
;
...
...
@@ -1853,6 +1853,8 @@ netxen_post_rx_buffers(struct netxen_adapter *adapter, u32 ringid,
NETXEN_RCV_PRODUCER_OFFSET
),
msg
);
}
}
spin_unlock
(
&
rds_ring
->
lock
);
}
static
void
...
...
@@ -1864,10 +1866,11 @@ netxen_post_rx_buffers_nodb(struct netxen_adapter *adapter,
int
producer
,
count
=
0
;
struct
list_head
*
head
;
producer
=
rds_ring
->
producer
;
if
(
!
spin_trylock
(
&
rds_ring
->
lock
))
return
;
producer
=
rds_ring
->
producer
;
head
=
&
rds_ring
->
free_list
;
while
(
!
list_empty
(
head
))
{
...
...
drivers/net/pcmcia/pcnet_cs.c
浏览文件 @
8244132e
...
...
@@ -1727,6 +1727,7 @@ static struct pcmcia_device_id pcnet_ids[] = {
PCMCIA_PFC_DEVICE_CIS_PROD_ID12
(
0
,
"Psion Dacom"
,
"Gold Card V34 Ethernet"
,
0xf5f025c2
,
0x338e8155
,
"cis/PCMLM28.cis"
),
PCMCIA_PFC_DEVICE_CIS_PROD_ID12
(
0
,
"Psion Dacom"
,
"Gold Card V34 Ethernet GSM"
,
0xf5f025c2
,
0x4ae85d35
,
"cis/PCMLM28.cis"
),
PCMCIA_PFC_DEVICE_CIS_PROD_ID12
(
0
,
"LINKSYS"
,
"PCMLM28"
,
0xf7cb0b07
,
0x66881874
,
"cis/PCMLM28.cis"
),
PCMCIA_PFC_DEVICE_CIS_PROD_ID12
(
0
,
"TOSHIBA"
,
"Modem/LAN Card"
,
0xb4585a1a
,
0x53f922f8
,
"cis/PCMLM28.cis"
),
PCMCIA_MFC_DEVICE_CIS_PROD_ID12
(
0
,
"DAYNA COMMUNICATIONS"
,
"LAN AND MODEM MULTIFUNCTION"
,
0x8fdf8f89
,
0xdd5ed9e8
,
"cis/DP83903.cis"
),
PCMCIA_MFC_DEVICE_CIS_PROD_ID4
(
0
,
"NSC MF LAN/Modem"
,
0x58fc6056
,
"cis/DP83903.cis"
),
PCMCIA_MFC_DEVICE_CIS_MANF_CARD
(
0
,
0x0175
,
0x0000
,
"cis/DP83903.cis"
),
...
...
drivers/net/pcmcia/smc91c92_cs.c
浏览文件 @
8244132e
...
...
@@ -322,6 +322,7 @@ static int smc91c92_probe(struct pcmcia_device *link)
return
-
ENOMEM
;
smc
=
netdev_priv
(
dev
);
smc
->
p_dev
=
link
;
link
->
priv
=
dev
;
spin_lock_init
(
&
smc
->
lock
);
link
->
io
.
NumPorts1
=
16
;
...
...
drivers/net/sky2.c
浏览文件 @
8244132e
...
...
@@ -717,11 +717,24 @@ static void sky2_phy_power_down(struct sky2_hw *hw, unsigned port)
sky2_write8
(
hw
,
B2_TST_CTRL1
,
TST_CFG_WRITE_OFF
);
}
/* Enable Rx/Tx */
static
void
sky2_enable_rx_tx
(
struct
sky2_port
*
sky2
)
{
struct
sky2_hw
*
hw
=
sky2
->
hw
;
unsigned
port
=
sky2
->
port
;
u16
reg
;
reg
=
gma_read16
(
hw
,
port
,
GM_GP_CTRL
);
reg
|=
GM_GPCR_RX_ENA
|
GM_GPCR_TX_ENA
;
gma_write16
(
hw
,
port
,
GM_GP_CTRL
,
reg
);
}
/* Force a renegotiation */
static
void
sky2_phy_reinit
(
struct
sky2_port
*
sky2
)
{
spin_lock_bh
(
&
sky2
->
phy_lock
);
sky2_phy_init
(
sky2
->
hw
,
sky2
->
port
);
sky2_enable_rx_tx
(
sky2
);
spin_unlock_bh
(
&
sky2
->
phy_lock
);
}
...
...
@@ -2040,7 +2053,6 @@ static void sky2_link_up(struct sky2_port *sky2)
{
struct
sky2_hw
*
hw
=
sky2
->
hw
;
unsigned
port
=
sky2
->
port
;
u16
reg
;
static
const
char
*
fc_name
[]
=
{
[
FC_NONE
]
=
"none"
,
[
FC_TX
]
=
"tx"
,
...
...
@@ -2048,10 +2060,7 @@ static void sky2_link_up(struct sky2_port *sky2)
[
FC_BOTH
]
=
"both"
,
};
/* enable Rx/Tx */
reg
=
gma_read16
(
hw
,
port
,
GM_GP_CTRL
);
reg
|=
GM_GPCR_RX_ENA
|
GM_GPCR_TX_ENA
;
gma_write16
(
hw
,
port
,
GM_GP_CTRL
,
reg
);
sky2_enable_rx_tx
(
sky2
);
gm_phy_write
(
hw
,
port
,
PHY_MARV_INT_MASK
,
PHY_M_DEF_MSK
);
...
...
drivers/net/ucc_geth.c
浏览文件 @
8244132e
...
...
@@ -3215,6 +3215,8 @@ static int ucc_geth_rx(struct ucc_geth_private *ugeth, u8 rxQ, int rx_work_limit
__func__
,
__LINE__
,
(
u32
)
skb
);
if
(
skb
)
{
skb
->
data
=
skb
->
head
+
NET_SKB_PAD
;
skb
->
len
=
0
;
skb_reset_tail_pointer
(
skb
);
__skb_queue_head
(
&
ugeth
->
rx_recycle
,
skb
);
}
...
...
drivers/net/usb/hso.c
浏览文件 @
8244132e
...
...
@@ -1334,7 +1334,6 @@ static int hso_serial_open(struct tty_struct *tty, struct file *filp)
/* check for port already opened, if not set the termios */
serial
->
open_count
++
;
if
(
serial
->
open_count
==
1
)
{
tty
->
low_latency
=
1
;
serial
->
rx_state
=
RX_IDLE
;
/* Force default termio settings */
_hso_serial_set_termios
(
tty
,
NULL
);
...
...
drivers/net/wireless/ath/ath5k/attach.c
浏览文件 @
8244132e
...
...
@@ -126,6 +126,7 @@ int ath5k_hw_attach(struct ath5k_softc *sc)
ah
->
ah_ant_mode
=
AR5K_ANTMODE_DEFAULT
;
ah
->
ah_noise_floor
=
-
95
;
/* until first NF calibration is run */
sc
->
ani_state
.
ani_mode
=
ATH5K_ANI_MODE_AUTO
;
ah
->
ah_current_channel
=
&
sc
->
channels
[
0
];
/*
* Find the mac version
...
...
drivers/serial/serial_cs.c
浏览文件 @
8244132e
...
...
@@ -807,6 +807,7 @@ static struct pcmcia_device_id serial_ids[] = {
PCMCIA_PFC_DEVICE_CIS_PROD_ID12
(
1
,
"Psion Dacom"
,
"Gold Card V34 Ethernet"
,
0xf5f025c2
,
0x338e8155
,
"cis/PCMLM28.cis"
),
PCMCIA_PFC_DEVICE_CIS_PROD_ID12
(
1
,
"Psion Dacom"
,
"Gold Card V34 Ethernet GSM"
,
0xf5f025c2
,
0x4ae85d35
,
"cis/PCMLM28.cis"
),
PCMCIA_PFC_DEVICE_CIS_PROD_ID12
(
1
,
"LINKSYS"
,
"PCMLM28"
,
0xf7cb0b07
,
0x66881874
,
"cis/PCMLM28.cis"
),
PCMCIA_PFC_DEVICE_CIS_PROD_ID12
(
1
,
"TOSHIBA"
,
"Modem/LAN Card"
,
0xb4585a1a
,
0x53f922f8
,
"cis/PCMLM28.cis"
),
PCMCIA_MFC_DEVICE_CIS_PROD_ID12
(
1
,
"DAYNA COMMUNICATIONS"
,
"LAN AND MODEM MULTIFUNCTION"
,
0x8fdf8f89
,
0xdd5ed9e8
,
"cis/DP83903.cis"
),
PCMCIA_MFC_DEVICE_CIS_PROD_ID4
(
1
,
"NSC MF LAN/Modem"
,
0x58fc6056
,
"cis/DP83903.cis"
),
PCMCIA_MFC_DEVICE_CIS_MANF_CARD
(
1
,
0x0101
,
0x0556
,
"cis/3CCFEM556.cis"
),
...
...
include/net/snmp.h
浏览文件 @
8244132e
...
...
@@ -134,7 +134,7 @@ struct linux_xfrm_mib {
#define SNMP_ADD_STATS_USER(mib, field, addend) \
this_cpu_add(mib[1]->mibs[field], addend)
#define SNMP_ADD_STATS(mib, field, addend) \
this_cpu_add(mib[
0
]->mibs[field], addend)
this_cpu_add(mib[
!in_softirq()
]->mibs[field], addend)
/*
* Use "__typeof__(*mib[0]) *ptr" instead of "__typeof__(mib[0]) ptr"
* to make @ptr a non-percpu pointer.
...
...
net/bridge/br_fdb.c
浏览文件 @
8244132e
...
...
@@ -128,7 +128,7 @@ void br_fdb_cleanup(unsigned long _data)
{
struct
net_bridge
*
br
=
(
struct
net_bridge
*
)
_data
;
unsigned
long
delay
=
hold_time
(
br
);
unsigned
long
next_timer
=
jiffies
+
br
->
forward_delay
;
unsigned
long
next_timer
=
jiffies
+
br
->
ageing_time
;
int
i
;
spin_lock_bh
(
&
br
->
hash_lock
);
...
...
@@ -149,9 +149,7 @@ void br_fdb_cleanup(unsigned long _data)
}
spin_unlock_bh
(
&
br
->
hash_lock
);
/* Add HZ/4 to ensure we round the jiffies upwards to be after the next
* timer, otherwise we might round down and will have no-op run. */
mod_timer
(
&
br
->
gc_timer
,
round_jiffies
(
next_timer
+
HZ
/
4
));
mod_timer
(
&
br
->
gc_timer
,
round_jiffies_up
(
next_timer
));
}
/* Completely flush all dynamic entries in forwarding database.*/
...
...
net/bridge/br_forward.c
浏览文件 @
8244132e
...
...
@@ -130,10 +130,10 @@ static int deliver_clone(const struct net_bridge_port *prev,
void
(
*
__packet_hook
)(
const
struct
net_bridge_port
*
p
,
struct
sk_buff
*
skb
))
{
struct
net_device
*
dev
=
BR_INPUT_SKB_CB
(
skb
)
->
brdev
;
skb
=
skb_clone
(
skb
,
GFP_ATOMIC
);
if
(
!
skb
)
{
struct
net_device
*
dev
=
BR_INPUT_SKB_CB
(
skb
)
->
brdev
;
dev
->
stats
.
tx_dropped
++
;
return
-
ENOMEM
;
}
...
...
net/ipv4/ip_output.c
浏览文件 @
8244132e
...
...
@@ -873,8 +873,10 @@ int ip_append_data(struct sock *sk,
!
exthdrlen
)
csummode
=
CHECKSUM_PARTIAL
;
skb
=
skb_peek_tail
(
&
sk
->
sk_write_queue
);
inet
->
cork
.
length
+=
length
;
if
(((
length
>
mtu
)
||
!
skb_queue_empty
(
&
sk
->
sk_write_queue
))
&&
if
(((
length
>
mtu
)
||
(
skb
&&
skb_is_gso
(
skb
)
))
&&
(
sk
->
sk_protocol
==
IPPROTO_UDP
)
&&
(
rt
->
dst
.
dev
->
features
&
NETIF_F_UFO
))
{
err
=
ip_ufo_append_data
(
sk
,
getfrag
,
from
,
length
,
hh_len
,
...
...
@@ -892,7 +894,7 @@ int ip_append_data(struct sock *sk,
* adding appropriate IP header.
*/
if
(
(
skb
=
skb_peek_tail
(
&
sk
->
sk_write_queue
))
==
NULL
)
if
(
!
skb
)
goto
alloc_new_skb
;
while
(
length
>
0
)
{
...
...
@@ -1121,7 +1123,8 @@ ssize_t ip_append_page(struct sock *sk, struct page *page,
return
-
EINVAL
;
inet
->
cork
.
length
+=
size
;
if
((
sk
->
sk_protocol
==
IPPROTO_UDP
)
&&
if
((
size
+
skb
->
len
>
mtu
)
&&
(
sk
->
sk_protocol
==
IPPROTO_UDP
)
&&
(
rt
->
dst
.
dev
->
features
&
NETIF_F_UFO
))
{
skb_shinfo
(
skb
)
->
gso_size
=
mtu
-
fragheaderlen
;
skb_shinfo
(
skb
)
->
gso_type
=
SKB_GSO_UDP
;
...
...
net/netfilter/ipvs/ip_vs_conn.c
浏览文件 @
8244132e
...
...
@@ -162,6 +162,7 @@ static inline int ip_vs_conn_hash(struct ip_vs_conn *cp)
hash
=
ip_vs_conn_hashkey
(
cp
->
af
,
cp
->
protocol
,
&
cp
->
caddr
,
cp
->
cport
);
ct_write_lock
(
hash
);
spin_lock
(
&
cp
->
lock
);
if
(
!
(
cp
->
flags
&
IP_VS_CONN_F_HASHED
))
{
list_add
(
&
cp
->
c_list
,
&
ip_vs_conn_tab
[
hash
]);
...
...
@@ -174,6 +175,7 @@ static inline int ip_vs_conn_hash(struct ip_vs_conn *cp)
ret
=
0
;
}
spin_unlock
(
&
cp
->
lock
);
ct_write_unlock
(
hash
);
return
ret
;
...
...
@@ -193,6 +195,7 @@ static inline int ip_vs_conn_unhash(struct ip_vs_conn *cp)
hash
=
ip_vs_conn_hashkey
(
cp
->
af
,
cp
->
protocol
,
&
cp
->
caddr
,
cp
->
cport
);
ct_write_lock
(
hash
);
spin_lock
(
&
cp
->
lock
);
if
(
cp
->
flags
&
IP_VS_CONN_F_HASHED
)
{
list_del
(
&
cp
->
c_list
);
...
...
@@ -202,6 +205,7 @@ static inline int ip_vs_conn_unhash(struct ip_vs_conn *cp)
}
else
ret
=
0
;
spin_unlock
(
&
cp
->
lock
);
ct_write_unlock
(
hash
);
return
ret
;
...
...
net/sched/sch_teql.c
浏览文件 @
8244132e
...
...
@@ -449,6 +449,7 @@ static __init void teql_master_setup(struct net_device *dev)
dev
->
tx_queue_len
=
100
;
dev
->
flags
=
IFF_NOARP
;
dev
->
hard_header_len
=
LL_MAX_HEADER
;
dev
->
priv_flags
&=
~
IFF_XMIT_DST_RELEASE
;
}
static
LIST_HEAD
(
master_dev_list
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录