diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-03-25 14:31:42 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-03-25 14:31:42 +0000 |
commit | 4f9bb9718c70edf24b946a859b02b7bf83d3d5a9 (patch) | |
tree | 879d12467ea241efc3b330216b61f75323c2d424 /openwrt/target/linux/package/switch/src/switch-robo.c | |
parent | 603ef842814d6e4b916c1e6e2222480592f930a6 (diff) |
fix gcc4-related bug in switch-robo
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@3483 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'openwrt/target/linux/package/switch/src/switch-robo.c')
-rw-r--r-- | openwrt/target/linux/package/switch/src/switch-robo.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/openwrt/target/linux/package/switch/src/switch-robo.c b/openwrt/target/linux/package/switch/src/switch-robo.c index 7e4c4de29..b23fca644 100644 --- 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) +static char *device; 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() { - char *device = "ethX"; int notfound = 1; + device = strdup("ethX"); for (device[3] = '0'; (device[3] <= '3') && notfound; device[3]++) { notfound = robo_probe(device); } device[3]--; - if (notfound) + if (notfound) { + kfree(device); return -ENODEV; - else { + } else { 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); + kfree(device); } |