aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2005-04-27 14:37:11 +0000
committerFelix Fietkau <nbd@openwrt.org>2005-04-27 14:37:11 +0000
commit81645afb456c23911c0aba3e0f3dee45c2a2a865 (patch)
tree94297d816d1c3c63639400b1e095c6766cb765d0 /package
parent63328b2807e5bc2f1c23909aff8f21774434410f (diff)
downloadmaster-187ad058-81645afb456c23911c0aba3e0f3dee45c2a2a865.tar.gz
master-187ad058-81645afb456c23911c0aba3e0f3dee45c2a2a865.tar.bz2
master-187ad058-81645afb456c23911c0aba3e0f3dee45c2a2a865.zip
make wlcompat probe for the device to use
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@733 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r--package/openwrt/wlcompat.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/package/openwrt/wlcompat.c b/package/openwrt/wlcompat.c
index 06009a4c4b..74dcdf2233 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;