Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
e11ec900
K
Kernel
项目概览
openeuler
/
Kernel
接近 2 年 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
e11ec900
编写于
5月 31, 2011
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
上级
e12ca23d
948252cb
变更
33
隐藏空白更改
内联
并排
Showing
33 changed file
with
179 addition
and
120 deletion
+179
-120
drivers/net/3c509.c
drivers/net/3c509.c
+7
-7
drivers/net/3c59x.c
drivers/net/3c59x.c
+2
-2
drivers/net/depca.c
drivers/net/depca.c
+17
-18
drivers/net/hp100.c
drivers/net/hp100.c
+6
-6
drivers/net/ibmlana.c
drivers/net/ibmlana.c
+2
-2
drivers/net/irda/smsc-ircc2.c
drivers/net/irda/smsc-ircc2.c
+22
-22
drivers/net/ks8842.c
drivers/net/ks8842.c
+1
-1
drivers/net/ne3210.c
drivers/net/ne3210.c
+6
-9
drivers/net/smc-mca.c
drivers/net/smc-mca.c
+3
-3
drivers/net/tokenring/madgemc.c
drivers/net/tokenring/madgemc.c
+1
-1
drivers/net/tulip/de4x5.c
drivers/net/tulip/de4x5.c
+2
-2
drivers/net/usb/catc.c
drivers/net/usb/catc.c
+1
-1
drivers/net/wireless/ath/ath9k/Kconfig
drivers/net/wireless/ath/ath9k/Kconfig
+0
-1
drivers/net/wireless/ath/ath9k/ar9002_calib.c
drivers/net/wireless/ath/ath9k/ar9002_calib.c
+1
-1
drivers/net/wireless/ath/ath9k/ar9003_phy.c
drivers/net/wireless/ath/ath9k/ar9003_phy.c
+22
-0
drivers/net/wireless/ath/ath9k/hw.c
drivers/net/wireless/ath/ath9k/hw.c
+4
-1
drivers/net/wireless/ath/ath9k/hw.h
drivers/net/wireless/ath/ath9k/hw.h
+2
-0
drivers/net/wireless/ath/ath9k/main.c
drivers/net/wireless/ath/ath9k/main.c
+3
-1
drivers/net/wireless/ath/ath9k/rc.c
drivers/net/wireless/ath/ath9k/rc.c
+2
-1
drivers/net/wireless/b43/phy_n.c
drivers/net/wireless/b43/phy_n.c
+1
-1
drivers/net/wireless/iwlegacy/iwl-4965-lib.c
drivers/net/wireless/iwlegacy/iwl-4965-lib.c
+2
-2
drivers/net/wireless/mwifiex/sdio.h
drivers/net/wireless/mwifiex/sdio.h
+2
-2
drivers/net/wireless/rt2x00/Kconfig
drivers/net/wireless/rt2x00/Kconfig
+0
-1
drivers/net/wireless/rtlwifi/pci.c
drivers/net/wireless/rtlwifi/pci.c
+22
-13
include/net/sctp/command.h
include/net/sctp/command.h
+1
-0
include/net/sctp/structs.h
include/net/sctp/structs.h
+1
-1
net/ipv4/ip_options.c
net/ipv4/ip_options.c
+8
-7
net/mac80211/mlme.c
net/mac80211/mlme.c
+7
-0
net/mac80211/scan.c
net/mac80211/scan.c
+0
-1
net/sctp/associola.c
net/sctp/associola.c
+14
-9
net/sctp/sm_sideeffect.c
net/sctp/sm_sideeffect.c
+3
-0
net/sctp/sm_statefuns.c
net/sctp/sm_statefuns.c
+12
-2
net/wireless/nl80211.c
net/wireless/nl80211.c
+2
-2
未找到文件。
drivers/net/3c509.c
浏览文件 @
e11ec900
...
@@ -185,7 +185,7 @@ static int max_interrupt_work = 10;
...
@@ -185,7 +185,7 @@ static int max_interrupt_work = 10;
static
int
nopnp
;
static
int
nopnp
;
#endif
#endif
static
int
el3_common_init
(
struct
net_device
*
dev
);
static
int
__devinit
el3_common_init
(
struct
net_device
*
dev
);
static
void
el3_common_remove
(
struct
net_device
*
dev
);
static
void
el3_common_remove
(
struct
net_device
*
dev
);
static
ushort
id_read_eeprom
(
int
index
);
static
ushort
id_read_eeprom
(
int
index
);
static
ushort
read_eeprom
(
int
ioaddr
,
int
index
);
static
ushort
read_eeprom
(
int
ioaddr
,
int
index
);
...
@@ -395,7 +395,7 @@ static struct isa_driver el3_isa_driver = {
...
@@ -395,7 +395,7 @@ static struct isa_driver el3_isa_driver = {
static
int
isa_registered
;
static
int
isa_registered
;
#ifdef CONFIG_PNP
#ifdef CONFIG_PNP
static
const
struct
pnp_device_id
el3_pnp_ids
[]
__devinitconst
=
{
static
struct
pnp_device_id
el3_pnp_ids
[]
=
{
{
.
id
=
"TCM5090"
},
/* 3Com Etherlink III (TP) */
{
.
id
=
"TCM5090"
},
/* 3Com Etherlink III (TP) */
{
.
id
=
"TCM5091"
},
/* 3Com Etherlink III */
{
.
id
=
"TCM5091"
},
/* 3Com Etherlink III */
{
.
id
=
"TCM5094"
},
/* 3Com Etherlink III (combo) */
{
.
id
=
"TCM5094"
},
/* 3Com Etherlink III (combo) */
...
@@ -478,7 +478,7 @@ static int pnp_registered;
...
@@ -478,7 +478,7 @@ static int pnp_registered;
#endif
/* CONFIG_PNP */
#endif
/* CONFIG_PNP */
#ifdef CONFIG_EISA
#ifdef CONFIG_EISA
static
const
struct
eisa_device_id
el3_eisa_ids
[]
__devinitconst
=
{
static
struct
eisa_device_id
el3_eisa_ids
[]
=
{
{
"TCM5090"
},
{
"TCM5090"
},
{
"TCM5091"
},
{
"TCM5091"
},
{
"TCM5092"
},
{
"TCM5092"
},
...
@@ -508,7 +508,7 @@ static int eisa_registered;
...
@@ -508,7 +508,7 @@ static int eisa_registered;
#ifdef CONFIG_MCA
#ifdef CONFIG_MCA
static
int
el3_mca_probe
(
struct
device
*
dev
);
static
int
el3_mca_probe
(
struct
device
*
dev
);
static
const
short
el3_mca_adapter_ids
[]
__devinitconst
=
{
static
short
el3_mca_adapter_ids
[]
__initdata
=
{
0x627c
,
0x627c
,
0x627d
,
0x627d
,
0x62db
,
0x62db
,
...
@@ -517,7 +517,7 @@ static const short el3_mca_adapter_ids[] __devinitconst = {
...
@@ -517,7 +517,7 @@ static const short el3_mca_adapter_ids[] __devinitconst = {
0x0000
0x0000
};
};
static
c
onst
char
*
const
el3_mca_adapter_names
[]
__devinitconst
=
{
static
c
har
*
el3_mca_adapter_names
[]
__initdata
=
{
"3Com 3c529 EtherLink III (10base2)"
,
"3Com 3c529 EtherLink III (10base2)"
,
"3Com 3c529 EtherLink III (10baseT)"
,
"3Com 3c529 EtherLink III (10baseT)"
,
"3Com 3c529 EtherLink III (test mode)"
,
"3Com 3c529 EtherLink III (test mode)"
,
...
@@ -601,7 +601,7 @@ static void el3_common_remove (struct net_device *dev)
...
@@ -601,7 +601,7 @@ static void el3_common_remove (struct net_device *dev)
}
}
#ifdef CONFIG_MCA
#ifdef CONFIG_MCA
static
int
__
dev
init
el3_mca_probe
(
struct
device
*
device
)
static
int
__init
el3_mca_probe
(
struct
device
*
device
)
{
{
/* Based on Erik Nygren's (nygren@mit.edu) 3c529 patch,
/* Based on Erik Nygren's (nygren@mit.edu) 3c529 patch,
* heavily modified by Chris Beauregard
* heavily modified by Chris Beauregard
...
@@ -671,7 +671,7 @@ static int __devinit el3_mca_probe(struct device *device)
...
@@ -671,7 +671,7 @@ static int __devinit el3_mca_probe(struct device *device)
#endif
/* CONFIG_MCA */
#endif
/* CONFIG_MCA */
#ifdef CONFIG_EISA
#ifdef CONFIG_EISA
static
int
__
dev
init
el3_eisa_probe
(
struct
device
*
device
)
static
int
__init
el3_eisa_probe
(
struct
device
*
device
)
{
{
short
i
;
short
i
;
int
ioaddr
,
irq
,
if_port
;
int
ioaddr
,
irq
,
if_port
;
...
...
drivers/net/3c59x.c
浏览文件 @
e11ec900
...
@@ -901,14 +901,14 @@ static const struct dev_pm_ops vortex_pm_ops = {
...
@@ -901,14 +901,14 @@ static const struct dev_pm_ops vortex_pm_ops = {
#endif
/* !CONFIG_PM */
#endif
/* !CONFIG_PM */
#ifdef CONFIG_EISA
#ifdef CONFIG_EISA
static
const
struct
eisa_device_id
vortex_eisa_ids
[]
__devinitconst
=
{
static
struct
eisa_device_id
vortex_eisa_ids
[]
=
{
{
"TCM5920"
,
CH_3C592
},
{
"TCM5920"
,
CH_3C592
},
{
"TCM5970"
,
CH_3C597
},
{
"TCM5970"
,
CH_3C597
},
{
""
}
{
""
}
};
};
MODULE_DEVICE_TABLE
(
eisa
,
vortex_eisa_ids
);
MODULE_DEVICE_TABLE
(
eisa
,
vortex_eisa_ids
);
static
int
__
dev
init
vortex_eisa_probe
(
struct
device
*
device
)
static
int
__init
vortex_eisa_probe
(
struct
device
*
device
)
{
{
void
__iomem
*
ioaddr
;
void
__iomem
*
ioaddr
;
struct
eisa_device
*
edev
;
struct
eisa_device
*
edev
;
...
...
drivers/net/depca.c
浏览文件 @
e11ec900
...
@@ -331,18 +331,18 @@ static struct {
...
@@ -331,18 +331,18 @@ static struct {
"DE422",\
"DE422",\
""}
""}
static
c
onst
char
*
const
depca_signature
[]
__devinitconst
=
DEPCA_SIGNATURE
;
static
c
har
*
__initdata
depca_signature
[]
=
DEPCA_SIGNATURE
;
enum
depca_type
{
enum
depca_type
{
DEPCA
,
de100
,
de101
,
de200
,
de201
,
de202
,
de210
,
de212
,
de422
,
unknown
DEPCA
,
de100
,
de101
,
de200
,
de201
,
de202
,
de210
,
de212
,
de422
,
unknown
};
};
static
c
onst
c
har
depca_string
[]
=
"depca"
;
static
char
depca_string
[]
=
"depca"
;
static
int
depca_device_remove
(
struct
device
*
device
);
static
int
depca_device_remove
(
struct
device
*
device
);
#ifdef CONFIG_EISA
#ifdef CONFIG_EISA
static
const
struct
eisa_device_id
depca_eisa_ids
[]
__devinitconst
=
{
static
struct
eisa_device_id
depca_eisa_ids
[]
=
{
{
"DEC4220"
,
de422
},
{
"DEC4220"
,
de422
},
{
""
}
{
""
}
};
};
...
@@ -367,19 +367,19 @@ static struct eisa_driver depca_eisa_driver = {
...
@@ -367,19 +367,19 @@ static struct eisa_driver depca_eisa_driver = {
#define DE210_ID 0x628d
#define DE210_ID 0x628d
#define DE212_ID 0x6def
#define DE212_ID 0x6def
static
const
short
depca_mca_adapter_ids
[]
__devinitconst
=
{
static
short
depca_mca_adapter_ids
[]
=
{
DE210_ID
,
DE210_ID
,
DE212_ID
,
DE212_ID
,
0x0000
0x0000
};
};
static
c
onst
c
har
*
depca_mca_adapter_name
[]
=
{
static
char
*
depca_mca_adapter_name
[]
=
{
"DEC EtherWORKS MC Adapter (DE210)"
,
"DEC EtherWORKS MC Adapter (DE210)"
,
"DEC EtherWORKS MC Adapter (DE212)"
,
"DEC EtherWORKS MC Adapter (DE212)"
,
NULL
NULL
};
};
static
const
enum
depca_type
depca_mca_adapter_type
[]
=
{
static
enum
depca_type
depca_mca_adapter_type
[]
=
{
de210
,
de210
,
de212
,
de212
,
0
0
...
@@ -541,9 +541,10 @@ static void SetMulticastFilter(struct net_device *dev);
...
@@ -541,9 +541,10 @@ static void SetMulticastFilter(struct net_device *dev);
static
int
load_packet
(
struct
net_device
*
dev
,
struct
sk_buff
*
skb
);
static
int
load_packet
(
struct
net_device
*
dev
,
struct
sk_buff
*
skb
);
static
void
depca_dbg_open
(
struct
net_device
*
dev
);
static
void
depca_dbg_open
(
struct
net_device
*
dev
);
static
const
u_char
de1xx_irq
[]
__devinitconst
=
{
2
,
3
,
4
,
5
,
7
,
9
,
0
};
static
u_char
de1xx_irq
[]
__initdata
=
{
2
,
3
,
4
,
5
,
7
,
9
,
0
};
static
const
u_char
de2xx_irq
[]
__devinitconst
=
{
5
,
9
,
10
,
11
,
15
,
0
};
static
u_char
de2xx_irq
[]
__initdata
=
{
5
,
9
,
10
,
11
,
15
,
0
};
static
const
u_char
de422_irq
[]
__devinitconst
=
{
5
,
9
,
10
,
11
,
0
};
static
u_char
de422_irq
[]
__initdata
=
{
5
,
9
,
10
,
11
,
0
};
static
u_char
*
depca_irq
;
static
int
irq
;
static
int
irq
;
static
int
io
;
static
int
io
;
...
@@ -579,7 +580,7 @@ static const struct net_device_ops depca_netdev_ops = {
...
@@ -579,7 +580,7 @@ static const struct net_device_ops depca_netdev_ops = {
.
ndo_validate_addr
=
eth_validate_addr
,
.
ndo_validate_addr
=
eth_validate_addr
,
};
};
static
int
__
dev
init
depca_hw_init
(
struct
net_device
*
dev
,
struct
device
*
device
)
static
int
__init
depca_hw_init
(
struct
net_device
*
dev
,
struct
device
*
device
)
{
{
struct
depca_private
*
lp
;
struct
depca_private
*
lp
;
int
i
,
j
,
offset
,
netRAM
,
mem_len
,
status
=
0
;
int
i
,
j
,
offset
,
netRAM
,
mem_len
,
status
=
0
;
...
@@ -747,7 +748,6 @@ static int __devinit depca_hw_init (struct net_device *dev, struct device *devic
...
@@ -747,7 +748,6 @@ static int __devinit depca_hw_init (struct net_device *dev, struct device *devic
if
(
dev
->
irq
<
2
)
{
if
(
dev
->
irq
<
2
)
{
unsigned
char
irqnum
;
unsigned
char
irqnum
;
unsigned
long
irq_mask
,
delay
;
unsigned
long
irq_mask
,
delay
;
const
u_char
*
depca_irq
;
irq_mask
=
probe_irq_on
();
irq_mask
=
probe_irq_on
();
...
@@ -770,7 +770,6 @@ static int __devinit depca_hw_init (struct net_device *dev, struct device *devic
...
@@ -770,7 +770,6 @@ static int __devinit depca_hw_init (struct net_device *dev, struct device *devic
break
;
break
;
default:
default:
depca_irq
=
NULL
;
break
;
/* Not reached */
break
;
/* Not reached */
}
}
...
@@ -1303,7 +1302,7 @@ static void SetMulticastFilter(struct net_device *dev)
...
@@ -1303,7 +1302,7 @@ static void SetMulticastFilter(struct net_device *dev)
}
}
}
}
static
int
__
dev
init
depca_common_init
(
u_long
ioaddr
,
struct
net_device
**
devp
)
static
int
__init
depca_common_init
(
u_long
ioaddr
,
struct
net_device
**
devp
)
{
{
int
status
=
0
;
int
status
=
0
;
...
@@ -1334,7 +1333,7 @@ static int __devinit depca_common_init (u_long ioaddr, struct net_device **devp)
...
@@ -1334,7 +1333,7 @@ static int __devinit depca_common_init (u_long ioaddr, struct net_device **devp)
/*
/*
** Microchannel bus I/O device probe
** Microchannel bus I/O device probe
*/
*/
static
int
__
dev
init
depca_mca_probe
(
struct
device
*
device
)
static
int
__init
depca_mca_probe
(
struct
device
*
device
)
{
{
unsigned
char
pos
[
2
];
unsigned
char
pos
[
2
];
unsigned
char
where
;
unsigned
char
where
;
...
@@ -1458,7 +1457,7 @@ static int __devinit depca_mca_probe(struct device *device)
...
@@ -1458,7 +1457,7 @@ static int __devinit depca_mca_probe(struct device *device)
** ISA bus I/O device probe
** ISA bus I/O device probe
*/
*/
static
void
__
dev
init
depca_platform_probe
(
void
)
static
void
__init
depca_platform_probe
(
void
)
{
{
int
i
;
int
i
;
struct
platform_device
*
pldev
;
struct
platform_device
*
pldev
;
...
@@ -1498,7 +1497,7 @@ static void __devinit depca_platform_probe (void)
...
@@ -1498,7 +1497,7 @@ static void __devinit depca_platform_probe (void)
}
}
}
}
static
enum
depca_type
__
dev
init
depca_shmem_probe
(
ulong
*
mem_start
)
static
enum
depca_type
__init
depca_shmem_probe
(
ulong
*
mem_start
)
{
{
u_long
mem_base
[]
=
DEPCA_RAM_BASE_ADDRESSES
;
u_long
mem_base
[]
=
DEPCA_RAM_BASE_ADDRESSES
;
enum
depca_type
adapter
=
unknown
;
enum
depca_type
adapter
=
unknown
;
...
@@ -1559,7 +1558,7 @@ static int __devinit depca_isa_probe (struct platform_device *device)
...
@@ -1559,7 +1558,7 @@ static int __devinit depca_isa_probe (struct platform_device *device)
*/
*/
#ifdef CONFIG_EISA
#ifdef CONFIG_EISA
static
int
__
dev
init
depca_eisa_probe
(
struct
device
*
device
)
static
int
__init
depca_eisa_probe
(
struct
device
*
device
)
{
{
enum
depca_type
adapter
=
unknown
;
enum
depca_type
adapter
=
unknown
;
struct
eisa_device
*
edev
;
struct
eisa_device
*
edev
;
...
@@ -1630,7 +1629,7 @@ static int __devexit depca_device_remove (struct device *device)
...
@@ -1630,7 +1629,7 @@ static int __devexit depca_device_remove (struct device *device)
** and Boot (readb) ROM. This will also give us a clue to the network RAM
** and Boot (readb) ROM. This will also give us a clue to the network RAM
** base address.
** base address.
*/
*/
static
int
__
dev
init
DepcaSignature
(
char
*
name
,
u_long
base_addr
)
static
int
__init
DepcaSignature
(
char
*
name
,
u_long
base_addr
)
{
{
u_int
i
,
j
,
k
;
u_int
i
,
j
,
k
;
void
__iomem
*
ptr
;
void
__iomem
*
ptr
;
...
...
drivers/net/hp100.c
浏览文件 @
e11ec900
...
@@ -188,14 +188,14 @@ struct hp100_private {
...
@@ -188,14 +188,14 @@ struct hp100_private {
* variables
* variables
*/
*/
#ifdef CONFIG_ISA
#ifdef CONFIG_ISA
static
const
char
*
const
hp100_isa_tbl
[]
__devinitconst
=
{
static
const
char
*
hp100_isa_tbl
[]
=
{
"HWPF150"
,
/* HP J2573 rev A */
"HWPF150"
,
/* HP J2573 rev A */
"HWP1950"
,
/* HP J2573 */
"HWP1950"
,
/* HP J2573 */
};
};
#endif
#endif
#ifdef CONFIG_EISA
#ifdef CONFIG_EISA
static
const
struct
eisa_device_id
hp100_eisa_tbl
[]
__devinitconst
=
{
static
struct
eisa_device_id
hp100_eisa_tbl
[]
=
{
{
"HWPF180"
},
/* HP J2577 rev A */
{
"HWPF180"
},
/* HP J2577 rev A */
{
"HWP1920"
},
/* HP 27248B */
{
"HWP1920"
},
/* HP 27248B */
{
"HWP1940"
},
/* HP J2577 */
{
"HWP1940"
},
/* HP J2577 */
...
@@ -336,7 +336,7 @@ static __devinit const char *hp100_read_id(int ioaddr)
...
@@ -336,7 +336,7 @@ static __devinit const char *hp100_read_id(int ioaddr)
}
}
#ifdef CONFIG_ISA
#ifdef CONFIG_ISA
static
__
dev
init
int
hp100_isa_probe1
(
struct
net_device
*
dev
,
int
ioaddr
)
static
__init
int
hp100_isa_probe1
(
struct
net_device
*
dev
,
int
ioaddr
)
{
{
const
char
*
sig
;
const
char
*
sig
;
int
i
;
int
i
;
...
@@ -372,7 +372,7 @@ static __devinit int hp100_isa_probe1(struct net_device *dev, int ioaddr)
...
@@ -372,7 +372,7 @@ static __devinit int hp100_isa_probe1(struct net_device *dev, int ioaddr)
* EISA and PCI are handled by device infrastructure.
* EISA and PCI are handled by device infrastructure.
*/
*/
static
int
__
dev
init
hp100_isa_probe
(
struct
net_device
*
dev
,
int
addr
)
static
int
__init
hp100_isa_probe
(
struct
net_device
*
dev
,
int
addr
)
{
{
int
err
=
-
ENODEV
;
int
err
=
-
ENODEV
;
...
@@ -396,7 +396,7 @@ static int __devinit hp100_isa_probe(struct net_device *dev, int addr)
...
@@ -396,7 +396,7 @@ static int __devinit hp100_isa_probe(struct net_device *dev, int addr)
#endif
/* CONFIG_ISA */
#endif
/* CONFIG_ISA */
#if !defined(MODULE) && defined(CONFIG_ISA)
#if !defined(MODULE) && defined(CONFIG_ISA)
struct
net_device
*
__
dev
init
hp100_probe
(
int
unit
)
struct
net_device
*
__init
hp100_probe
(
int
unit
)
{
{
struct
net_device
*
dev
=
alloc_etherdev
(
sizeof
(
struct
hp100_private
));
struct
net_device
*
dev
=
alloc_etherdev
(
sizeof
(
struct
hp100_private
));
int
err
;
int
err
;
...
@@ -2843,7 +2843,7 @@ static void cleanup_dev(struct net_device *d)
...
@@ -2843,7 +2843,7 @@ static void cleanup_dev(struct net_device *d)
}
}
#ifdef CONFIG_EISA
#ifdef CONFIG_EISA
static
int
__
dev
init
hp100_eisa_probe
(
struct
device
*
gendev
)
static
int
__init
hp100_eisa_probe
(
struct
device
*
gendev
)
{
{
struct
net_device
*
dev
=
alloc_etherdev
(
sizeof
(
struct
hp100_private
));
struct
net_device
*
dev
=
alloc_etherdev
(
sizeof
(
struct
hp100_private
));
struct
eisa_device
*
edev
=
to_eisa_device
(
gendev
);
struct
eisa_device
*
edev
=
to_eisa_device
(
gendev
);
...
...
drivers/net/ibmlana.c
浏览文件 @
e11ec900
...
@@ -895,12 +895,12 @@ static int ibmlana_irq;
...
@@ -895,12 +895,12 @@ static int ibmlana_irq;
static
int
ibmlana_io
;
static
int
ibmlana_io
;
static
int
startslot
;
/* counts through slots when probing multiple devices */
static
int
startslot
;
/* counts through slots when probing multiple devices */
static
const
short
ibmlana_adapter_ids
[]
__devinitconst
=
{
static
short
ibmlana_adapter_ids
[]
__initdata
=
{
IBM_LANA_ID
,
IBM_LANA_ID
,
0x0000
0x0000
};
};
static
c
onst
char
*
const
ibmlana_adapter_names
[]
__devinitconst
=
{
static
c
har
*
ibmlana_adapter_names
[]
__devinitdata
=
{
"IBM LAN Adapter/A"
,
"IBM LAN Adapter/A"
,
NULL
NULL
};
};
...
...
drivers/net/irda/smsc-ircc2.c
浏览文件 @
e11ec900
...
@@ -222,19 +222,19 @@ static void smsc_ircc_set_transceiver_for_speed(struct smsc_ircc_cb *self, u32 s
...
@@ -222,19 +222,19 @@ static void smsc_ircc_set_transceiver_for_speed(struct smsc_ircc_cb *self, u32 s
static
void
smsc_ircc_sir_wait_hw_transmitter_finish
(
struct
smsc_ircc_cb
*
self
);
static
void
smsc_ircc_sir_wait_hw_transmitter_finish
(
struct
smsc_ircc_cb
*
self
);
/* Probing */
/* Probing */
static
int
smsc_ircc_look_for_chips
(
void
);
static
int
__init
smsc_ircc_look_for_chips
(
void
);
static
const
struct
smsc_chip
*
smsc_ircc_probe
(
unsigned
short
cfg_base
,
u8
reg
,
const
struct
smsc_chip
*
chip
,
char
*
type
);
static
const
struct
smsc_chip
*
__init
smsc_ircc_probe
(
unsigned
short
cfg_base
,
u8
reg
,
const
struct
smsc_chip
*
chip
,
char
*
type
);
static
int
smsc_superio_flat
(
const
struct
smsc_chip
*
chips
,
unsigned
short
cfg_base
,
char
*
type
);
static
int
__init
smsc_superio_flat
(
const
struct
smsc_chip
*
chips
,
unsigned
short
cfg_base
,
char
*
type
);
static
int
smsc_superio_paged
(
const
struct
smsc_chip
*
chips
,
unsigned
short
cfg_base
,
char
*
type
);
static
int
__init
smsc_superio_paged
(
const
struct
smsc_chip
*
chips
,
unsigned
short
cfg_base
,
char
*
type
);
static
int
smsc_superio_fdc
(
unsigned
short
cfg_base
);
static
int
__init
smsc_superio_fdc
(
unsigned
short
cfg_base
);
static
int
smsc_superio_lpc
(
unsigned
short
cfg_base
);
static
int
__init
smsc_superio_lpc
(
unsigned
short
cfg_base
);
#ifdef CONFIG_PCI
#ifdef CONFIG_PCI
static
int
preconfigure_smsc_chip
(
struct
smsc_ircc_subsystem_configuration
*
conf
);
static
int
__init
preconfigure_smsc_chip
(
struct
smsc_ircc_subsystem_configuration
*
conf
);
static
int
preconfigure_through_82801
(
struct
pci_dev
*
dev
,
struct
smsc_ircc_subsystem_configuration
*
conf
);
static
int
__init
preconfigure_through_82801
(
struct
pci_dev
*
dev
,
struct
smsc_ircc_subsystem_configuration
*
conf
);
static
void
preconfigure_ali_port
(
struct
pci_dev
*
dev
,
static
void
__init
preconfigure_ali_port
(
struct
pci_dev
*
dev
,
unsigned
short
port
);
unsigned
short
port
);
static
int
preconfigure_through_ali
(
struct
pci_dev
*
dev
,
struct
smsc_ircc_subsystem_configuration
*
conf
);
static
int
__init
preconfigure_through_ali
(
struct
pci_dev
*
dev
,
struct
smsc_ircc_subsystem_configuration
*
conf
);
static
int
smsc_ircc_preconfigure_subsystems
(
unsigned
short
ircc_cfg
,
static
int
__init
smsc_ircc_preconfigure_subsystems
(
unsigned
short
ircc_cfg
,
unsigned
short
ircc_fir
,
unsigned
short
ircc_fir
,
unsigned
short
ircc_sir
,
unsigned
short
ircc_sir
,
unsigned
char
ircc_dma
,
unsigned
char
ircc_dma
,
...
@@ -366,7 +366,7 @@ static inline void register_bank(int iobase, int bank)
...
@@ -366,7 +366,7 @@ static inline void register_bank(int iobase, int bank)
}
}
/* PNP hotplug support */
/* PNP hotplug support */
static
const
struct
pnp_device_id
smsc_ircc_pnp_table
[]
__devinitconst
=
{
static
const
struct
pnp_device_id
smsc_ircc_pnp_table
[]
=
{
{
.
id
=
"SMCf010"
,
.
driver_data
=
0
},
{
.
id
=
"SMCf010"
,
.
driver_data
=
0
},
/* and presumably others */
/* and presumably others */
{
}
{
}
...
@@ -515,7 +515,7 @@ static const struct net_device_ops smsc_ircc_netdev_ops = {
...
@@ -515,7 +515,7 @@ static const struct net_device_ops smsc_ircc_netdev_ops = {
* Try to open driver instance
* Try to open driver instance
*
*
*/
*/
static
int
__
dev
init
smsc_ircc_open
(
unsigned
int
fir_base
,
unsigned
int
sir_base
,
u8
dma
,
u8
irq
)
static
int
__init
smsc_ircc_open
(
unsigned
int
fir_base
,
unsigned
int
sir_base
,
u8
dma
,
u8
irq
)
{
{
struct
smsc_ircc_cb
*
self
;
struct
smsc_ircc_cb
*
self
;
struct
net_device
*
dev
;
struct
net_device
*
dev
;
...
@@ -2273,7 +2273,7 @@ static int __init smsc_superio_paged(const struct smsc_chip *chips, unsigned sho
...
@@ -2273,7 +2273,7 @@ static int __init smsc_superio_paged(const struct smsc_chip *chips, unsigned sho
}
}
static
int
__
dev
init
smsc_access
(
unsigned
short
cfg_base
,
unsigned
char
reg
)
static
int
__init
smsc_access
(
unsigned
short
cfg_base
,
unsigned
char
reg
)
{
{
IRDA_DEBUG
(
1
,
"%s
\n
"
,
__func__
);
IRDA_DEBUG
(
1
,
"%s
\n
"
,
__func__
);
...
@@ -2281,7 +2281,7 @@ static int __devinit smsc_access(unsigned short cfg_base, unsigned char reg)
...
@@ -2281,7 +2281,7 @@ static int __devinit smsc_access(unsigned short cfg_base, unsigned char reg)
return
inb
(
cfg_base
)
!=
reg
?
-
1
:
0
;
return
inb
(
cfg_base
)
!=
reg
?
-
1
:
0
;
}
}
static
const
struct
smsc_chip
*
__
dev
init
smsc_ircc_probe
(
unsigned
short
cfg_base
,
u8
reg
,
const
struct
smsc_chip
*
chip
,
char
*
type
)
static
const
struct
smsc_chip
*
__init
smsc_ircc_probe
(
unsigned
short
cfg_base
,
u8
reg
,
const
struct
smsc_chip
*
chip
,
char
*
type
)
{
{
u8
devid
,
xdevid
,
rev
;
u8
devid
,
xdevid
,
rev
;
...
@@ -2406,7 +2406,7 @@ static int __init smsc_superio_lpc(unsigned short cfg_base)
...
@@ -2406,7 +2406,7 @@ static int __init smsc_superio_lpc(unsigned short cfg_base)
#ifdef CONFIG_PCI
#ifdef CONFIG_PCI
#define PCIID_VENDOR_INTEL 0x8086
#define PCIID_VENDOR_INTEL 0x8086
#define PCIID_VENDOR_ALI 0x10b9
#define PCIID_VENDOR_ALI 0x10b9
static
const
struct
smsc_ircc_subsystem_configuration
subsystem_configurations
[]
__devinitconst
=
{
static
struct
smsc_ircc_subsystem_configuration
subsystem_configurations
[]
__initdata
=
{
/*
/*
* Subsystems needing entries:
* Subsystems needing entries:
* 0x10b9:0x1533 0x103c:0x0850 HP nx9010 family
* 0x10b9:0x1533 0x103c:0x0850 HP nx9010 family
...
@@ -2532,7 +2532,7 @@ static const struct smsc_ircc_subsystem_configuration subsystem_configurations[]
...
@@ -2532,7 +2532,7 @@ static const struct smsc_ircc_subsystem_configuration subsystem_configurations[]
* (FIR port, SIR port, FIR DMA, FIR IRQ)
* (FIR port, SIR port, FIR DMA, FIR IRQ)
* through the chip configuration port.
* through the chip configuration port.
*/
*/
static
int
__
dev
init
preconfigure_smsc_chip
(
struct
static
int
__init
preconfigure_smsc_chip
(
struct
smsc_ircc_subsystem_configuration
smsc_ircc_subsystem_configuration
*
conf
)
*
conf
)
{
{
...
@@ -2633,7 +2633,7 @@ static int __devinit preconfigure_smsc_chip(struct
...
@@ -2633,7 +2633,7 @@ static int __devinit preconfigure_smsc_chip(struct
* or Intel 82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge.
* or Intel 82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge.
* They all work the same way!
* They all work the same way!
*/
*/
static
int
__
dev
init
preconfigure_through_82801
(
struct
pci_dev
*
dev
,
static
int
__init
preconfigure_through_82801
(
struct
pci_dev
*
dev
,
struct
struct
smsc_ircc_subsystem_configuration
smsc_ircc_subsystem_configuration
*
conf
)
*
conf
)
...
@@ -2786,7 +2786,7 @@ static int __devinit preconfigure_through_82801(struct pci_dev *dev,
...
@@ -2786,7 +2786,7 @@ static int __devinit preconfigure_through_82801(struct pci_dev *dev,
* This is based on reverse-engineering since ALi does not
* This is based on reverse-engineering since ALi does not
* provide any data sheet for the 1533 chip.
* provide any data sheet for the 1533 chip.
*/
*/
static
void
__
dev
init
preconfigure_ali_port
(
struct
pci_dev
*
dev
,
static
void
__init
preconfigure_ali_port
(
struct
pci_dev
*
dev
,
unsigned
short
port
)
unsigned
short
port
)
{
{
unsigned
char
reg
;
unsigned
char
reg
;
...
@@ -2824,7 +2824,7 @@ static void __devinit preconfigure_ali_port(struct pci_dev *dev,
...
@@ -2824,7 +2824,7 @@ static void __devinit preconfigure_ali_port(struct pci_dev *dev,
IRDA_MESSAGE
(
"Activated ALi 1533 ISA bridge port 0x%04x.
\n
"
,
port
);
IRDA_MESSAGE
(
"Activated ALi 1533 ISA bridge port 0x%04x.
\n
"
,
port
);
}
}
static
int
__
dev
init
preconfigure_through_ali
(
struct
pci_dev
*
dev
,
static
int
__init
preconfigure_through_ali
(
struct
pci_dev
*
dev
,
struct
struct
smsc_ircc_subsystem_configuration
smsc_ircc_subsystem_configuration
*
conf
)
*
conf
)
...
@@ -2837,7 +2837,7 @@ static int __devinit preconfigure_through_ali(struct pci_dev *dev,
...
@@ -2837,7 +2837,7 @@ static int __devinit preconfigure_through_ali(struct pci_dev *dev,
return
preconfigure_smsc_chip
(
conf
);
return
preconfigure_smsc_chip
(
conf
);
}
}
static
int
__
dev
init
smsc_ircc_preconfigure_subsystems
(
unsigned
short
ircc_cfg
,
static
int
__init
smsc_ircc_preconfigure_subsystems
(
unsigned
short
ircc_cfg
,
unsigned
short
ircc_fir
,
unsigned
short
ircc_fir
,
unsigned
short
ircc_sir
,
unsigned
short
ircc_sir
,
unsigned
char
ircc_dma
,
unsigned
char
ircc_dma
,
...
@@ -2849,7 +2849,7 @@ static int __devinit smsc_ircc_preconfigure_subsystems(unsigned short ircc_cfg,
...
@@ -2849,7 +2849,7 @@ static int __devinit smsc_ircc_preconfigure_subsystems(unsigned short ircc_cfg,
int
ret
=
0
;
int
ret
=
0
;
for_each_pci_dev
(
dev
)
{
for_each_pci_dev
(
dev
)
{
const
struct
smsc_ircc_subsystem_configuration
*
conf
;
struct
smsc_ircc_subsystem_configuration
*
conf
;
/*
/*
* Cache the subsystem vendor/device:
* Cache the subsystem vendor/device:
...
...
drivers/net/ks8842.c
浏览文件 @
e11ec900
...
@@ -661,7 +661,7 @@ static void ks8842_rx_frame(struct net_device *netdev,
...
@@ -661,7 +661,7 @@ static void ks8842_rx_frame(struct net_device *netdev,
/* check the status */
/* check the status */
if
((
status
&
RXSR_VALID
)
&&
!
(
status
&
RXSR_ERROR
))
{
if
((
status
&
RXSR_VALID
)
&&
!
(
status
&
RXSR_ERROR
))
{
struct
sk_buff
*
skb
=
netdev_alloc_skb_ip_align
(
netdev
,
len
);
struct
sk_buff
*
skb
=
netdev_alloc_skb_ip_align
(
netdev
,
len
+
3
);
if
(
skb
)
{
if
(
skb
)
{
...
...
drivers/net/ne3210.c
浏览文件 @
e11ec900
...
@@ -80,20 +80,17 @@ static void ne3210_block_output(struct net_device *dev, int count, const unsigne
...
@@ -80,20 +80,17 @@ static void ne3210_block_output(struct net_device *dev, int count, const unsigne
#define NE3210_DEBUG 0x0
#define NE3210_DEBUG 0x0
static
const
unsigned
char
irq_map
[]
__devinitconst
=
static
unsigned
char
irq_map
[]
__initdata
=
{
15
,
12
,
11
,
10
,
9
,
7
,
5
,
3
};
{
15
,
12
,
11
,
10
,
9
,
7
,
5
,
3
};
static
unsigned
int
shmem_map
[]
__initdata
=
{
0xff0
,
0xfe0
,
0xfff0
,
0xd8
,
0xffe0
,
0xffc0
,
0xd0
,
0x0
};
static
const
unsigned
int
shmem_map
[]
__devinitconst
=
static
const
char
*
ifmap
[]
__initdata
=
{
"UTP"
,
"?"
,
"BNC"
,
"AUI"
};
{
0xff0
,
0xfe0
,
0xfff0
,
0xd8
,
0xffe0
,
0xffc0
,
0xd0
,
0x0
};
static
int
ifmap_val
[]
__initdata
=
{
static
const
char
*
const
ifmap
[]
__devinitconst
=
{
"UTP"
,
"?"
,
"BNC"
,
"AUI"
};
static
const
int
ifmap_val
[]
__devinitconst
=
{
IF_PORT_10BASET
,
IF_PORT_10BASET
,
IF_PORT_UNKNOWN
,
IF_PORT_UNKNOWN
,
IF_PORT_10BASE2
,
IF_PORT_10BASE2
,
IF_PORT_AUI
,
IF_PORT_AUI
,
};
};
static
int
__
dev
init
ne3210_eisa_probe
(
struct
device
*
device
)
static
int
__init
ne3210_eisa_probe
(
struct
device
*
device
)
{
{
unsigned
long
ioaddr
,
phys_mem
;
unsigned
long
ioaddr
,
phys_mem
;
int
i
,
retval
,
port_index
;
int
i
,
retval
,
port_index
;
...
@@ -316,7 +313,7 @@ static void ne3210_block_output(struct net_device *dev, int count,
...
@@ -316,7 +313,7 @@ static void ne3210_block_output(struct net_device *dev, int count,
memcpy_toio
(
shmem
,
buf
,
count
);
memcpy_toio
(
shmem
,
buf
,
count
);
}
}
static
const
struct
eisa_device_id
ne3210_ids
[]
__devinitconst
=
{
static
struct
eisa_device_id
ne3210_ids
[]
=
{
{
"EGL0101"
},
{
"EGL0101"
},
{
"NVL1801"
},
{
"NVL1801"
},
{
""
},
{
""
},
...
...
drivers/net/smc-mca.c
浏览文件 @
e11ec900
...
@@ -156,7 +156,7 @@ static const struct {
...
@@ -156,7 +156,7 @@ static const struct {
{
14
,
15
}
{
14
,
15
}
};
};
static
const
short
smc_mca_adapter_ids
[]
__devinitconst
=
{
static
short
smc_mca_adapter_ids
[]
__initdata
=
{
0x61c8
,
0x61c8
,
0x61c9
,
0x61c9
,
0x6fc0
,
0x6fc0
,
...
@@ -168,7 +168,7 @@ static const short smc_mca_adapter_ids[] __devinitconst = {
...
@@ -168,7 +168,7 @@ static const short smc_mca_adapter_ids[] __devinitconst = {
0x0000
0x0000
};
};
static
c
onst
char
*
const
smc_mca_adapter_names
[]
__devinitconst
=
{
static
c
har
*
smc_mca_adapter_names
[]
__initdata
=
{
"SMC Ethercard PLUS Elite/A BNC/AUI (WD8013EP/A)"
,
"SMC Ethercard PLUS Elite/A BNC/AUI (WD8013EP/A)"
,
"SMC Ethercard PLUS Elite/A UTP/AUI (WD8013WP/A)"
,
"SMC Ethercard PLUS Elite/A UTP/AUI (WD8013WP/A)"
,
"WD Ethercard PLUS/A (WD8003E/A or WD8003ET/A)"
,
"WD Ethercard PLUS/A (WD8003E/A or WD8003ET/A)"
,
...
@@ -199,7 +199,7 @@ static const struct net_device_ops ultramca_netdev_ops = {
...
@@ -199,7 +199,7 @@ static const struct net_device_ops ultramca_netdev_ops = {
#endif
#endif
};
};
static
int
__
dev
init
ultramca_probe
(
struct
device
*
gen_dev
)
static
int
__init
ultramca_probe
(
struct
device
*
gen_dev
)
{
{
unsigned
short
ioaddr
;
unsigned
short
ioaddr
;
struct
net_device
*
dev
;
struct
net_device
*
dev
;
...
...
drivers/net/tokenring/madgemc.c
浏览文件 @
e11ec900
...
@@ -727,7 +727,7 @@ static int __devexit madgemc_remove(struct device *device)
...
@@ -727,7 +727,7 @@ static int __devexit madgemc_remove(struct device *device)
return
0
;
return
0
;
}
}
static
const
short
madgemc_adapter_ids
[]
__devinitconst
=
{
static
short
madgemc_adapter_ids
[]
__initdata
=
{
0x002d
,
0x002d
,
0x0000
0x0000
};
};
...
...
drivers/net/tulip/de4x5.c
浏览文件 @
e11ec900
...
@@ -1995,7 +1995,7 @@ SetMulticastFilter(struct net_device *dev)
...
@@ -1995,7 +1995,7 @@ SetMulticastFilter(struct net_device *dev)
static
u_char
de4x5_irq
[]
=
EISA_ALLOWED_IRQ_LIST
;
static
u_char
de4x5_irq
[]
=
EISA_ALLOWED_IRQ_LIST
;
static
int
__
dev
init
de4x5_eisa_probe
(
struct
device
*
gendev
)
static
int
__init
de4x5_eisa_probe
(
struct
device
*
gendev
)
{
{
struct
eisa_device
*
edev
;
struct
eisa_device
*
edev
;
u_long
iobase
;
u_long
iobase
;
...
@@ -2097,7 +2097,7 @@ static int __devexit de4x5_eisa_remove (struct device *device)
...
@@ -2097,7 +2097,7 @@ static int __devexit de4x5_eisa_remove (struct device *device)
return
0
;
return
0
;
}
}
static
const
struct
eisa_device_id
de4x5_eisa_ids
[]
__devinitconst
=
{
static
struct
eisa_device_id
de4x5_eisa_ids
[]
=
{
{
"DEC4250"
,
0
},
/* 0 is the board name index... */
{
"DEC4250"
,
0
},
/* 0 is the board name index... */
{
""
}
{
""
}
};
};
...
...
drivers/net/usb/catc.c
浏览文件 @
e11ec900
...
@@ -495,7 +495,7 @@ static void catc_ctrl_run(struct catc *catc)
...
@@ -495,7 +495,7 @@ static void catc_ctrl_run(struct catc *catc)
if
(
!
q
->
dir
&&
q
->
buf
&&
q
->
len
)
if
(
!
q
->
dir
&&
q
->
buf
&&
q
->
len
)
memcpy
(
catc
->
ctrl_buf
,
q
->
buf
,
q
->
len
);
memcpy
(
catc
->
ctrl_buf
,
q
->
buf
,
q
->
len
);
if
((
status
=
usb_submit_urb
(
catc
->
ctrl_urb
,
GFP_
KERNEL
)))
if
((
status
=
usb_submit_urb
(
catc
->
ctrl_urb
,
GFP_
ATOMIC
)))
err
(
"submit(ctrl_urb) status %d"
,
status
);
err
(
"submit(ctrl_urb) status %d"
,
status
);
}
}
...
...
drivers/net/wireless/ath/ath9k/Kconfig
浏览文件 @
e11ec900
...
@@ -26,7 +26,6 @@ config ATH9K
...
@@ -26,7 +26,6 @@ config ATH9K
config ATH9K_PCI
config ATH9K_PCI
bool "Atheros ath9k PCI/PCIe bus support"
bool "Atheros ath9k PCI/PCIe bus support"
depends on ATH9K && PCI
depends on ATH9K && PCI
default PCI
---help---
---help---
This option enables the PCI bus support in ath9k.
This option enables the PCI bus support in ath9k.
...
...
drivers/net/wireless/ath/ath9k/ar9002_calib.c
浏览文件 @
e11ec900
...
@@ -829,7 +829,7 @@ static bool ar9002_hw_init_cal(struct ath_hw *ah, struct ath9k_channel *chan)
...
@@ -829,7 +829,7 @@ static bool ar9002_hw_init_cal(struct ath_hw *ah, struct ath9k_channel *chan)
if
(
AR_SREV_9271
(
ah
))
{
if
(
AR_SREV_9271
(
ah
))
{
if
(
!
ar9285_hw_cl_cal
(
ah
,
chan
))
if
(
!
ar9285_hw_cl_cal
(
ah
,
chan
))
return
false
;
return
false
;
}
else
if
(
AR_SREV_9285_12_OR_LATER
(
ah
))
{
}
else
if
(
AR_SREV_9285
(
ah
)
&&
AR_SREV_9285
_12_OR_LATER
(
ah
))
{
if
(
!
ar9285_hw_clc
(
ah
,
chan
))
if
(
!
ar9285_hw_clc
(
ah
,
chan
))
return
false
;
return
false
;
}
else
{
}
else
{
...
...
drivers/net/wireless/ath/ath9k/ar9003_phy.c
浏览文件 @
e11ec900
...
@@ -1381,3 +1381,25 @@ void ar9003_hw_bb_watchdog_dbg_info(struct ath_hw *ah)
...
@@ -1381,3 +1381,25 @@ void ar9003_hw_bb_watchdog_dbg_info(struct ath_hw *ah)
"==== BB update: done ====
\n\n
"
);
"==== BB update: done ====
\n\n
"
);
}
}
EXPORT_SYMBOL
(
ar9003_hw_bb_watchdog_dbg_info
);
EXPORT_SYMBOL
(
ar9003_hw_bb_watchdog_dbg_info
);
void
ar9003_hw_disable_phy_restart
(
struct
ath_hw
*
ah
)
{
u32
val
;
/* While receiving unsupported rate frame rx state machine
* gets into a state 0xb and if phy_restart happens in that
* state, BB would go hang. If RXSM is in 0xb state after
* first bb panic, ensure to disable the phy_restart.
*/
if
(
!
((
MS
(
ah
->
bb_watchdog_last_status
,
AR_PHY_WATCHDOG_RX_OFDM_SM
)
==
0xb
)
||
ah
->
bb_hang_rx_ofdm
))
return
;
ah
->
bb_hang_rx_ofdm
=
true
;
val
=
REG_READ
(
ah
,
AR_PHY_RESTART
);
val
&=
~
AR_PHY_RESTART_ENA
;
REG_WRITE
(
ah
,
AR_PHY_RESTART
,
val
);
}
EXPORT_SYMBOL
(
ar9003_hw_disable_phy_restart
);
drivers/net/wireless/ath/ath9k/hw.c
浏览文件 @
e11ec900
...
@@ -1555,9 +1555,12 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
...
@@ -1555,9 +1555,12 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
if
(
ah
->
btcoex_hw
.
enabled
)
if
(
ah
->
btcoex_hw
.
enabled
)
ath9k_hw_btcoex_enable
(
ah
);
ath9k_hw_btcoex_enable
(
ah
);
if
(
AR_SREV_9300_20_OR_LATER
(
ah
))
if
(
AR_SREV_9300_20_OR_LATER
(
ah
))
{
ar9003_hw_bb_watchdog_config
(
ah
);
ar9003_hw_bb_watchdog_config
(
ah
);
ar9003_hw_disable_phy_restart
(
ah
);
}
ath9k_hw_apply_gpio_override
(
ah
);
ath9k_hw_apply_gpio_override
(
ah
);
return
0
;
return
0
;
...
...
drivers/net/wireless/ath/ath9k/hw.h
浏览文件 @
e11ec900
...
@@ -842,6 +842,7 @@ struct ath_hw {
...
@@ -842,6 +842,7 @@ struct ath_hw {
u32
bb_watchdog_last_status
;
u32
bb_watchdog_last_status
;
u32
bb_watchdog_timeout_ms
;
/* in ms, 0 to disable */
u32
bb_watchdog_timeout_ms
;
/* in ms, 0 to disable */
u8
bb_hang_rx_ofdm
;
/* true if bb hang due to rx_ofdm */
unsigned
int
paprd_target_power
;
unsigned
int
paprd_target_power
;
unsigned
int
paprd_training_power
;
unsigned
int
paprd_training_power
;
...
@@ -990,6 +991,7 @@ void ar9002_hw_enable_wep_aggregation(struct ath_hw *ah);
...
@@ -990,6 +991,7 @@ void ar9002_hw_enable_wep_aggregation(struct ath_hw *ah);
void
ar9003_hw_bb_watchdog_config
(
struct
ath_hw
*
ah
);
void
ar9003_hw_bb_watchdog_config
(
struct
ath_hw
*
ah
);
void
ar9003_hw_bb_watchdog_read
(
struct
ath_hw
*
ah
);
void
ar9003_hw_bb_watchdog_read
(
struct
ath_hw
*
ah
);
void
ar9003_hw_bb_watchdog_dbg_info
(
struct
ath_hw
*
ah
);
void
ar9003_hw_bb_watchdog_dbg_info
(
struct
ath_hw
*
ah
);
void
ar9003_hw_disable_phy_restart
(
struct
ath_hw
*
ah
);
void
ar9003_paprd_enable
(
struct
ath_hw
*
ah
,
bool
val
);
void
ar9003_paprd_enable
(
struct
ath_hw
*
ah
,
bool
val
);
void
ar9003_paprd_populate_single_table
(
struct
ath_hw
*
ah
,
void
ar9003_paprd_populate_single_table
(
struct
ath_hw
*
ah
,
struct
ath9k_hw_cal_data
*
caldata
,
struct
ath9k_hw_cal_data
*
caldata
,
...
...
drivers/net/wireless/ath/ath9k/main.c
浏览文件 @
e11ec900
...
@@ -670,7 +670,8 @@ void ath9k_tasklet(unsigned long data)
...
@@ -670,7 +670,8 @@ void ath9k_tasklet(unsigned long data)
u32
status
=
sc
->
intrstatus
;
u32
status
=
sc
->
intrstatus
;
u32
rxmask
;
u32
rxmask
;
if
(
status
&
ATH9K_INT_FATAL
)
{
if
((
status
&
ATH9K_INT_FATAL
)
||
(
status
&
ATH9K_INT_BB_WATCHDOG
))
{
ath_reset
(
sc
,
true
);
ath_reset
(
sc
,
true
);
return
;
return
;
}
}
...
@@ -737,6 +738,7 @@ irqreturn_t ath_isr(int irq, void *dev)
...
@@ -737,6 +738,7 @@ irqreturn_t ath_isr(int irq, void *dev)
{
{
#define SCHED_INTR ( \
#define SCHED_INTR ( \
ATH9K_INT_FATAL | \
ATH9K_INT_FATAL | \
ATH9K_INT_BB_WATCHDOG | \
ATH9K_INT_RXORN | \
ATH9K_INT_RXORN | \
ATH9K_INT_RXEOL | \
ATH9K_INT_RXEOL | \
ATH9K_INT_RX | \
ATH9K_INT_RX | \
...
...
drivers/net/wireless/ath/ath9k/rc.c
浏览文件 @
e11ec900
...
@@ -689,7 +689,8 @@ static void ath_rc_rate_set_series(const struct ath_rate_table *rate_table,
...
@@ -689,7 +689,8 @@ static void ath_rc_rate_set_series(const struct ath_rate_table *rate_table,
if
(
WLAN_RC_PHY_HT
(
rate_table
->
info
[
rix
].
phy
))
{
if
(
WLAN_RC_PHY_HT
(
rate_table
->
info
[
rix
].
phy
))
{
rate
->
flags
|=
IEEE80211_TX_RC_MCS
;
rate
->
flags
|=
IEEE80211_TX_RC_MCS
;
if
(
WLAN_RC_PHY_40
(
rate_table
->
info
[
rix
].
phy
))
if
(
WLAN_RC_PHY_40
(
rate_table
->
info
[
rix
].
phy
)
&&
conf_is_ht40
(
&
txrc
->
hw
->
conf
))
rate
->
flags
|=
IEEE80211_TX_RC_40_MHZ_WIDTH
;
rate
->
flags
|=
IEEE80211_TX_RC_40_MHZ_WIDTH
;
if
(
WLAN_RC_PHY_SGI
(
rate_table
->
info
[
rix
].
phy
))
if
(
WLAN_RC_PHY_SGI
(
rate_table
->
info
[
rix
].
phy
))
rate
->
flags
|=
IEEE80211_TX_RC_SHORT_GI
;
rate
->
flags
|=
IEEE80211_TX_RC_SHORT_GI
;
...
...
drivers/net/wireless/b43/phy_n.c
浏览文件 @
e11ec900
...
@@ -3093,7 +3093,7 @@ static int b43_nphy_cal_tx_iq_lo(struct b43_wldev *dev,
...
@@ -3093,7 +3093,7 @@ static int b43_nphy_cal_tx_iq_lo(struct b43_wldev *dev,
int
freq
;
int
freq
;
bool
avoid
=
false
;
bool
avoid
=
false
;
u8
length
;
u8
length
;
u16
tmp
,
core
,
type
,
count
,
max
,
numb
,
last
,
cmd
;
u16
tmp
,
core
,
type
,
count
,
max
,
numb
,
last
=
0
,
cmd
;
const
u16
*
table
;
const
u16
*
table
;
bool
phy6or5x
;
bool
phy6or5x
;
...
...
drivers/net/wireless/iwlegacy/iwl-4965-lib.c
浏览文件 @
e11ec900
...
@@ -628,11 +628,11 @@ void iwl4965_rx_reply_rx(struct iwl_priv *priv,
...
@@ -628,11 +628,11 @@ void iwl4965_rx_reply_rx(struct iwl_priv *priv,
/* rx_status carries information about the packet to mac80211 */
/* rx_status carries information about the packet to mac80211 */
rx_status
.
mactime
=
le64_to_cpu
(
phy_res
->
timestamp
);
rx_status
.
mactime
=
le64_to_cpu
(
phy_res
->
timestamp
);
rx_status
.
band
=
(
phy_res
->
phy_flags
&
RX_RES_PHY_FLAGS_BAND_24_MSK
)
?
IEEE80211_BAND_2GHZ
:
IEEE80211_BAND_5GHZ
;
rx_status
.
freq
=
rx_status
.
freq
=
ieee80211_channel_to_frequency
(
le16_to_cpu
(
phy_res
->
channel
),
ieee80211_channel_to_frequency
(
le16_to_cpu
(
phy_res
->
channel
),
rx_status
.
band
);
rx_status
.
band
);
rx_status
.
band
=
(
phy_res
->
phy_flags
&
RX_RES_PHY_FLAGS_BAND_24_MSK
)
?
IEEE80211_BAND_2GHZ
:
IEEE80211_BAND_5GHZ
;
rx_status
.
rate_idx
=
rx_status
.
rate_idx
=
iwl4965_hwrate_to_mac80211_idx
(
rate_n_flags
,
rx_status
.
band
);
iwl4965_hwrate_to_mac80211_idx
(
rate_n_flags
,
rx_status
.
band
);
rx_status
.
flag
=
0
;
rx_status
.
flag
=
0
;
...
...
drivers/net/wireless/mwifiex/sdio.h
浏览文件 @
e11ec900
...
@@ -167,8 +167,8 @@
...
@@ -167,8 +167,8 @@
/* Rx unit register */
/* Rx unit register */
#define CARD_RX_UNIT_REG 0x63
#define CARD_RX_UNIT_REG 0x63
/* Event header
Len
*/
/* Event header
len w/o 4 bytes of interface header
*/
#define MWIFIEX_EVENT_HEADER_LEN
8
#define MWIFIEX_EVENT_HEADER_LEN
4
/* Max retry number of CMD53 write */
/* Max retry number of CMD53 write */
#define MAX_WRITE_IOMEM_RETRY 2
#define MAX_WRITE_IOMEM_RETRY 2
...
...
drivers/net/wireless/rt2x00/Kconfig
浏览文件 @
e11ec900
...
@@ -166,7 +166,6 @@ config RT2800USB_RT35XX
...
@@ -166,7 +166,6 @@ config RT2800USB_RT35XX
config RT2800USB_RT53XX
config RT2800USB_RT53XX
bool "rt2800usb - Include support for rt53xx devices (EXPERIMENTAL)"
bool "rt2800usb - Include support for rt53xx devices (EXPERIMENTAL)"
depends on EXPERIMENTAL
depends on EXPERIMENTAL
default y
---help---
---help---
This adds support for rt53xx wireless chipset family to the
This adds support for rt53xx wireless chipset family to the
rt2800pci driver.
rt2800pci driver.
...
...
drivers/net/wireless/rtlwifi/pci.c
浏览文件 @
e11ec900
...
@@ -669,11 +669,6 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
...
@@ -669,11 +669,6 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
&
rx_status
,
&
rx_status
,
(
u8
*
)
pdesc
,
skb
);
(
u8
*
)
pdesc
,
skb
);
pci_unmap_single
(
rtlpci
->
pdev
,
*
((
dma_addr_t
*
)
skb
->
cb
),
rtlpci
->
rxbuffersize
,
PCI_DMA_FROMDEVICE
);
skb_put
(
skb
,
rtlpriv
->
cfg
->
ops
->
get_desc
((
u8
*
)
pdesc
,
skb_put
(
skb
,
rtlpriv
->
cfg
->
ops
->
get_desc
((
u8
*
)
pdesc
,
false
,
false
,
HW_DESC_RXPKT_LEN
));
HW_DESC_RXPKT_LEN
));
...
@@ -690,6 +685,21 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
...
@@ -690,6 +685,21 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
hdr
=
rtl_get_hdr
(
skb
);
hdr
=
rtl_get_hdr
(
skb
);
fc
=
rtl_get_fc
(
skb
);
fc
=
rtl_get_fc
(
skb
);
/* try for new buffer - if allocation fails, drop
* frame and reuse old buffer
*/
new_skb
=
dev_alloc_skb
(
rtlpci
->
rxbuffersize
);
if
(
unlikely
(
!
new_skb
))
{
RT_TRACE
(
rtlpriv
,
(
COMP_INTR
|
COMP_RECV
),
DBG_DMESG
,
(
"can't alloc skb for rx
\n
"
));
goto
done
;
}
pci_unmap_single
(
rtlpci
->
pdev
,
*
((
dma_addr_t
*
)
skb
->
cb
),
rtlpci
->
rxbuffersize
,
PCI_DMA_FROMDEVICE
);
if
(
!
stats
.
crc
||
!
stats
.
hwerror
)
{
if
(
!
stats
.
crc
||
!
stats
.
hwerror
)
{
memcpy
(
IEEE80211_SKB_RXCB
(
skb
),
&
rx_status
,
memcpy
(
IEEE80211_SKB_RXCB
(
skb
),
&
rx_status
,
sizeof
(
rx_status
));
sizeof
(
rx_status
));
...
@@ -758,15 +768,7 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
...
@@ -758,15 +768,7 @@ static void _rtl_pci_rx_interrupt(struct ieee80211_hw *hw)
rtl_lps_leave
(
hw
);
rtl_lps_leave
(
hw
);
}
}
new_skb
=
dev_alloc_skb
(
rtlpci
->
rxbuffersize
);
if
(
unlikely
(
!
new_skb
))
{
RT_TRACE
(
rtlpriv
,
(
COMP_INTR
|
COMP_RECV
),
DBG_DMESG
,
(
"can't alloc skb for rx
\n
"
));
goto
done
;
}
skb
=
new_skb
;
skb
=
new_skb
;
/*skb->dev = dev; */
rtlpci
->
rx_ring
[
rx_queue_idx
].
rx_buf
[
rtlpci
->
rtlpci
->
rx_ring
[
rx_queue_idx
].
rx_buf
[
rtlpci
->
rx_ring
rx_ring
...
@@ -1113,6 +1115,13 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw)
...
@@ -1113,6 +1115,13 @@ static int _rtl_pci_init_rx_ring(struct ieee80211_hw *hw)
rtlpci
->
rx_ring
[
rx_queue_idx
].
idx
=
0
;
rtlpci
->
rx_ring
[
rx_queue_idx
].
idx
=
0
;
/* If amsdu_8k is disabled, set buffersize to 4096. This
* change will reduce memory fragmentation.
*/
if
(
rtlpci
->
rxbuffersize
>
4096
&&
rtlpriv
->
rtlhal
.
disable_amsdu_8k
)
rtlpci
->
rxbuffersize
=
4096
;
for
(
i
=
0
;
i
<
rtlpci
->
rxringcount
;
i
++
)
{
for
(
i
=
0
;
i
<
rtlpci
->
rxringcount
;
i
++
)
{
struct
sk_buff
*
skb
=
struct
sk_buff
*
skb
=
dev_alloc_skb
(
rtlpci
->
rxbuffersize
);
dev_alloc_skb
(
rtlpci
->
rxbuffersize
);
...
...
include/net/sctp/command.h
浏览文件 @
e11ec900
...
@@ -107,6 +107,7 @@ typedef enum {
...
@@ -107,6 +107,7 @@ typedef enum {
SCTP_CMD_UPDATE_INITTAG
,
/* Update peer inittag */
SCTP_CMD_UPDATE_INITTAG
,
/* Update peer inittag */
SCTP_CMD_SEND_MSG
,
/* Send the whole use message */
SCTP_CMD_SEND_MSG
,
/* Send the whole use message */
SCTP_CMD_SEND_NEXT_ASCONF
,
/* Send the next ASCONF after ACK */
SCTP_CMD_SEND_NEXT_ASCONF
,
/* Send the next ASCONF after ACK */
SCTP_CMD_PURGE_ASCONF_QUEUE
,
/* Purge all asconf queues.*/
SCTP_CMD_LAST
SCTP_CMD_LAST
}
sctp_verb_t
;
}
sctp_verb_t
;
...
...
include/net/sctp/structs.h
浏览文件 @
e11ec900
...
@@ -1993,7 +1993,7 @@ void sctp_assoc_clean_asconf_ack_cache(const struct sctp_association *asoc);
...
@@ -1993,7 +1993,7 @@ void sctp_assoc_clean_asconf_ack_cache(const struct sctp_association *asoc);
struct
sctp_chunk
*
sctp_assoc_lookup_asconf_ack
(
struct
sctp_chunk
*
sctp_assoc_lookup_asconf_ack
(
const
struct
sctp_association
*
asoc
,
const
struct
sctp_association
*
asoc
,
__be32
serial
);
__be32
serial
);
void
sctp_asconf_queue_teardown
(
struct
sctp_association
*
asoc
);
int
sctp_cmp_addr_exact
(
const
union
sctp_addr
*
ss1
,
int
sctp_cmp_addr_exact
(
const
union
sctp_addr
*
ss1
,
const
union
sctp_addr
*
ss2
);
const
union
sctp_addr
*
ss2
);
...
...
net/ipv4/ip_options.c
浏览文件 @
e11ec900
...
@@ -14,6 +14,7 @@
...
@@ -14,6 +14,7 @@
#include <linux/slab.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/types.h>
#include <asm/uaccess.h>
#include <asm/uaccess.h>
#include <asm/unaligned.h>
#include <linux/skbuff.h>
#include <linux/skbuff.h>
#include <linux/ip.h>
#include <linux/ip.h>
#include <linux/icmp.h>
#include <linux/icmp.h>
...
@@ -350,7 +351,7 @@ int ip_options_compile(struct net *net,
...
@@ -350,7 +351,7 @@ int ip_options_compile(struct net *net,
goto
error
;
goto
error
;
}
}
if
(
optptr
[
2
]
<=
optlen
)
{
if
(
optptr
[
2
]
<=
optlen
)
{
__be32
*
timeptr
=
NULL
;
unsigned
char
*
timeptr
=
NULL
;
if
(
optptr
[
2
]
+
3
>
optptr
[
1
])
{
if
(
optptr
[
2
]
+
3
>
optptr
[
1
])
{
pp_ptr
=
optptr
+
2
;
pp_ptr
=
optptr
+
2
;
goto
error
;
goto
error
;
...
@@ -359,7 +360,7 @@ int ip_options_compile(struct net *net,
...
@@ -359,7 +360,7 @@ int ip_options_compile(struct net *net,
case
IPOPT_TS_TSONLY
:
case
IPOPT_TS_TSONLY
:
opt
->
ts
=
optptr
-
iph
;
opt
->
ts
=
optptr
-
iph
;
if
(
skb
)
if
(
skb
)
timeptr
=
(
__be32
*
)
&
optptr
[
optptr
[
2
]
-
1
];
timeptr
=
&
optptr
[
optptr
[
2
]
-
1
];
opt
->
ts_needtime
=
1
;
opt
->
ts_needtime
=
1
;
optptr
[
2
]
+=
4
;
optptr
[
2
]
+=
4
;
break
;
break
;
...
@@ -371,7 +372,7 @@ int ip_options_compile(struct net *net,
...
@@ -371,7 +372,7 @@ int ip_options_compile(struct net *net,
opt
->
ts
=
optptr
-
iph
;
opt
->
ts
=
optptr
-
iph
;
if
(
rt
)
{
if
(
rt
)
{
memcpy
(
&
optptr
[
optptr
[
2
]
-
1
],
&
rt
->
rt_spec_dst
,
4
);
memcpy
(
&
optptr
[
optptr
[
2
]
-
1
],
&
rt
->
rt_spec_dst
,
4
);
timeptr
=
(
__be32
*
)
&
optptr
[
optptr
[
2
]
+
3
];
timeptr
=
&
optptr
[
optptr
[
2
]
+
3
];
}
}
opt
->
ts_needaddr
=
1
;
opt
->
ts_needaddr
=
1
;
opt
->
ts_needtime
=
1
;
opt
->
ts_needtime
=
1
;
...
@@ -389,7 +390,7 @@ int ip_options_compile(struct net *net,
...
@@ -389,7 +390,7 @@ int ip_options_compile(struct net *net,
if
(
inet_addr_type
(
net
,
addr
)
==
RTN_UNICAST
)
if
(
inet_addr_type
(
net
,
addr
)
==
RTN_UNICAST
)
break
;
break
;
if
(
skb
)
if
(
skb
)
timeptr
=
(
__be32
*
)
&
optptr
[
optptr
[
2
]
+
3
];
timeptr
=
&
optptr
[
optptr
[
2
]
+
3
];
}
}
opt
->
ts_needtime
=
1
;
opt
->
ts_needtime
=
1
;
optptr
[
2
]
+=
8
;
optptr
[
2
]
+=
8
;
...
@@ -403,10 +404,10 @@ int ip_options_compile(struct net *net,
...
@@ -403,10 +404,10 @@ int ip_options_compile(struct net *net,
}
}
if
(
timeptr
)
{
if
(
timeptr
)
{
struct
timespec
tv
;
struct
timespec
tv
;
__be
32
midtime
;
u
32
midtime
;
getnstimeofday
(
&
tv
);
getnstimeofday
(
&
tv
);
midtime
=
htonl
((
tv
.
tv_sec
%
86400
)
*
MSEC_PER_SEC
+
tv
.
tv_nsec
/
NSEC_PER_MSEC
)
;
midtime
=
(
tv
.
tv_sec
%
86400
)
*
MSEC_PER_SEC
+
tv
.
tv_nsec
/
NSEC_PER_MSEC
;
memcpy
(
timeptr
,
&
midtime
,
sizeof
(
__be32
)
);
put_unaligned_be32
(
midtime
,
timeptr
);
opt
->
is_changed
=
1
;
opt
->
is_changed
=
1
;
}
}
}
else
{
}
else
{
...
...
net/mac80211/mlme.c
浏览文件 @
e11ec900
...
@@ -232,6 +232,9 @@ static u32 ieee80211_enable_ht(struct ieee80211_sub_if_data *sdata,
...
@@ -232,6 +232,9 @@ static u32 ieee80211_enable_ht(struct ieee80211_sub_if_data *sdata,
WARN_ON
(
!
ieee80211_set_channel_type
(
local
,
sdata
,
channel_type
));
WARN_ON
(
!
ieee80211_set_channel_type
(
local
,
sdata
,
channel_type
));
}
}
ieee80211_stop_queues_by_reason
(
&
sdata
->
local
->
hw
,
IEEE80211_QUEUE_STOP_REASON_CSA
);
/* channel_type change automatically detected */
/* channel_type change automatically detected */
ieee80211_hw_config
(
local
,
0
);
ieee80211_hw_config
(
local
,
0
);
...
@@ -245,6 +248,9 @@ static u32 ieee80211_enable_ht(struct ieee80211_sub_if_data *sdata,
...
@@ -245,6 +248,9 @@ static u32 ieee80211_enable_ht(struct ieee80211_sub_if_data *sdata,
rcu_read_unlock
();
rcu_read_unlock
();
}
}
ieee80211_wake_queues_by_reason
(
&
sdata
->
local
->
hw
,
IEEE80211_QUEUE_STOP_REASON_CSA
);
ht_opmode
=
le16_to_cpu
(
hti
->
operation_mode
);
ht_opmode
=
le16_to_cpu
(
hti
->
operation_mode
);
/* if bss configuration changed store the new one */
/* if bss configuration changed store the new one */
...
@@ -1089,6 +1095,7 @@ static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata,
...
@@ -1089,6 +1095,7 @@ static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata,
local
->
hw
.
conf
.
flags
&=
~
IEEE80211_CONF_PS
;
local
->
hw
.
conf
.
flags
&=
~
IEEE80211_CONF_PS
;
config_changed
|=
IEEE80211_CONF_CHANGE_PS
;
config_changed
|=
IEEE80211_CONF_CHANGE_PS
;
}
}
local
->
ps_sdata
=
NULL
;
ieee80211_hw_config
(
local
,
config_changed
);
ieee80211_hw_config
(
local
,
config_changed
);
...
...
net/mac80211/scan.c
浏览文件 @
e11ec900
...
@@ -15,7 +15,6 @@
...
@@ -15,7 +15,6 @@
#include <linux/if_arp.h>
#include <linux/if_arp.h>
#include <linux/rtnetlink.h>
#include <linux/rtnetlink.h>
#include <linux/pm_qos_params.h>
#include <linux/pm_qos_params.h>
#include <linux/slab.h>
#include <net/sch_generic.h>
#include <net/sch_generic.h>
#include <linux/slab.h>
#include <linux/slab.h>
#include <net/mac80211.h>
#include <net/mac80211.h>
...
...
net/sctp/associola.c
浏览文件 @
e11ec900
...
@@ -444,15 +444,7 @@ void sctp_association_free(struct sctp_association *asoc)
...
@@ -444,15 +444,7 @@ void sctp_association_free(struct sctp_association *asoc)
asoc
->
peer
.
transport_count
=
0
;
asoc
->
peer
.
transport_count
=
0
;
/* Free any cached ASCONF_ACK chunk. */
sctp_asconf_queue_teardown
(
asoc
);
sctp_assoc_free_asconf_acks
(
asoc
);
/* Free the ASCONF queue. */
sctp_assoc_free_asconf_queue
(
asoc
);
/* Free any cached ASCONF chunk. */
if
(
asoc
->
addip_last_asconf
)
sctp_chunk_free
(
asoc
->
addip_last_asconf
);
/* AUTH - Free the endpoint shared keys */
/* AUTH - Free the endpoint shared keys */
sctp_auth_destroy_keys
(
&
asoc
->
endpoint_shared_keys
);
sctp_auth_destroy_keys
(
&
asoc
->
endpoint_shared_keys
);
...
@@ -1646,3 +1638,16 @@ struct sctp_chunk *sctp_assoc_lookup_asconf_ack(
...
@@ -1646,3 +1638,16 @@ struct sctp_chunk *sctp_assoc_lookup_asconf_ack(
return
NULL
;
return
NULL
;
}
}
void
sctp_asconf_queue_teardown
(
struct
sctp_association
*
asoc
)
{
/* Free any cached ASCONF_ACK chunk. */
sctp_assoc_free_asconf_acks
(
asoc
);
/* Free the ASCONF queue. */
sctp_assoc_free_asconf_queue
(
asoc
);
/* Free any cached ASCONF chunk. */
if
(
asoc
->
addip_last_asconf
)
sctp_chunk_free
(
asoc
->
addip_last_asconf
);
}
net/sctp/sm_sideeffect.c
浏览文件 @
e11ec900
...
@@ -1670,6 +1670,9 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
...
@@ -1670,6 +1670,9 @@ static int sctp_cmd_interpreter(sctp_event_t event_type,
case
SCTP_CMD_SEND_NEXT_ASCONF
:
case
SCTP_CMD_SEND_NEXT_ASCONF
:
sctp_cmd_send_asconf
(
asoc
);
sctp_cmd_send_asconf
(
asoc
);
break
;
break
;
case
SCTP_CMD_PURGE_ASCONF_QUEUE
:
sctp_asconf_queue_teardown
(
asoc
);
break
;
default:
default:
pr_warn
(
"Impossible command: %u, %p
\n
"
,
pr_warn
(
"Impossible command: %u, %p
\n
"
,
cmd
->
verb
,
cmd
->
obj
.
ptr
);
cmd
->
verb
,
cmd
->
obj
.
ptr
);
...
...
net/sctp/sm_statefuns.c
浏览文件 @
e11ec900
...
@@ -1718,11 +1718,21 @@ static sctp_disposition_t sctp_sf_do_dupcook_a(const struct sctp_endpoint *ep,
...
@@ -1718,11 +1718,21 @@ static sctp_disposition_t sctp_sf_do_dupcook_a(const struct sctp_endpoint *ep,
return
SCTP_DISPOSITION_CONSUME
;
return
SCTP_DISPOSITION_CONSUME
;
}
}
/* For now,
fail any unsent/unacked data. Consider the optional
/* For now,
stop pending T3-rtx and SACK timers, fail any unsent/unacked
* choice of resending of this data.
*
data. Consider the optional
choice of resending of this data.
*/
*/
sctp_add_cmd_sf
(
commands
,
SCTP_CMD_T3_RTX_TIMERS_STOP
,
SCTP_NULL
());
sctp_add_cmd_sf
(
commands
,
SCTP_CMD_TIMER_STOP
,
SCTP_TO
(
SCTP_EVENT_TIMEOUT_SACK
));
sctp_add_cmd_sf
(
commands
,
SCTP_CMD_PURGE_OUTQUEUE
,
SCTP_NULL
());
sctp_add_cmd_sf
(
commands
,
SCTP_CMD_PURGE_OUTQUEUE
,
SCTP_NULL
());
/* Stop pending T4-rto timer, teardown ASCONF queue, ASCONF-ACK queue
* and ASCONF-ACK cache.
*/
sctp_add_cmd_sf
(
commands
,
SCTP_CMD_TIMER_STOP
,
SCTP_TO
(
SCTP_EVENT_TIMEOUT_T4_RTO
));
sctp_add_cmd_sf
(
commands
,
SCTP_CMD_PURGE_ASCONF_QUEUE
,
SCTP_NULL
());
repl
=
sctp_make_cookie_ack
(
new_asoc
,
chunk
);
repl
=
sctp_make_cookie_ack
(
new_asoc
,
chunk
);
if
(
!
repl
)
if
(
!
repl
)
goto
nomem
;
goto
nomem
;
...
...
net/wireless/nl80211.c
浏览文件 @
e11ec900
...
@@ -3406,12 +3406,12 @@ static int nl80211_trigger_scan(struct sk_buff *skb, struct genl_info *info)
...
@@ -3406,12 +3406,12 @@ static int nl80211_trigger_scan(struct sk_buff *skb, struct genl_info *info)
i
=
0
;
i
=
0
;
if
(
info
->
attrs
[
NL80211_ATTR_SCAN_SSIDS
])
{
if
(
info
->
attrs
[
NL80211_ATTR_SCAN_SSIDS
])
{
nla_for_each_nested
(
attr
,
info
->
attrs
[
NL80211_ATTR_SCAN_SSIDS
],
tmp
)
{
nla_for_each_nested
(
attr
,
info
->
attrs
[
NL80211_ATTR_SCAN_SSIDS
],
tmp
)
{
request
->
ssids
[
i
].
ssid_len
=
nla_len
(
attr
);
if
(
request
->
ssids
[
i
].
ssid_len
>
IEEE80211_MAX_SSID_LEN
)
{
if
(
request
->
ssids
[
i
].
ssid_len
>
IEEE80211_MAX_SSID_LEN
)
{
err
=
-
EINVAL
;
err
=
-
EINVAL
;
goto
out_free
;
goto
out_free
;
}
}
memcpy
(
request
->
ssids
[
i
].
ssid
,
nla_data
(
attr
),
nla_len
(
attr
));
memcpy
(
request
->
ssids
[
i
].
ssid
,
nla_data
(
attr
),
nla_len
(
attr
));
request
->
ssids
[
i
].
ssid_len
=
nla_len
(
attr
);
i
++
;
i
++
;
}
}
}
}
...
@@ -3572,6 +3572,7 @@ static int nl80211_start_sched_scan(struct sk_buff *skb,
...
@@ -3572,6 +3572,7 @@ static int nl80211_start_sched_scan(struct sk_buff *skb,
if
(
info
->
attrs
[
NL80211_ATTR_SCAN_SSIDS
])
{
if
(
info
->
attrs
[
NL80211_ATTR_SCAN_SSIDS
])
{
nla_for_each_nested
(
attr
,
info
->
attrs
[
NL80211_ATTR_SCAN_SSIDS
],
nla_for_each_nested
(
attr
,
info
->
attrs
[
NL80211_ATTR_SCAN_SSIDS
],
tmp
)
{
tmp
)
{
request
->
ssids
[
i
].
ssid_len
=
nla_len
(
attr
);
if
(
request
->
ssids
[
i
].
ssid_len
>
if
(
request
->
ssids
[
i
].
ssid_len
>
IEEE80211_MAX_SSID_LEN
)
{
IEEE80211_MAX_SSID_LEN
)
{
err
=
-
EINVAL
;
err
=
-
EINVAL
;
...
@@ -3579,7 +3580,6 @@ static int nl80211_start_sched_scan(struct sk_buff *skb,
...
@@ -3579,7 +3580,6 @@ static int nl80211_start_sched_scan(struct sk_buff *skb,
}
}
memcpy
(
request
->
ssids
[
i
].
ssid
,
nla_data
(
attr
),
memcpy
(
request
->
ssids
[
i
].
ssid
,
nla_data
(
attr
),
nla_len
(
attr
));
nla_len
(
attr
));
request
->
ssids
[
i
].
ssid_len
=
nla_len
(
attr
);
i
++
;
i
++
;
}
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录