diff options
author | Roman Yeryomin <roman@advem.lv> | 2013-05-26 01:02:55 +0300 |
---|---|---|
committer | Roman Yeryomin <roman@advem.lv> | 2013-05-26 01:02:55 +0300 |
commit | 342045a35b1981a89e4bc80842b10c065e1050da (patch) | |
tree | 4140720b20e8d641c11da882010d6130a75fef21 /package/broadcom-wl | |
parent | 7338133dde8238afce34676214b494c8db96689b (diff) | |
parent | 1a116ce7818ecee5d167a9c0ebb1a0feca9120e6 (diff) |
Merge trunk into realtek-unstable
Conflicts:
Config.in
feeds.conf.default
package/base-files/files/etc/hotplug2-common.rules
package/network/config/netifd/files/etc/init.d/network
Diffstat (limited to 'package/broadcom-wl')
-rw-r--r-- | package/broadcom-wl/files/lib/wifi/broadcom.sh | 5 | ||||
-rw-r--r-- | package/broadcom-wl/patches/913-avoid-dbe-on-ifs_ctl-readw-hack.patch | 12 | ||||
-rw-r--r-- | package/broadcom-wl/src/glue/wl_glue.c | 2 |
3 files changed, 17 insertions, 2 deletions
diff --git a/package/broadcom-wl/files/lib/wifi/broadcom.sh b/package/broadcom-wl/files/lib/wifi/broadcom.sh index 57e11e4b1..72b85aaf8 100644 --- a/package/broadcom-wl/files/lib/wifi/broadcom.sh +++ b/package/broadcom-wl/files/lib/wifi/broadcom.sh @@ -370,12 +370,15 @@ detect_broadcom() { local i=-1 while grep -qs "^ *wl$((++i)):" /proc/net/dev; do + local channel + config_get type wl${i} type [ "$type" = broadcom ] && continue + channel=`wlc ifname wl${i} channel` cat <<EOF config wifi-device wl${i} option type broadcom - option channel 11 + option channel ${channel:-11} # REMOVE THIS LINE TO ENABLE WIFI: option disabled 1 diff --git a/package/broadcom-wl/patches/913-avoid-dbe-on-ifs_ctl-readw-hack.patch b/package/broadcom-wl/patches/913-avoid-dbe-on-ifs_ctl-readw-hack.patch new file mode 100644 index 000000000..412bce92c --- /dev/null +++ b/package/broadcom-wl/patches/913-avoid-dbe-on-ifs_ctl-readw-hack.patch @@ -0,0 +1,12 @@ +--- a/driver/linux_osl.c ++++ b/driver/linux_osl.c +@@ -723,6 +723,9 @@ osl_readl(volatile uint32 *r) + uint16 + osl_readw(volatile uint16 *r) + { ++ uint32 addr = (uintptr)r & 0xffff3fff; ++ if (addr == 0xa8000688) /* ifs_ctl */ ++ readl(r); + return (readw(r)); + } + diff --git a/package/broadcom-wl/src/glue/wl_glue.c b/package/broadcom-wl/src/glue/wl_glue.c index bf009e5bb..fc94ac0b2 100644 --- a/package/broadcom-wl/src/glue/wl_glue.c +++ b/package/broadcom-wl/src/glue/wl_glue.c @@ -108,7 +108,7 @@ static int wl_glue_bcma_probe(struct bcma_device *dev) * 0x1000 = BCMA_CORE_SIZE */ - wldev = attach_cb(dev->id.manuf, dev->id.id, (ulong)dev->io_addr, dev, dev->irq); + wldev = attach_cb(dev->id.manuf, dev->id.id, (ulong)dev->addr, dev, dev->irq); if (!wldev) { |