Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
3133c5e8
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3133c5e8
编写于
11月 07, 2005
作者:
J
Jeff Garzik
浏览文件
操作
浏览文件
下载
差异文件
Merge
git://git.tuxdriver.com/git/netdev-jwl
上级
6b995751
b69a3aa8
变更
16
隐藏空白更改
内联
并排
Showing
16 changed file
with
72 addition
and
249 deletion
+72
-249
drivers/net/bonding/bond_main.c
drivers/net/bonding/bond_main.c
+11
-21
drivers/net/bonding/bonding.h
drivers/net/bonding/bonding.h
+2
-5
drivers/net/e100.c
drivers/net/e100.c
+3
-3
drivers/net/ns83820.c
drivers/net/ns83820.c
+2
-11
drivers/net/s2io.c
drivers/net/s2io.c
+23
-20
drivers/net/wireless/airo.c
drivers/net/wireless/airo.c
+12
-24
drivers/net/wireless/airo_cs.c
drivers/net/wireless/airo_cs.c
+2
-4
drivers/net/wireless/atmel.c
drivers/net/wireless/atmel.c
+1
-1
drivers/net/wireless/atmel_cs.c
drivers/net/wireless/atmel_cs.c
+2
-4
drivers/net/wireless/ipw2100.c
drivers/net/wireless/ipw2100.c
+1
-3
drivers/net/wireless/prism54/isl_38xx.c
drivers/net/wireless/prism54/isl_38xx.c
+4
-8
drivers/net/wireless/prism54/islpci_eth.c
drivers/net/wireless/prism54/islpci_eth.c
+5
-5
drivers/net/wireless/wavelan_cs.c
drivers/net/wireless/wavelan_cs.c
+1
-2
drivers/net/wireless/wl3501_cs.c
drivers/net/wireless/wl3501_cs.c
+1
-2
include/linux/eeprom.h
include/linux/eeprom.h
+0
-136
net/ieee80211/ieee80211_rx.c
net/ieee80211/ieee80211_rx.c
+2
-0
未找到文件。
drivers/net/bonding/bond_main.c
浏览文件 @
3133c5e8
...
...
@@ -1604,35 +1604,27 @@ static int bond_sethwaddr(struct net_device *bond_dev, struct net_device *slave_
(NETIF_F_SG|NETIF_F_IP_CSUM|NETIF_F_NO_CSUM|NETIF_F_HW_CSUM)
/*
* Compute the features available to the bonding device by
* intersection of all of the slave devices' BOND_INTERSECT_FEATURES.
* Call this after attaching or detaching a slave to update the
* bond's features.
* Compute the common dev->feature set available to all slaves. Some
* feature bits are managed elsewhere, so preserve feature bits set on
* master device that are not part of the examined set.
*/
static
int
bond_compute_features
(
struct
bonding
*
bond
)
{
int
i
;
unsigned
long
features
=
BOND_INTERSECT_FEATURES
;
struct
slave
*
slave
;
struct
net_device
*
bond_dev
=
bond
->
dev
;
int
features
=
bond
->
bond_features
;
int
i
;
bond_for_each_slave
(
bond
,
slave
,
i
)
{
struct
net_device
*
slave_dev
=
slave
->
dev
;
if
(
i
==
0
)
{
features
|=
BOND_INTERSECT_FEATURES
;
}
features
&=
~
(
~
slave_dev
->
features
&
BOND_INTERSECT_FEATURES
);
}
bond_for_each_slave
(
bond
,
slave
,
i
)
features
&=
(
slave
->
dev
->
features
&
BOND_INTERSECT_FEATURES
);
/* turn off NETIF_F_SG if we need a csum and h/w can't do it */
if
((
features
&
NETIF_F_SG
)
&&
!
(
features
&
(
NETIF_F_IP_CSUM
|
NETIF_F_NO_CSUM
|
NETIF_F_HW_CSUM
)))
{
!
(
features
&
(
NETIF_F_IP_CSUM
|
NETIF_F_NO_CSUM
|
NETIF_F_HW_CSUM
)))
features
&=
~
NETIF_F_SG
;
}
features
|=
(
bond_dev
->
features
&
~
BOND_INTERSECT_FEATURES
);
bond_dev
->
features
=
features
;
return
0
;
...
...
@@ -4561,8 +4553,6 @@ static int __init bond_init(struct net_device *bond_dev, struct bond_params *par
NETIF_F_HW_VLAN_RX
|
NETIF_F_HW_VLAN_FILTER
);
bond
->
bond_features
=
bond_dev
->
features
;
#ifdef CONFIG_PROC_FS
bond_create_proc_entry
(
bond
);
#endif
...
...
drivers/net/bonding/bonding.h
浏览文件 @
3133c5e8
...
...
@@ -40,8 +40,8 @@
#include "bond_3ad.h"
#include "bond_alb.h"
#define DRV_VERSION "2.6.
4
"
#define DRV_RELDATE "
September 26
, 2005"
#define DRV_VERSION "2.6.
5
"
#define DRV_RELDATE "
November 4
, 2005"
#define DRV_NAME "bonding"
#define DRV_DESCRIPTION "Ethernet Channel Bonding Driver"
...
...
@@ -211,9 +211,6 @@ struct bonding {
struct
bond_params
params
;
struct
list_head
vlan_list
;
struct
vlan_group
*
vlgrp
;
/* the features the bonding device supports, independently
* of any slaves */
int
bond_features
;
};
/**
...
...
drivers/net/e100.c
浏览文件 @
3133c5e8
...
...
@@ -1478,7 +1478,7 @@ static inline int e100_rx_alloc_skb(struct nic *nic, struct rx *rx)
if
(
pci_dma_mapping_error
(
rx
->
dma_addr
))
{
dev_kfree_skb_any
(
rx
->
skb
);
rx
->
skb
=
0
;
rx
->
skb
=
NULL
;
rx
->
dma_addr
=
0
;
return
-
ENOMEM
;
}
...
...
@@ -1764,7 +1764,7 @@ static int e100_up(struct nic *nic)
if
((
err
=
e100_hw_init
(
nic
)))
goto
err_clean_cbs
;
e100_set_multicast_list
(
nic
->
netdev
);
e100_start_receiver
(
nic
,
0
);
e100_start_receiver
(
nic
,
NULL
);
mod_timer
(
&
nic
->
watchdog
,
jiffies
);
if
((
err
=
request_irq
(
nic
->
pdev
->
irq
,
e100_intr
,
SA_SHIRQ
,
nic
->
netdev
->
name
,
nic
->
netdev
)))
...
...
@@ -1844,7 +1844,7 @@ static int e100_loopback_test(struct nic *nic, enum loopback loopback_mode)
mdio_write
(
nic
->
netdev
,
nic
->
mii
.
phy_id
,
MII_BMCR
,
BMCR_LOOPBACK
);
e100_start_receiver
(
nic
,
0
);
e100_start_receiver
(
nic
,
NULL
);
if
(
!
(
skb
=
dev_alloc_skb
(
ETH_DATA_LEN
)))
{
err
=
-
ENOMEM
;
...
...
drivers/net/ns83820.c
浏览文件 @
3133c5e8
...
...
@@ -110,7 +110,6 @@
#include <linux/init.h>
#include <linux/ip.h>
/* for iph */
#include <linux/in.h>
/* for IPPROTO_... */
#include <linux/eeprom.h>
#include <linux/compiler.h>
#include <linux/prefetch.h>
#include <linux/ethtool.h>
...
...
@@ -445,7 +444,6 @@ struct ns83820 {
u32
MEAR_cache
;
u32
IMR_cache
;
struct
eeprom
ee
;
unsigned
linkstate
;
...
...
@@ -1558,15 +1556,13 @@ static void ns83820_getmac(struct ns83820 *dev, u8 *mac)
unsigned
i
;
for
(
i
=
0
;
i
<
3
;
i
++
)
{
u32
data
;
#if 0 /* I've left this in as an example of how to use eeprom.h */
data = eeprom_readw(&dev->ee, 0xa + 2 - i);
#else
/* Read from the perfect match memory: this is loaded by
* the chip from the EEPROM via the EELOAD self test.
*/
writel
(
i
*
2
,
dev
->
base
+
RFCR
);
data
=
readl
(
dev
->
base
+
RFDR
);
#endif
*
mac
++
=
data
;
*
mac
++
=
data
>>
8
;
}
...
...
@@ -1851,8 +1847,6 @@ static int __devinit ns83820_init_one(struct pci_dev *pci_dev, const struct pci_
spin_lock_init
(
&
dev
->
misc_lock
);
dev
->
pci_dev
=
pci_dev
;
dev
->
ee
.
cache
=
&
dev
->
MEAR_cache
;
dev
->
ee
.
lock
=
&
dev
->
misc_lock
;
SET_MODULE_OWNER
(
ndev
);
SET_NETDEV_DEV
(
ndev
,
&
pci_dev
->
dev
);
...
...
@@ -1887,9 +1881,6 @@ static int __devinit ns83820_init_one(struct pci_dev *pci_dev, const struct pci_
dev
->
IMR_cache
=
0
;
setup_ee_mem_bitbanger
(
&
dev
->
ee
,
dev
->
base
+
MEAR
,
3
,
2
,
1
,
0
,
0
);
err
=
request_irq
(
pci_dev
->
irq
,
ns83820_irq
,
SA_SHIRQ
,
DRV_NAME
,
ndev
);
if
(
err
)
{
...
...
drivers/net/s2io.c
浏览文件 @
3133c5e8
...
...
@@ -1532,7 +1532,7 @@ static int init_nic(struct s2io_nic *nic)
#define LINK_UP_DOWN_INTERRUPT 1
#define MAC_RMAC_ERR_TIMER 2
int
s2io_link_fault_indication
(
nic_t
*
nic
)
static
int
s2io_link_fault_indication
(
nic_t
*
nic
)
{
if
(
nic
->
intr_type
!=
INTA
)
return
MAC_RMAC_ERR_TIMER
;
...
...
@@ -1864,7 +1864,7 @@ static int verify_xena_quiescence(nic_t *sp, u64 val64, int flag)
*
*/
void
fix_mac_address
(
nic_t
*
sp
)
static
void
fix_mac_address
(
nic_t
*
sp
)
{
XENA_dev_config_t
__iomem
*
bar0
=
sp
->
bar0
;
u64
val64
;
...
...
@@ -2160,7 +2160,7 @@ int fill_rxd_3buf(nic_t *nic, RxD_t *rxdp, struct sk_buff *skb)
* SUCCESS on success or an appropriate -ve value on failure.
*/
int
fill_rx_buffers
(
struct
s2io_nic
*
nic
,
int
ring_no
)
static
int
fill_rx_buffers
(
struct
s2io_nic
*
nic
,
int
ring_no
)
{
struct
net_device
*
dev
=
nic
->
dev
;
struct
sk_buff
*
skb
;
...
...
@@ -2831,7 +2831,7 @@ static void alarm_intr_handler(struct s2io_nic *nic)
* SUCCESS on success and FAILURE on failure.
*/
int
wait_for_cmd_complete
(
nic_t
*
sp
)
static
int
wait_for_cmd_complete
(
nic_t
*
sp
)
{
XENA_dev_config_t
__iomem
*
bar0
=
sp
->
bar0
;
int
ret
=
FAILURE
,
cnt
=
0
;
...
...
@@ -3077,7 +3077,7 @@ int s2io_set_swapper(nic_t * sp)
return
SUCCESS
;
}
int
wait_for_msix_trans
(
nic_t
*
nic
,
int
i
)
static
int
wait_for_msix_trans
(
nic_t
*
nic
,
int
i
)
{
XENA_dev_config_t
*
bar0
=
(
XENA_dev_config_t
*
)
nic
->
bar0
;
u64
val64
;
...
...
@@ -3116,7 +3116,7 @@ void restore_xmsi_data(nic_t *nic)
}
}
void
store_xmsi_data
(
nic_t
*
nic
)
static
void
store_xmsi_data
(
nic_t
*
nic
)
{
XENA_dev_config_t
*
bar0
=
(
XENA_dev_config_t
*
)
nic
->
bar0
;
u64
val64
,
addr
,
data
;
...
...
@@ -3288,7 +3288,7 @@ int s2io_enable_msi_x(nic_t *nic)
* file on failure.
*/
int
s2io_open
(
struct
net_device
*
dev
)
static
int
s2io_open
(
struct
net_device
*
dev
)
{
nic_t
*
sp
=
dev
->
priv
;
int
err
=
0
;
...
...
@@ -3418,7 +3418,7 @@ failed\n", dev->name, i);
* file on failure.
*/
int
s2io_close
(
struct
net_device
*
dev
)
static
int
s2io_close
(
struct
net_device
*
dev
)
{
nic_t
*
sp
=
dev
->
priv
;
int
i
;
...
...
@@ -3467,7 +3467,7 @@ int s2io_close(struct net_device *dev)
* 0 on success & 1 on failure.
*/
int
s2io_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
)
static
int
s2io_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
)
{
nic_t
*
sp
=
dev
->
priv
;
u16
frg_cnt
,
frg_len
,
i
,
queue
,
queue_len
,
put_off
,
get_off
;
...
...
@@ -3913,7 +3913,7 @@ static void s2io_updt_stats(nic_t *sp)
* pointer to the updated net_device_stats structure.
*/
struct
net_device_stats
*
s2io_get_stats
(
struct
net_device
*
dev
)
st
atic
st
ruct
net_device_stats
*
s2io_get_stats
(
struct
net_device
*
dev
)
{
nic_t
*
sp
=
dev
->
priv
;
mac_info_t
*
mac_control
;
...
...
@@ -5106,19 +5106,20 @@ static void s2io_get_ethtool_stats(struct net_device *dev,
tmp_stats
[
i
++
]
=
stat_info
->
sw_stat
.
double_ecc_errs
;
}
int
s2io_ethtool_get_regs_len
(
struct
net_device
*
dev
)
static
int
s2io_ethtool_get_regs_len
(
struct
net_device
*
dev
)
{
return
(
XENA_REG_SPACE
);
}
u32
s2io_ethtool_get_rx_csum
(
struct
net_device
*
dev
)
static
u32
s2io_ethtool_get_rx_csum
(
struct
net_device
*
dev
)
{
nic_t
*
sp
=
dev
->
priv
;
return
(
sp
->
rx_csum
);
}
int
s2io_ethtool_set_rx_csum
(
struct
net_device
*
dev
,
u32
data
)
static
int
s2io_ethtool_set_rx_csum
(
struct
net_device
*
dev
,
u32
data
)
{
nic_t
*
sp
=
dev
->
priv
;
...
...
@@ -5129,17 +5130,19 @@ int s2io_ethtool_set_rx_csum(struct net_device *dev, u32 data)
return
0
;
}
int
s2io_get_eeprom_len
(
struct
net_device
*
dev
)
static
int
s2io_get_eeprom_len
(
struct
net_device
*
dev
)
{
return
(
XENA_EEPROM_SPACE
);
}
int
s2io_ethtool_self_test_count
(
struct
net_device
*
dev
)
static
int
s2io_ethtool_self_test_count
(
struct
net_device
*
dev
)
{
return
(
S2IO_TEST_LEN
);
}
void
s2io_ethtool_get_strings
(
struct
net_device
*
dev
,
u32
stringset
,
u8
*
data
)
static
void
s2io_ethtool_get_strings
(
struct
net_device
*
dev
,
u32
stringset
,
u8
*
data
)
{
switch
(
stringset
)
{
case
ETH_SS_TEST
:
...
...
@@ -5155,7 +5158,7 @@ static int s2io_ethtool_get_stats_count(struct net_device *dev)
return
(
S2IO_STAT_LEN
);
}
int
s2io_ethtool_op_set_tx_csum
(
struct
net_device
*
dev
,
u32
data
)
static
int
s2io_ethtool_op_set_tx_csum
(
struct
net_device
*
dev
,
u32
data
)
{
if
(
data
)
dev
->
features
|=
NETIF_F_IP_CSUM
;
...
...
@@ -5208,7 +5211,7 @@ static struct ethtool_ops netdev_ethtool_ops = {
* function always return EOPNOTSUPPORTED
*/
int
s2io_ioctl
(
struct
net_device
*
dev
,
struct
ifreq
*
rq
,
int
cmd
)
static
int
s2io_ioctl
(
struct
net_device
*
dev
,
struct
ifreq
*
rq
,
int
cmd
)
{
return
-
EOPNOTSUPP
;
}
...
...
@@ -5224,7 +5227,7 @@ int s2io_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
* file on failure.
*/
int
s2io_change_mtu
(
struct
net_device
*
dev
,
int
new_mtu
)
static
int
s2io_change_mtu
(
struct
net_device
*
dev
,
int
new_mtu
)
{
nic_t
*
sp
=
dev
->
priv
;
...
...
drivers/net/wireless/airo.c
浏览文件 @
3133c5e8
...
...
@@ -4535,9 +4535,8 @@ static int proc_status_open( struct inode *inode, struct file *file ) {
StatusRid
status_rid
;
int
i
;
if
((
file
->
private_data
=
k
m
alloc
(
sizeof
(
struct
proc_data
),
GFP_KERNEL
))
==
NULL
)
if
((
file
->
private_data
=
k
z
alloc
(
sizeof
(
struct
proc_data
),
GFP_KERNEL
))
==
NULL
)
return
-
ENOMEM
;
memset
(
file
->
private_data
,
0
,
sizeof
(
struct
proc_data
));
data
=
(
struct
proc_data
*
)
file
->
private_data
;
if
((
data
->
rbuffer
=
kmalloc
(
2048
,
GFP_KERNEL
))
==
NULL
)
{
kfree
(
file
->
private_data
);
...
...
@@ -4615,9 +4614,8 @@ static int proc_stats_rid_open( struct inode *inode,
int
i
,
j
;
u32
*
vals
=
stats
.
vals
;
if
((
file
->
private_data
=
k
m
alloc
(
sizeof
(
struct
proc_data
),
GFP_KERNEL
))
==
NULL
)
if
((
file
->
private_data
=
k
z
alloc
(
sizeof
(
struct
proc_data
),
GFP_KERNEL
))
==
NULL
)
return
-
ENOMEM
;
memset
(
file
->
private_data
,
0
,
sizeof
(
struct
proc_data
));
data
=
(
struct
proc_data
*
)
file
->
private_data
;
if
((
data
->
rbuffer
=
kmalloc
(
4096
,
GFP_KERNEL
))
==
NULL
)
{
kfree
(
file
->
private_data
);
...
...
@@ -4881,20 +4879,18 @@ static int proc_config_open( struct inode *inode, struct file *file ) {
struct
airo_info
*
ai
=
dev
->
priv
;
int
i
;
if
((
file
->
private_data
=
k
m
alloc
(
sizeof
(
struct
proc_data
),
GFP_KERNEL
))
==
NULL
)
if
((
file
->
private_data
=
k
z
alloc
(
sizeof
(
struct
proc_data
),
GFP_KERNEL
))
==
NULL
)
return
-
ENOMEM
;
memset
(
file
->
private_data
,
0
,
sizeof
(
struct
proc_data
));
data
=
(
struct
proc_data
*
)
file
->
private_data
;
if
((
data
->
rbuffer
=
kmalloc
(
2048
,
GFP_KERNEL
))
==
NULL
)
{
kfree
(
file
->
private_data
);
return
-
ENOMEM
;
}
if
((
data
->
wbuffer
=
k
m
alloc
(
2048
,
GFP_KERNEL
))
==
NULL
)
{
if
((
data
->
wbuffer
=
k
z
alloc
(
2048
,
GFP_KERNEL
))
==
NULL
)
{
kfree
(
data
->
rbuffer
);
kfree
(
file
->
private_data
);
return
-
ENOMEM
;
}
memset
(
data
->
wbuffer
,
0
,
2048
);
data
->
maxwritelen
=
2048
;
data
->
on_close
=
proc_config_on_close
;
...
...
@@ -5155,24 +5151,21 @@ static int proc_wepkey_open( struct inode *inode, struct file *file ) {
int
j
=
0
;
int
rc
;
if
((
file
->
private_data
=
k
m
alloc
(
sizeof
(
struct
proc_data
),
GFP_KERNEL
))
==
NULL
)
if
((
file
->
private_data
=
k
z
alloc
(
sizeof
(
struct
proc_data
),
GFP_KERNEL
))
==
NULL
)
return
-
ENOMEM
;
memset
(
file
->
private_data
,
0
,
sizeof
(
struct
proc_data
));
memset
(
&
wkr
,
0
,
sizeof
(
wkr
));
data
=
(
struct
proc_data
*
)
file
->
private_data
;
if
((
data
->
rbuffer
=
k
m
alloc
(
180
,
GFP_KERNEL
))
==
NULL
)
{
if
((
data
->
rbuffer
=
k
z
alloc
(
180
,
GFP_KERNEL
))
==
NULL
)
{
kfree
(
file
->
private_data
);
return
-
ENOMEM
;
}
memset
(
data
->
rbuffer
,
0
,
180
);
data
->
writelen
=
0
;
data
->
maxwritelen
=
80
;
if
((
data
->
wbuffer
=
k
m
alloc
(
80
,
GFP_KERNEL
))
==
NULL
)
{
if
((
data
->
wbuffer
=
k
z
alloc
(
80
,
GFP_KERNEL
))
==
NULL
)
{
kfree
(
data
->
rbuffer
);
kfree
(
file
->
private_data
);
return
-
ENOMEM
;
}
memset
(
data
->
wbuffer
,
0
,
80
);
data
->
on_close
=
proc_wepkey_on_close
;
ptr
=
data
->
rbuffer
;
...
...
@@ -5203,9 +5196,8 @@ static int proc_SSID_open( struct inode *inode, struct file *file ) {
char
*
ptr
;
SsidRid
SSID_rid
;
if
((
file
->
private_data
=
k
m
alloc
(
sizeof
(
struct
proc_data
),
GFP_KERNEL
))
==
NULL
)
if
((
file
->
private_data
=
k
z
alloc
(
sizeof
(
struct
proc_data
),
GFP_KERNEL
))
==
NULL
)
return
-
ENOMEM
;
memset
(
file
->
private_data
,
0
,
sizeof
(
struct
proc_data
));
data
=
(
struct
proc_data
*
)
file
->
private_data
;
if
((
data
->
rbuffer
=
kmalloc
(
104
,
GFP_KERNEL
))
==
NULL
)
{
kfree
(
file
->
private_data
);
...
...
@@ -5213,12 +5205,11 @@ static int proc_SSID_open( struct inode *inode, struct file *file ) {
}
data
->
writelen
=
0
;
data
->
maxwritelen
=
33
*
3
;
if
((
data
->
wbuffer
=
k
m
alloc
(
33
*
3
,
GFP_KERNEL
))
==
NULL
)
{
if
((
data
->
wbuffer
=
k
z
alloc
(
33
*
3
,
GFP_KERNEL
))
==
NULL
)
{
kfree
(
data
->
rbuffer
);
kfree
(
file
->
private_data
);
return
-
ENOMEM
;
}
memset
(
data
->
wbuffer
,
0
,
33
*
3
);
data
->
on_close
=
proc_SSID_on_close
;
readSsidRid
(
ai
,
&
SSID_rid
);
...
...
@@ -5247,9 +5238,8 @@ static int proc_APList_open( struct inode *inode, struct file *file ) {
char
*
ptr
;
APListRid
APList_rid
;
if
((
file
->
private_data
=
k
m
alloc
(
sizeof
(
struct
proc_data
),
GFP_KERNEL
))
==
NULL
)
if
((
file
->
private_data
=
k
z
alloc
(
sizeof
(
struct
proc_data
),
GFP_KERNEL
))
==
NULL
)
return
-
ENOMEM
;
memset
(
file
->
private_data
,
0
,
sizeof
(
struct
proc_data
));
data
=
(
struct
proc_data
*
)
file
->
private_data
;
if
((
data
->
rbuffer
=
kmalloc
(
104
,
GFP_KERNEL
))
==
NULL
)
{
kfree
(
file
->
private_data
);
...
...
@@ -5257,12 +5247,11 @@ static int proc_APList_open( struct inode *inode, struct file *file ) {
}
data
->
writelen
=
0
;
data
->
maxwritelen
=
4
*
6
*
3
;
if
((
data
->
wbuffer
=
k
m
alloc
(
data
->
maxwritelen
,
GFP_KERNEL
))
==
NULL
)
{
if
((
data
->
wbuffer
=
k
z
alloc
(
data
->
maxwritelen
,
GFP_KERNEL
))
==
NULL
)
{
kfree
(
data
->
rbuffer
);
kfree
(
file
->
private_data
);
return
-
ENOMEM
;
}
memset
(
data
->
wbuffer
,
0
,
data
->
maxwritelen
);
data
->
on_close
=
proc_APList_on_close
;
readAPListRid
(
ai
,
&
APList_rid
);
...
...
@@ -5297,9 +5286,8 @@ static int proc_BSSList_open( struct inode *inode, struct file *file ) {
/* If doLoseSync is not 1, we won't do a Lose Sync */
int
doLoseSync
=
-
1
;
if
((
file
->
private_data
=
k
m
alloc
(
sizeof
(
struct
proc_data
),
GFP_KERNEL
))
==
NULL
)
if
((
file
->
private_data
=
k
z
alloc
(
sizeof
(
struct
proc_data
),
GFP_KERNEL
))
==
NULL
)
return
-
ENOMEM
;
memset
(
file
->
private_data
,
0
,
sizeof
(
struct
proc_data
));
data
=
(
struct
proc_data
*
)
file
->
private_data
;
if
((
data
->
rbuffer
=
kmalloc
(
1024
,
GFP_KERNEL
))
==
NULL
)
{
kfree
(
file
->
private_data
);
...
...
drivers/net/wireless/airo_cs.c
浏览文件 @
3133c5e8
...
...
@@ -170,12 +170,11 @@ static dev_link_t *airo_attach(void)
DEBUG
(
0
,
"airo_attach()
\n
"
);
/* Initialize the dev_link_t structure */
link
=
k
m
alloc
(
sizeof
(
struct
dev_link_t
),
GFP_KERNEL
);
link
=
k
z
alloc
(
sizeof
(
struct
dev_link_t
),
GFP_KERNEL
);
if
(
!
link
)
{
printk
(
KERN_ERR
"airo_cs: no memory for new device
\n
"
);
return
NULL
;
}
memset
(
link
,
0
,
sizeof
(
struct
dev_link_t
));
/* Interrupt setup */
link
->
irq
.
Attributes
=
IRQ_TYPE_EXCLUSIVE
;
...
...
@@ -194,13 +193,12 @@ static dev_link_t *airo_attach(void)
link
->
conf
.
IntType
=
INT_MEMORY_AND_IO
;
/* Allocate space for private device-specific data */
local
=
k
m
alloc
(
sizeof
(
local_info_t
),
GFP_KERNEL
);
local
=
k
z
alloc
(
sizeof
(
local_info_t
),
GFP_KERNEL
);
if
(
!
local
)
{
printk
(
KERN_ERR
"airo_cs: no memory for new device
\n
"
);
kfree
(
link
);
return
NULL
;
}
memset
(
local
,
0
,
sizeof
(
local_info_t
));
link
->
priv
=
local
;
/* Register with Card Services */
...
...
drivers/net/wireless/atmel.c
浏览文件 @
3133c5e8
...
...
@@ -2217,7 +2217,7 @@ static int atmel_get_range(struct net_device *dev,
int
k
,
i
,
j
;
dwrq
->
length
=
sizeof
(
struct
iw_range
);
memset
(
range
,
0
,
sizeof
(
range
));
memset
(
range
,
0
,
sizeof
(
struct
iw_
range
));
range
->
min_nwid
=
0x0000
;
range
->
max_nwid
=
0x0000
;
range
->
num_channels
=
0
;
...
...
drivers/net/wireless/atmel_cs.c
浏览文件 @
3133c5e8
...
...
@@ -180,12 +180,11 @@ static dev_link_t *atmel_attach(void)
DEBUG
(
0
,
"atmel_attach()
\n
"
);
/* Initialize the dev_link_t structure */
link
=
k
m
alloc
(
sizeof
(
struct
dev_link_t
),
GFP_KERNEL
);
link
=
k
z
alloc
(
sizeof
(
struct
dev_link_t
),
GFP_KERNEL
);
if
(
!
link
)
{
printk
(
KERN_ERR
"atmel_cs: no memory for new device
\n
"
);
return
NULL
;
}
memset
(
link
,
0
,
sizeof
(
struct
dev_link_t
));
/* Interrupt setup */
link
->
irq
.
Attributes
=
IRQ_TYPE_EXCLUSIVE
;
...
...
@@ -204,13 +203,12 @@ static dev_link_t *atmel_attach(void)
link
->
conf
.
IntType
=
INT_MEMORY_AND_IO
;
/* Allocate space for private device-specific data */
local
=
k
m
alloc
(
sizeof
(
local_info_t
),
GFP_KERNEL
);
local
=
k
z
alloc
(
sizeof
(
local_info_t
),
GFP_KERNEL
);
if
(
!
local
)
{
printk
(
KERN_ERR
"atmel_cs: no memory for new device
\n
"
);
kfree
(
link
);
return
NULL
;
}
memset
(
local
,
0
,
sizeof
(
local_info_t
));
link
->
priv
=
local
;
/* Register with Card Services */
...
...
drivers/net/wireless/ipw2100.c
浏览文件 @
3133c5e8
...
...
@@ -6065,13 +6065,11 @@ static int ipw2100_wpa_set_encryption(struct net_device *dev,
ieee80211_crypt_delayed_deinit
(
ieee
,
crypt
);
new_crypt
=
(
struct
ieee80211_crypt_data
*
)
kmalloc
(
sizeof
(
struct
ieee80211_crypt_data
),
GFP_KERNEL
);
new_crypt
=
kzalloc
(
sizeof
(
struct
ieee80211_crypt_data
),
GFP_KERNEL
);
if
(
new_crypt
==
NULL
)
{
ret
=
-
ENOMEM
;
goto
done
;
}
memset
(
new_crypt
,
0
,
sizeof
(
struct
ieee80211_crypt_data
));
new_crypt
->
ops
=
ops
;
if
(
new_crypt
->
ops
&&
try_module_get
(
new_crypt
->
ops
->
owner
))
new_crypt
->
priv
=
new_crypt
->
ops
->
init
(
param
->
u
.
crypt
.
idx
);
...
...
drivers/net/wireless/prism54/isl_38xx.c
浏览文件 @
3133c5e8
...
...
@@ -112,9 +112,10 @@ isl38xx_handle_wakeup(isl38xx_control_block *control_block,
void
isl38xx_trigger_device
(
int
asleep
,
void
__iomem
*
device_base
)
{
u32
reg
,
counter
=
0
;
u32
reg
;
#if VERBOSE > SHOW_ERROR_MESSAGES
u32
counter
=
0
;
struct
timeval
current_time
;
DEBUG
(
SHOW_FUNCTION_CALLS
,
"isl38xx trigger device
\n
"
);
#endif
...
...
@@ -131,7 +132,6 @@ isl38xx_trigger_device(int asleep, void __iomem *device_base)
current_time
.
tv_sec
,
(
long
)
current_time
.
tv_usec
,
readl
(
device_base
+
ISL38XX_CTRL_STAT_REG
));
#endif
udelay
(
ISL38XX_WRITEIO_DELAY
);
reg
=
readl
(
device_base
+
ISL38XX_INT_IDENT_REG
);
if
(
reg
==
0xabadface
)
{
...
...
@@ -145,7 +145,9 @@ isl38xx_trigger_device(int asleep, void __iomem *device_base)
while
(
reg
=
readl
(
device_base
+
ISL38XX_CTRL_STAT_REG
),
(
reg
&
ISL38XX_CTRL_STAT_SLEEPMODE
)
==
0
)
{
udelay
(
ISL38XX_WRITEIO_DELAY
);
#if VERBOSE > SHOW_ERROR_MESSAGES
counter
++
;
#endif
}
#if VERBOSE > SHOW_ERROR_MESSAGES
...
...
@@ -153,10 +155,6 @@ isl38xx_trigger_device(int asleep, void __iomem *device_base)
"%08li.%08li Device register read %08x
\n
"
,
current_time
.
tv_sec
,
(
long
)
current_time
.
tv_usec
,
readl
(
device_base
+
ISL38XX_CTRL_STAT_REG
));
#endif
udelay
(
ISL38XX_WRITEIO_DELAY
);
#if VERBOSE > SHOW_ERROR_MESSAGES
do_gettimeofday
(
&
current_time
);
DEBUG
(
SHOW_TRACING
,
"%08li.%08li Device asleep counter %i
\n
"
,
...
...
@@ -171,7 +169,6 @@ isl38xx_trigger_device(int asleep, void __iomem *device_base)
/* perform another read on the Device Status Register */
reg
=
readl
(
device_base
+
ISL38XX_CTRL_STAT_REG
);
udelay
(
ISL38XX_WRITEIO_DELAY
);
#if VERBOSE > SHOW_ERROR_MESSAGES
do_gettimeofday
(
&
current_time
);
...
...
@@ -187,7 +184,6 @@ isl38xx_trigger_device(int asleep, void __iomem *device_base)
isl38xx_w32_flush
(
device_base
,
ISL38XX_DEV_INT_UPDATE
,
ISL38XX_DEV_INT_REG
);
udelay
(
ISL38XX_WRITEIO_DELAY
);
}
}
...
...
drivers/net/wireless/prism54/islpci_eth.c
浏览文件 @
3133c5e8
...
...
@@ -227,17 +227,17 @@ islpci_eth_transmit(struct sk_buff *skb, struct net_device *ndev)
priv
->
data_low_tx_full
=
1
;
}
/* set the transmission time */
ndev
->
trans_start
=
jiffies
;
priv
->
statistics
.
tx_packets
++
;
priv
->
statistics
.
tx_bytes
+=
skb
->
len
;
/* trigger the device */
islpci_trigger
(
priv
);
/* unlock the driver code */
spin_unlock_irqrestore
(
&
priv
->
slock
,
flags
);
/* set the transmission time */
ndev
->
trans_start
=
jiffies
;
priv
->
statistics
.
tx_packets
++
;
priv
->
statistics
.
tx_bytes
+=
skb
->
len
;
return
0
;
drop_free:
...
...
drivers/net/wireless/wavelan_cs.c
浏览文件 @
3133c5e8
...
...
@@ -4608,9 +4608,8 @@ wavelan_attach(void)
#endif
/* Initialize the dev_link_t structure */
link
=
k
m
alloc
(
sizeof
(
struct
dev_link_t
),
GFP_KERNEL
);
link
=
k
z
alloc
(
sizeof
(
struct
dev_link_t
),
GFP_KERNEL
);
if
(
!
link
)
return
NULL
;
memset
(
link
,
0
,
sizeof
(
struct
dev_link_t
));
/* The io structure describes IO port mapping */
link
->
io
.
NumPorts1
=
8
;
...
...
drivers/net/wireless/wl3501_cs.c
浏览文件 @
3133c5e8
...
...
@@ -1965,10 +1965,9 @@ static dev_link_t *wl3501_attach(void)
int
ret
;
/* Initialize the dev_link_t structure */
link
=
k
m
alloc
(
sizeof
(
*
link
),
GFP_KERNEL
);
link
=
k
z
alloc
(
sizeof
(
*
link
),
GFP_KERNEL
);
if
(
!
link
)
goto
out
;
memset
(
link
,
0
,
sizeof
(
struct
dev_link_t
));
/* The io structure describes IO port mapping */
link
->
io
.
NumPorts1
=
16
;
...
...
include/linux/eeprom.h
已删除
100644 → 0
浏览文件 @
6b995751
/* credit winbond-840.c
*/
#include <asm/io.h>
struct
eeprom_ops
{
void
(
*
set_cs
)(
void
*
ee
);
void
(
*
clear_cs
)(
void
*
ee
);
};
#define EEPOL_EEDI 0x01
#define EEPOL_EEDO 0x02
#define EEPOL_EECLK 0x04
#define EEPOL_EESEL 0x08
struct
eeprom
{
void
*
dev
;
struct
eeprom_ops
*
ops
;
void
__iomem
*
addr
;
unsigned
ee_addr_bits
;
unsigned
eesel
;
unsigned
eeclk
;
unsigned
eedo
;
unsigned
eedi
;
unsigned
polarity
;
unsigned
ee_state
;
spinlock_t
*
lock
;
u32
*
cache
;
};
u8
eeprom_readb
(
struct
eeprom
*
ee
,
unsigned
address
);
void
eeprom_read
(
struct
eeprom
*
ee
,
unsigned
address
,
u8
*
bytes
,
unsigned
count
);
void
eeprom_writeb
(
struct
eeprom
*
ee
,
unsigned
address
,
u8
data
);
void
eeprom_write
(
struct
eeprom
*
ee
,
unsigned
address
,
u8
*
bytes
,
unsigned
count
);
/* The EEPROM commands include the alway-set leading bit. */
enum
EEPROM_Cmds
{
EE_WriteCmd
=
(
5
<<
6
),
EE_ReadCmd
=
(
6
<<
6
),
EE_EraseCmd
=
(
7
<<
6
),
};
void
setup_ee_mem_bitbanger
(
struct
eeprom
*
ee
,
void
__iomem
*
memaddr
,
int
eesel_bit
,
int
eeclk_bit
,
int
eedo_bit
,
int
eedi_bit
,
unsigned
polarity
)
{
ee
->
addr
=
memaddr
;
ee
->
eesel
=
1
<<
eesel_bit
;
ee
->
eeclk
=
1
<<
eeclk_bit
;
ee
->
eedo
=
1
<<
eedo_bit
;
ee
->
eedi
=
1
<<
eedi_bit
;
ee
->
polarity
=
polarity
;
*
ee
->
cache
=
readl
(
ee
->
addr
);
}
/* foo. put this in a .c file */
static
inline
void
eeprom_update
(
struct
eeprom
*
ee
,
u32
mask
,
int
pol
)
{
unsigned
long
flags
;
u32
data
;
spin_lock_irqsave
(
ee
->
lock
,
flags
);
data
=
*
ee
->
cache
;
data
&=
~
mask
;
if
(
pol
)
data
|=
mask
;
*
ee
->
cache
=
data
;
//printk("update: %08x\n", data);
writel
(
data
,
ee
->
addr
);
spin_unlock_irqrestore
(
ee
->
lock
,
flags
);
}
void
eeprom_clk_lo
(
struct
eeprom
*
ee
)
{
int
pol
=
!!
(
ee
->
polarity
&
EEPOL_EECLK
);
eeprom_update
(
ee
,
ee
->
eeclk
,
pol
);
udelay
(
2
);
}
void
eeprom_clk_hi
(
struct
eeprom
*
ee
)
{
int
pol
=
!!
(
ee
->
polarity
&
EEPOL_EECLK
);
eeprom_update
(
ee
,
ee
->
eeclk
,
!
pol
);
udelay
(
2
);
}
void
eeprom_send_addr
(
struct
eeprom
*
ee
,
unsigned
address
)
{
int
pol
=
!!
(
ee
->
polarity
&
EEPOL_EEDI
);
unsigned
i
;
address
|=
6
<<
6
;
/* Shift the read command bits out. */
for
(
i
=
0
;
i
<
11
;
i
++
)
{
eeprom_update
(
ee
,
ee
->
eedi
,
((
address
>>
10
)
&
1
)
^
pol
);
address
<<=
1
;
eeprom_clk_hi
(
ee
);
eeprom_clk_lo
(
ee
);
}
eeprom_update
(
ee
,
ee
->
eedi
,
pol
);
}
u16
eeprom_readw
(
struct
eeprom
*
ee
,
unsigned
address
)
{
unsigned
i
;
u16
res
=
0
;
eeprom_clk_lo
(
ee
);
eeprom_update
(
ee
,
ee
->
eesel
,
1
^
!!
(
ee
->
polarity
&
EEPOL_EESEL
));
eeprom_send_addr
(
ee
,
address
);
for
(
i
=
0
;
i
<
16
;
i
++
)
{
u32
data
;
eeprom_clk_hi
(
ee
);
res
<<=
1
;
data
=
readl
(
ee
->
addr
);
//printk("eeprom_readw: %08x\n", data);
res
|=
!!
(
data
&
ee
->
eedo
)
^
!!
(
ee
->
polarity
&
EEPOL_EEDO
);
eeprom_clk_lo
(
ee
);
}
eeprom_update
(
ee
,
ee
->
eesel
,
0
^
!!
(
ee
->
polarity
&
EEPOL_EESEL
));
return
res
;
}
void
eeprom_writeb
(
struct
eeprom
*
ee
,
unsigned
address
,
u8
data
)
{
}
net/ieee80211/ieee80211_rx.c
浏览文件 @
3133c5e8
...
...
@@ -369,6 +369,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
/* Put this code here so that we avoid duplicating it in all
* Rx paths. - Jean II */
#ifdef IW_WIRELESS_SPY
/* defined in iw_handler.h */
#ifdef CONFIG_NET_RADIO
/* If spy monitoring on */
if
(
ieee
->
spy_data
.
spy_number
>
0
)
{
struct
iw_quality
wstats
;
...
...
@@ -395,6 +396,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
/* Update spy records */
wireless_spy_update
(
ieee
->
dev
,
hdr
->
addr2
,
&
wstats
);
}
#endif
/* CONFIG_NET_RADIO */
#endif
/* IW_WIRELESS_SPY */
#ifdef NOT_YET
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录