From cb5045362889f36e9995cfe88c8686bb6679d8d6 Mon Sep 17 00:00:00 2001 From: nbd Date: Wed, 27 Apr 2005 14:37:11 +0000 Subject: make wlcompat probe for the device to use git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@733 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/openwrt/wlcompat.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'package/openwrt/wlcompat.c') diff --git a/package/openwrt/wlcompat.c b/package/openwrt/wlcompat.c index 06009a4c4..74dcdf223 100644 --- a/package/openwrt/wlcompat.c +++ b/package/openwrt/wlcompat.c @@ -695,7 +695,23 @@ static int new_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) { static int __init wlcompat_init() { - dev = dev_get_by_name("eth1"); + int found = 0, i; + char *devname = "eth0"; + + while (!found && devname[3] < '3') { + devname[3]++; + + dev = dev_get_by_name(devname); + if ((wl_ioctl(dev, WLC_GET_MAGIC, &i, sizeof(i)) == 0) && i == WLC_IOCTL_MAGIC) + found = 1; + } + + if (!found) { + printk("No Broadcom devices found.\n"); + return -ENODEV; + } + + #ifdef DEBUG old_ioctl = dev->do_ioctl; dev->do_ioctl = new_ioctl; -- cgit v1.2.3