diff options
author | Felix Fietkau <nbd@openwrt.org> | 2005-04-27 14:37:11 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2005-04-27 14:37:11 +0000 |
commit | d4d1bd01d7ca519a6971647fb9a664c847df0afa (patch) | |
tree | adf8df75292bdcb0de7055313c43e2df8c6876ec /openwrt | |
parent | ad69f3f62a754aafb60ce0c284b3396ca243119b (diff) | |
download | mtk-20170518-d4d1bd01d7ca519a6971647fb9a664c847df0afa.zip mtk-20170518-d4d1bd01d7ca519a6971647fb9a664c847df0afa.tar.gz mtk-20170518-d4d1bd01d7ca519a6971647fb9a664c847df0afa.tar.bz2 |
make wlcompat probe for the device to use
SVN-Revision: 733
Diffstat (limited to 'openwrt')
-rw-r--r-- | openwrt/package/openwrt/wlcompat.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/openwrt/package/openwrt/wlcompat.c b/openwrt/package/openwrt/wlcompat.c index 06009a4..74dcdf2 100644 --- a/openwrt/package/openwrt/wlcompat.c +++ b/openwrt/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; |