projects
/
openwrt
/
svn-archive
/
archive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5a2b405
)
fix gcc4-related bug in switch-robo
author
Felix Fietkau
<nbd@openwrt.org>
Sat, 25 Mar 2006 14:31:42 +0000
(14:31 +0000)
committer
Felix Fietkau
<nbd@openwrt.org>
Sat, 25 Mar 2006 14:31:42 +0000
(14:31 +0000)
SVN-Revision: 3483
openwrt/target/linux/package/switch/src/switch-core.c
patch
|
blob
|
history
openwrt/target/linux/package/switch/src/switch-core.h
patch
|
blob
|
history
openwrt/target/linux/package/switch/src/switch-robo.c
patch
|
blob
|
history
diff --git
a/openwrt/target/linux/package/switch/src/switch-core.c
b/openwrt/target/linux/package/switch/src/switch-core.c
index 82166463702d09df616769a268b42e24e01f1319..6b59b9ba24a142129d46bcb5e3fc53775cd8eb75 100644
(file)
--- a/
openwrt/target/linux/package/switch/src/switch-core.c
+++ b/
openwrt/target/linux/package/switch/src/switch-core.c
@@
-68,13
+68,6
@@
static struct file_operations switch_proc_fops = {
write: switch_proc_write
};
write: switch_proc_write
};
-static inline char *strdup(char *str)
-{
- char *new = kmalloc(strlen(str) + 1, GFP_KERNEL);
- strcpy(new, str);
- return new;
-}
-
static ssize_t switch_proc_read(struct file *file, char *buf, size_t count, loff_t *ppos)
{
#ifdef LINUX_2_4
static ssize_t switch_proc_read(struct file *file, char *buf, size_t count, loff_t *ppos)
{
#ifdef LINUX_2_4
diff --git
a/openwrt/target/linux/package/switch/src/switch-core.h
b/openwrt/target/linux/package/switch/src/switch-core.h
index a6621eed227afd241b26ae82e7e2433c74c4967e..5292469c01139b147c5e95f56628a1218d7912a3 100644
(file)
--- a/
openwrt/target/linux/package/switch/src/switch-core.h
+++ b/
openwrt/target/linux/package/switch/src/switch-core.h
@@
-48,4
+48,12
@@
extern switch_vlan_config *switch_parse_vlan(switch_driver *driver, char *buf);
extern int switch_parse_media(char *buf);
extern int switch_print_media(char *buf, int media);
extern int switch_parse_media(char *buf);
extern int switch_print_media(char *buf, int media);
+static inline char *strdup(char *str)
+{
+ char *new = kmalloc(strlen(str) + 1, GFP_KERNEL);
+ strcpy(new, str);
+ return new;
+}
+
+
#endif
#endif
diff --git
a/openwrt/target/linux/package/switch/src/switch-robo.c
b/openwrt/target/linux/package/switch/src/switch-robo.c
index 7e4c4de2967e14e97face2ca1cec1939e21ad6ad..b23fca644284d5e68808b01c4a4a525d84a93a5d 100644
(file)
--- a/
openwrt/target/linux/package/switch/src/switch-robo.c
+++ b/
openwrt/target/linux/package/switch/src/switch-robo.c
@@
-51,6
+51,7
@@
#define SIOCGETCPHYRD (SIOCDEVPRIVATE + 9)
#define SIOCSETCPHYWR (SIOCDEVPRIVATE + 10)
#define SIOCGETCPHYRD (SIOCDEVPRIVATE + 9)
#define SIOCSETCPHYWR (SIOCDEVPRIVATE + 10)
+static char *device;
static int use_et = 0;
static int is_5350 = 0;
static struct ifreq ifr;
static int use_et = 0;
static int is_5350 = 0;
static struct ifreq ifr;
@@
-425,17
+426,18
@@
static int handle_reset(void *driver, char *buf, int nr)
static int __init robo_init()
{
static int __init robo_init()
{
- char *device = "ethX";
int notfound = 1;
int notfound = 1;
+ device = strdup("ethX");
for (device[3] = '0'; (device[3] <= '3') && notfound; device[3]++) {
notfound = robo_probe(device);
}
device[3]--;
for (device[3] = '0'; (device[3] <= '3') && notfound; device[3]++) {
notfound = robo_probe(device);
}
device[3]--;
- if (notfound)
+ if (notfound) {
+ kfree(device);
return -ENODEV;
return -ENODEV;
- else {
+
}
else {
switch_config cfg[] = {
{"enable", handle_enable_read, handle_enable_write},
{"enable_vlan", handle_enable_vlan_read, handle_enable_vlan_write},
switch_config cfg[] = {
{"enable", handle_enable_read, handle_enable_write},
{"enable_vlan", handle_enable_vlan_read, handle_enable_vlan_write},
@@
-465,6
+467,7
@@
static int __init robo_init()
static void __exit robo_exit()
{
switch_unregister_driver(DRIVER_NAME);
static void __exit robo_exit()
{
switch_unregister_driver(DRIVER_NAME);
+ kfree(device);
}
}