Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 36939master
parent
d3a7b5633c
commit
5ca4d24cd1
@ -1,37 +0,0 @@ |
||||
--- a/config.mk
|
||||
+++ b/config.mk
|
||||
@@ -724,34 +724,3 @@ endif #CONFIG_LEDS_TRIGGERS
|
||||
# export CONFIG_RFKILL_BACKPORT_INPUT=y
|
||||
endif #CONFIG_COMPAT_KERNEL_2_6_31
|
||||
|
||||
-# compilation has been tested down to 3.0 but run time
|
||||
-# tests have only started on 3.2.
|
||||
-ifndef CONFIG_COMPAT_KERNEL_3_2
|
||||
-# Basic DRM support
|
||||
-export CONFIG_COMPAT_VIDEO_MODULES=y
|
||||
-export CONFIG_COMPAT_DRM=m
|
||||
-export CONFIG_COMPAT_DRM_TTM=m
|
||||
-export CONFIG_COMPAT_DRM_KMS_HELPER=m
|
||||
-export CONFIG_COMPAT_DRM_LOAD_EDID_FIRMWARE=y
|
||||
-# Intel i915
|
||||
-export CONFIG_COMPAT_DRM_I915=m
|
||||
-# ATI/AMD Radeon
|
||||
-export CONFIG_COMPAT_DRM_RADEON=m
|
||||
-export CONFIG_COMPAT_DRM_RADEON_KMS=y
|
||||
-export CONFIG_COMPAT_DRM_NOUVEAU=m
|
||||
-export CONFIG_COMPAT_DRM_NOUVEAU_BACKLIGHT=y
|
||||
-export CONFIG_COMPAT_NOUVEAU_DEBUG=5
|
||||
-export CONFIG_COMPAT_NOUVEAU_DEBUG_DEFAULT=3
|
||||
-ifdef CONFIG_MEDIA_CONTROLLER
|
||||
-export CONFIG_COMPAT_USB_VIDEO_CLASS=m
|
||||
-endif #CONFIG_MEDIA_CONTROLLER
|
||||
-export CONFIG_USB_VIDEO_CLASS=y
|
||||
-endif #CONFIG_COMPAT_KERNEL_3_2
|
||||
-
|
||||
-ifndef CONFIG_COMPAT_KERNEL_3_2
|
||||
-export CONFIG_COMPAT_MEDIA_MODULES=y
|
||||
-export CONFIG_COMPAT_VIDEO_V4L2=m
|
||||
-export CONFIG_COMPAT_VIDEOBUF2_CORE=m
|
||||
-export CONFIG_COMPAT_VIDEOBUF2_VMALLOC=m
|
||||
-export CONFIG_COMPAT_VIDEOBUF2_MEMOPS=m
|
||||
-endif #CONFIG_COMPAT_KERNEL_3_2
|
@ -0,0 +1,16 @@ |
||||
--- a/kconf/Makefile
|
||||
+++ b/kconf/Makefile
|
||||
@@ -1,10 +1,10 @@
|
||||
-CFLAGS=-Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer
|
||||
+CFLAGS=-Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -DKBUILD_NO_NLS
|
||||
|
||||
LXDIALOG := lxdialog/checklist.o lxdialog/inputbox.o lxdialog/menubox.o lxdialog/textbox.o lxdialog/util.o lxdialog/yesno.o
|
||||
|
||||
conf: conf.o zconf.tab.o
|
||||
-mconf: LDFLAGS = -Wl,--no-as-needed $(shell ./lxdialog/check-lxdialog.sh -ldflags $(CC))
|
||||
-mconf: CFLAGS += -DCURSES_LOC="<ncurses.h>" -DLOCALE
|
||||
+mconf: LDFLAGS = $(shell ./lxdialog/check-lxdialog.sh -ldflags $(CC))
|
||||
+mconf: CFLAGS += -DCURSES_LOC="<ncurses.h>"
|
||||
mconf: mconf.o zconf.tab.o $(LXDIALOG)
|
||||
|
||||
.PHONY: clean
|
@ -1,13 +0,0 @@ |
||||
--- a/include/linux/rfkill.h
|
||||
+++ b/include/linux/rfkill.h
|
||||
@@ -3,6 +3,10 @@
|
||||
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31))
|
||||
|
||||
+#undef CONFIG_RFKILL
|
||||
+#undef CONFIG_RFKILL_LEDS
|
||||
+#undef CONFIG_RFKILL_MODULE
|
||||
+
|
||||
#include_next <linux/rfkill.h>
|
||||
|
||||
#else
|
@ -0,0 +1,156 @@ |
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -19,6 +19,7 @@ KLIB_BUILD ?= $(KLIB)/build/
|
||||
KERNEL_CONFIG := $(KLIB_BUILD)/.config
|
||||
KERNEL_MAKEFILE := $(KLIB_BUILD)/Makefile
|
||||
CONFIG_MD5 := $(shell md5sum $(KERNEL_CONFIG) 2>/dev/null | sed 's/\s.*//')
|
||||
+STAMP_KERNEL_CONFIG := .kernel_config_md5_$(CONFIG_MD5)
|
||||
|
||||
export KLIB KLIB_BUILD BACKPORT_PWD KMODDIR KMODPATH_ARG
|
||||
|
||||
@@ -36,7 +37,8 @@ mrproper:
|
||||
@rm -f .kernel_config_md5 Kconfig.versions Kconfig.kernel
|
||||
@rm -f backport-include/backport/autoconf.h
|
||||
|
||||
-.DEFAULT:
|
||||
+.SILENT: $(STAMP_KERNEL_CONFIG)
|
||||
+$(STAMP_KERNEL_CONFIG):
|
||||
@set -e ; test -f .local-symbols || ( \
|
||||
echo "/--------------" ;\
|
||||
echo "| You shouldn't run make in the backports tree, but only in" ;\
|
||||
@@ -60,56 +62,60 @@ mrproper:
|
||||
echo "| (that isn't currently running.)" ;\
|
||||
echo "\\--" ;\
|
||||
false)
|
||||
- @set -e ; if [ "$$(cat .kernel_config_md5 2>/dev/null)" != "$(CONFIG_MD5)" ] ;\
|
||||
- then \
|
||||
- echo -n "Generating local configuration database from kernel ..." ;\
|
||||
- grep -v -f .local-symbols $(KERNEL_CONFIG) | grep = | ( \
|
||||
- while read l ; do \
|
||||
- if [ "$${l:0:7}" != "CONFIG_" ] ; then \
|
||||
- continue ;\
|
||||
- fi ;\
|
||||
- l=$${l:7} ;\
|
||||
- n=$${l%%=*} ;\
|
||||
- v=$${l#*=} ;\
|
||||
- if [ "$$v" = "m" ] ; then \
|
||||
- echo config $$n ;\
|
||||
- echo ' tristate' ;\
|
||||
- elif [ "$$v" = "y" ] ; then \
|
||||
- echo config $$n ;\
|
||||
- echo ' bool' ;\
|
||||
- else \
|
||||
- continue ;\
|
||||
- fi ;\
|
||||
- echo " default $$v" ;\
|
||||
- echo "" ;\
|
||||
- done \
|
||||
- ) > Kconfig.kernel ;\
|
||||
- kver=$$($(MAKE) --no-print-directory -C $(KLIB_BUILD) kernelversion | \
|
||||
- sed 's/^\(\(3\|2\.6\)\.[0-9]\+\).*/\1/;t;d') ;\
|
||||
- test "$$kver" != "" || echo "Kernel version parse failed!" ;\
|
||||
- test "$$kver" != "" ;\
|
||||
- kvers="$$(seq 14 39 | sed 's/^/2.6./')" ;\
|
||||
- kvers="$$kvers $$(seq 0 99 | sed 's/^/3./')" ;\
|
||||
- print=0 ;\
|
||||
- for v in $$kvers ; do \
|
||||
- if [ "$$print" = "1" ] ; then \
|
||||
- echo config BACKPORT_KERNEL_$$(echo $$v | tr . _) ;\
|
||||
- echo " def_bool y" ;\
|
||||
- fi ;\
|
||||
- if [ "$$v" = "$$kver" ] ; then print=1 ; fi ;\
|
||||
- done > Kconfig.versions ;\
|
||||
- # RHEL as well, sadly we need to grep for it ;\
|
||||
- RHEL_MAJOR=$$(grep '^RHEL_MAJOR' $(KERNEL_MAKEFILE) | \
|
||||
- sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\
|
||||
- RHEL_MINOR=$$(grep '^RHEL_MINOR' $(KERNEL_MAKEFILE) | \
|
||||
- sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\
|
||||
- for v in $$(seq 0 $$RHEL_MINOR) ; do \
|
||||
- echo config BACKPORT_RHEL_KERNEL_$${RHEL_MAJOR}_$$v ;\
|
||||
- echo " def_bool y" ;\
|
||||
- done >> Kconfig.versions ;\
|
||||
- echo " done." ;\
|
||||
- fi ;\
|
||||
- echo "$(CONFIG_MD5)" > .kernel_config_md5
|
||||
+ @rm -f .kernel_config_md5_*
|
||||
+ @touch $@
|
||||
+
|
||||
+Kconfig.kernel: $(STAMP_KERNEL_CONFIG) .local-symbols
|
||||
+ @printf "Generating local configuration database from kernel ..."
|
||||
+ @grep -v -f .local-symbols $(KERNEL_CONFIG) | grep = | ( \
|
||||
+ while read l ; do \
|
||||
+ if [ "$${l:0:7}" != "CONFIG_" ] ; then \
|
||||
+ continue ;\
|
||||
+ fi ;\
|
||||
+ l=$${l:7} ;\
|
||||
+ n=$${l%%=*} ;\
|
||||
+ v=$${l#*=} ;\
|
||||
+ if [ "$$v" = "m" ] ; then \
|
||||
+ echo config $$n ;\
|
||||
+ echo ' tristate' ;\
|
||||
+ elif [ "$$v" = "y" ] ; then \
|
||||
+ echo config $$n ;\
|
||||
+ echo ' bool' ;\
|
||||
+ else \
|
||||
+ continue ;\
|
||||
+ fi ;\
|
||||
+ echo " default $$v" ;\
|
||||
+ echo "" ;\
|
||||
+ done \
|
||||
+ ) > $@
|
||||
+ @echo " done."
|
||||
+
|
||||
+Kconfig.versions: Kconfig.kernel
|
||||
+ @kver=$$($(MAKE) --no-print-directory -C $(KLIB_BUILD) kernelversion | \
|
||||
+ sed 's/^\(\(3\|2\.6\)\.[0-9]\+\).*/\1/;t;d') ;\
|
||||
+ test "$$kver" != "" || echo "Kernel version parse failed!" ;\
|
||||
+ test "$$kver" != "" ;\
|
||||
+ kvers="$$(seq 14 39 | sed 's/^/2.6./')" ;\
|
||||
+ kvers="$$kvers $$(seq 0 99 | sed 's/^/3./')" ;\
|
||||
+ print=0 ;\
|
||||
+ for v in $$kvers ; do \
|
||||
+ if [ "$$print" = "1" ] ; then \
|
||||
+ echo config BACKPORT_KERNEL_$$(echo $$v | tr . _) ;\
|
||||
+ echo " def_bool y" ;\
|
||||
+ fi ;\
|
||||
+ if [ "$$v" = "$$kver" ] ; then print=1 ; fi ;\
|
||||
+ done > $@
|
||||
+ @RHEL_MAJOR=$$(grep '^RHEL_MAJOR' $(KERNEL_MAKEFILE) | \
|
||||
+ sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\
|
||||
+ RHEL_MINOR=$$(grep '^RHEL_MINOR' $(KERNEL_MAKEFILE) | \
|
||||
+ sed 's/.*=\s*\([0-9]*\)/\1/;t;d') ;\
|
||||
+ for v in $$(seq 0 $$RHEL_MINOR) ; do \
|
||||
+ echo config BACKPORT_RHEL_KERNEL_$${RHEL_MAJOR}_$$v ;\
|
||||
+ echo " def_bool y" ;\
|
||||
+ done >> $@
|
||||
+
|
||||
+.DEFAULT:
|
||||
+ @$(MAKE) Kconfig.versions
|
||||
@$(MAKE) -f Makefile.real "$@"
|
||||
|
||||
else
|
||||
--- a/Makefile.real
|
||||
+++ b/Makefile.real
|
||||
@@ -54,7 +54,7 @@ defconfig-%::
|
||||
|
||||
backport-include/backport/autoconf.h: .config Kconfig.versions Kconfig.kernel
|
||||
@$(MAKE) oldconfig
|
||||
- @echo -n "Building backport-include/backport/autoconf.h ..."
|
||||
+ @printf "Building backport-include/backport/autoconf.h ..."
|
||||
@grep -f .local-symbols .config | ( \
|
||||
echo "#ifndef COMPAT_AUTOCONF_INCLUDED" ;\
|
||||
echo "#define COMPAT_AUTOCONF_INCLUDED" ;\
|
||||
@@ -75,7 +75,12 @@ backport-include/backport/autoconf.h: .c
|
||||
esac ;\
|
||||
done ;\
|
||||
echo "#endif /* COMPAT_AUTOCONF_INCLUDED */" ;\
|
||||
- ) > backport-include/backport/autoconf.h
|
||||
+ ) > $@.new
|
||||
+ @if cmp -s $@ $@.new; then \
|
||||
+ rm -f $@.new; \
|
||||
+ else \
|
||||
+ mv $@.new $@; \
|
||||
+ fi
|
||||
@echo " done."
|
||||
|
||||
.PHONY: modules
|
@ -0,0 +1,44 @@ |
||||
--- a/kconf/conf.c
|
||||
+++ b/kconf/conf.c
|
||||
@@ -578,40 +578,12 @@ int main(int ac, char **av)
|
||||
case oldconfig:
|
||||
case listnewconfig:
|
||||
case olddefconfig:
|
||||
- conf_read(NULL);
|
||||
- break;
|
||||
case allnoconfig:
|
||||
case allyesconfig:
|
||||
case allmodconfig:
|
||||
case alldefconfig:
|
||||
case randconfig:
|
||||
- name = getenv("KCONFIG_ALLCONFIG");
|
||||
- if (!name)
|
||||
- break;
|
||||
- if ((strcmp(name, "") != 0) && (strcmp(name, "1") != 0)) {
|
||||
- if (conf_read_simple(name, S_DEF_USER)) {
|
||||
- fprintf(stderr,
|
||||
- _("*** Can't read seed configuration \"%s\"!\n"),
|
||||
- name);
|
||||
- exit(1);
|
||||
- }
|
||||
- break;
|
||||
- }
|
||||
- switch (input_mode) {
|
||||
- case allnoconfig: name = "allno.config"; break;
|
||||
- case allyesconfig: name = "allyes.config"; break;
|
||||
- case allmodconfig: name = "allmod.config"; break;
|
||||
- case alldefconfig: name = "alldef.config"; break;
|
||||
- case randconfig: name = "allrandom.config"; break;
|
||||
- default: break;
|
||||
- }
|
||||
- if (conf_read_simple(name, S_DEF_USER) &&
|
||||
- conf_read_simple("all.config", S_DEF_USER)) {
|
||||
- fprintf(stderr,
|
||||
- _("*** KCONFIG_ALLCONFIG set, but no \"%s\" or \"all.config\" file found\n"),
|
||||
- name);
|
||||
- exit(1);
|
||||
- }
|
||||
+ conf_read(NULL);
|
||||
break;
|
||||
default:
|
||||
break;
|
@ -1,21 +0,0 @@ |
||||
--- a/config.mk
|
||||
+++ b/config.mk
|
||||
@@ -371,7 +371,8 @@ export CONFIG_IPW2200_QOS=y
|
||||
# % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface
|
||||
endif #CONFIG_WIRELESS_EXT
|
||||
|
||||
-ifdef CONFIG_SSB
|
||||
+# disabled
|
||||
+ifdef __CONFIG_SSB
|
||||
# Sonics Silicon Backplane
|
||||
export CONFIG_SSB_SPROM=y
|
||||
|
||||
@@ -384,7 +385,7 @@ endif #CONFIG_PCMCIA
|
||||
# export CONFIG_SSB_DEBUG=y
|
||||
export CONFIG_SSB_DRIVER_PCICORE=y
|
||||
export CONFIG_B43_SSB=y
|
||||
-endif #CONFIG_SSB
|
||||
+endif #__CONFIG_SSB
|
||||
|
||||
# export CONFIG_BCMA=m
|
||||
# export CONFIG_BCMA_BLOCKIO=y
|
@ -1,19 +0,0 @@ |
||||
--- a/compat/scripts/gen-compat-config.sh
|
||||
+++ b/compat/scripts/gen-compat-config.sh
|
||||
@@ -66,16 +66,3 @@ if [[ ${CONFIG_COMPAT_KERNEL_2_6_36} = "
|
||||
echo "export CONFIG_COMPAT_KFIFO=y"
|
||||
fi
|
||||
fi
|
||||
-
|
||||
-if [[ ${CONFIG_COMPAT_KERNEL_3_5} = "y" ]]; then
|
||||
- # We don't have 2.6.24 backport support yet for Codel / FQ CoDel
|
||||
- # For those who want to try this is what is required that I can tell
|
||||
- # so far:
|
||||
- # * struct Qdisc_ops
|
||||
- # - init and change callback ops use a different argument dataype
|
||||
- # - you need to parse data received from userspace differently
|
||||
- if [[ ${CONFIG_COMPAT_KERNEL_2_6_25} != "y" ]]; then
|
||||
- echo "export CONFIG_COMPAT_NET_SCH_CODEL=m"
|
||||
- echo "export CONFIG_COMPAT_NET_SCH_FQ_CODEL=m"
|
||||
- fi
|
||||
-fi
|
@ -1,8 +0,0 @@ |
||||
--- a/compat/scripts/gen-compat-config.sh
|
||||
+++ b/compat/scripts/gen-compat-config.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
# Copyright 2012 Luis R. Rodriguez <mcgrof@frijolero.org>
|
||||
# Copyright 2012 Hauke Mehrtens <hauke@hauke-m.de>
|
||||
#
|
@ -1,11 +0,0 @@ |
||||
--- a/include/linux/compat-3.0.h
|
||||
+++ b/include/linux/compat-3.0.h
|
||||
@@ -38,6 +38,8 @@ static inline struct page *shmem_read_ma
|
||||
#endif
|
||||
|
||||
|
||||
+#include <linux/mod_devicetable.h>
|
||||
+
|
||||
/*
|
||||
* since commit 1c5cae815d19ffe02bdfda1260949ef2b1806171
|
||||
* "net: call dev_alloc_name from register_netdevice" dev_alloc_name is
|
@ -0,0 +1,13 @@ |
||||
--- a/backport-include/linux/rfkill.h
|
||||
+++ b/backport-include/linux/rfkill.h
|
||||
@@ -43,6 +43,10 @@ struct rfkill_ops {
|
||||
};
|
||||
#endif
|
||||
|
||||
+#undef CONFIG_RFKILL
|
||||
+#undef CONFIG_RFKILL_LEDS
|
||||
+#undef CONFIG_RFKILL_MODULE
|
||||
+
|
||||
/* this changes infrequently, backport manually */
|
||||
enum rfkill_type {
|
||||
RFKILL_TYPE_ALL = 0,
|
@ -0,0 +1,33 @@ |
||||
--- a/drivers/net/wireless/rt2x00/Kconfig
|
||||
+++ b/drivers/net/wireless/rt2x00/Kconfig
|
||||
@@ -202,25 +202,25 @@ config RT2800USB_UNKNOWN
|
||||
endif
|
||||
|
||||
config RT2800_LIB
|
||||
- tristate
|
||||
+ tristate "RT2800 USB/PCI support"
|
||||
depends on m
|
||||
|
||||
config RT2X00_LIB_MMIO
|
||||
- tristate
|
||||
+ tristate "RT2x00 MMIO support"
|
||||
depends on m
|
||||
|
||||
config RT2X00_LIB_PCI
|
||||
- tristate
|
||||
+ tristate "RT2x00 PCI support"
|
||||
depends on m
|
||||
select RT2X00_LIB
|
||||
|
||||
config RT2X00_LIB_SOC
|
||||
- tristate
|
||||
+ tristate "RT2x00 SoC support"
|
||||
depends on m
|
||||
select RT2X00_LIB
|
||||
|
||||
config RT2X00_LIB_USB
|
||||
- tristate
|
||||
+ tristate "RT2x00 USB support"
|
||||
depends on m
|
||||
select RT2X00_LIB
|
||||
|
@ -1,18 +0,0 @@ |
||||
--- a/net/wireless/core.c
|
||||
+++ b/net/wireless/core.c
|
||||
@@ -951,6 +951,15 @@ static int cfg80211_netdev_notifier_call
|
||||
wdev->sme_state = CFG80211_SME_IDLE;
|
||||
mutex_unlock(&rdev->devlist_mtx);
|
||||
#ifdef CONFIG_CFG80211_WEXT
|
||||
+#ifdef CONFIG_WIRELESS_EXT
|
||||
+ if (!dev->wireless_handlers)
|
||||
+ dev->wireless_handlers = &cfg80211_wext_handler;
|
||||
+#else
|
||||
+ printk_once(KERN_WARNING "cfg80211: wext will not work because "
|
||||
+ "kernel was compiled with CONFIG_WIRELESS_EXT=n. "
|
||||
+ "Tools using wext interface, like iwconfig will "
|
||||
+ "not work.\n");
|
||||
+#endif
|
||||
wdev->wext.default_key = -1;
|
||||
wdev->wext.default_mgmt_key = -1;
|
||||
wdev->wext.connect.auth_type = NL80211_AUTHTYPE_AUTOMATIC;
|
@ -0,0 +1,9 @@ |
||||
--- a/drivers/net/wireless/brcm80211/Kconfig
|
||||
+++ b/drivers/net/wireless/brcm80211/Kconfig
|
||||
@@ -1,5 +1,5 @@
|
||||
config BRCMUTIL
|
||||
- tristate
|
||||
+ tristate "Broadcom 802.11 driver utility functions"
|
||||
depends on m
|
||||
|
||||
config BRCMSMAC
|
@ -1,66 +0,0 @@ |
||||
From e00adf39134028d65023c327b427074728c18f7e Mon Sep 17 00:00:00 2001
|
||||
From: Akinobu Mita <akinobu.mita@gmail.com>
|
||||
Date: Tue, 7 May 2013 16:18:15 -0700
|
||||
Subject: [PATCH] drivers/net: rename random32() to prandom_u32()
|
||||
|
||||
Use preferable function name which implies using a pseudo-random number
|
||||
generator.
|
||||
|
||||
[akpm@linux-foundation.org: convert team_mode_random.c]
|
||||
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
|
||||
Acked-by: Thomas Sailer <t.sailer@alumni.ethz.ch>
|
||||
Acked-by: Bing Zhao <bzhao@marvell.com> [mwifiex]
|
||||
Cc: "David S. Miller" <davem@davemloft.net>
|
||||
Cc: Michael Chan <mchan@broadcom.com>
|
||||
Cc: Thomas Sailer <t.sailer@alumni.ethz.ch>
|
||||
Cc: Jean-Paul Roubelat <jpr@f6fbb.org>
|
||||
Cc: Bing Zhao <bzhao@marvell.com>
|
||||
Cc: Brett Rudley <brudley@broadcom.com>
|
||||
Cc: Arend van Spriel <arend@broadcom.com>
|
||||
Cc: "Franky (Zhenhui) Lin" <frankyl@broadcom.com>
|
||||
Cc: Hante Meuleman <meuleman@broadcom.com>
|
||||
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
||||
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
||||
---
|
||||
drivers/net/wireless/brcm80211/brcmfmac/p2p.c | 2 +-
|
||||
drivers/net/wireless/mwifiex/cfg80211.c | 4 ++--
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/p2p.c b/drivers/net/wireless/brcm80211/brcmfmac/p2p.c
|
||||
index 2b90da0..e7a1a47 100644
|
||||
--- a/drivers/net/wireless/brcm80211/brcmfmac/p2p.c
|
||||
+++ b/drivers/net/wireless/brcm80211/brcmfmac/p2p.c
|
||||
@@ -1117,7 +1117,7 @@ static void brcmf_p2p_afx_handler(struct work_struct *work)
|
||||
if (afx_hdl->is_listen && afx_hdl->my_listen_chan)
|
||||
/* 100ms ~ 300ms */
|
||||
err = brcmf_p2p_discover_listen(p2p, afx_hdl->my_listen_chan,
|
||||
- 100 * (1 + (random32() % 3)));
|
||||
+ 100 * (1 + prandom_u32() % 3));
|
||||
else
|
||||
err = brcmf_p2p_act_frm_search(p2p, afx_hdl->peer_listen_chan);
|
||||
|
||||
diff --git a/drivers/net/wireless/mwifiex/cfg80211.c b/drivers/net/wireless/mwifiex/cfg80211.c
|
||||
index a0cb077..d3c8ece 100644
|
||||
--- a/drivers/net/wireless/mwifiex/cfg80211.c
|
||||
+++ b/drivers/net/wireless/mwifiex/cfg80211.c
|
||||
@@ -216,7 +216,7 @@ mwifiex_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
|
||||
mwifiex_form_mgmt_frame(skb, buf, len);
|
||||
mwifiex_queue_tx_pkt(priv, skb);
|
||||
|
||||
- *cookie = random32() | 1;
|
||||
+ *cookie = prandom_u32() | 1;
|
||||
cfg80211_mgmt_tx_status(wdev, *cookie, buf, len, true, GFP_ATOMIC);
|
||||
|
||||
wiphy_dbg(wiphy, "info: management frame transmitted\n");
|
||||
@@ -271,7 +271,7 @@ mwifiex_cfg80211_remain_on_channel(struct wiphy *wiphy,
|
||||
duration);
|
||||
|
||||
if (!ret) {
|
||||
- *cookie = random32() | 1;
|
||||
+ *cookie = prandom_u32() | 1;
|
||||
priv->roc_cfg.cookie = *cookie;
|
||||
priv->roc_cfg.chan = *chan;
|
||||
|
||||
--
|
||||
1.7.10.4
|
||||
|
@ -0,0 +1,30 @@ |
||||
--- a/net/wireless/Kconfig
|
||||
+++ b/net/wireless/Kconfig
|
||||
@@ -123,7 +123,7 @@ config CFG80211_WEXT
|
||||
extensions with cfg80211-based drivers.
|
||||
|
||||
config LIB80211
|
||||
- tristate
|
||||
+ tristate "lib80211"
|
||||
depends on m
|
||||
default n
|
||||
help
|
||||
@@ -133,15 +133,15 @@ config LIB80211
|
||||
Drivers should select this themselves if needed.
|
||||
|
||||
config LIB80211_CRYPT_WEP
|
||||
- tristate
|
||||
+ tristate "lib80211 WEP support"
|
||||
depends on m
|
||||
|
||||
config LIB80211_CRYPT_CCMP
|
||||
- tristate
|
||||
+ tristate "lib80211 CCMP support"
|
||||
depends on m
|
||||
|
||||
config LIB80211_CRYPT_TKIP
|
||||
- tristate
|
||||
+ tristate "lib80211 TKIP support"
|
||||
depends on m
|
||||
|
||||
config LIB80211_DEBUG
|
@ -0,0 +1,68 @@ |
||||
--- a/.local-symbols
|
||||
+++ b/.local-symbols
|
||||
@@ -365,42 +365,6 @@ USB_CDC_PHONET=
|
||||
USB_IPHETH=
|
||||
USB_SIERRA_NET=
|
||||
USB_VL600=
|
||||
-SSB_POSSIBLE=
|
||||
-SSB=
|
||||
-SSB_SPROM=
|
||||
-SSB_BLOCKIO=
|
||||
-SSB_PCIHOST_POSSIBLE=
|
||||
-SSB_PCIHOST=
|
||||
-SSB_B43_PCI_BRIDGE=
|
||||
-SSB_PCMCIAHOST_POSSIBLE=
|
||||
-SSB_PCMCIAHOST=
|
||||
-SSB_SDIOHOST_POSSIBLE=
|
||||
-SSB_SDIOHOST=
|
||||
-SSB_SILENT=
|
||||
-SSB_DEBUG=
|
||||
-SSB_SERIAL=
|
||||
-SSB_DRIVER_PCICORE_POSSIBLE=
|
||||
-SSB_DRIVER_PCICORE=
|
||||
-SSB_PCICORE_HOSTMODE=
|
||||
-SSB_DRIVER_MIPS=
|
||||
-SSB_SFLASH=
|
||||
-SSB_EMBEDDED=
|
||||
-SSB_DRIVER_EXTIF=
|
||||
-SSB_DRIVER_GIGE=
|
||||
-SSB_DRIVER_GPIO=
|
||||
-BCMA_POSSIBLE=
|
||||
-BCMA=
|
||||
-BCMA_BLOCKIO=
|
||||
-BCMA_HOST_PCI_POSSIBLE=
|
||||
-BCMA_HOST_PCI=
|
||||
-BCMA_DRIVER_PCI_HOSTMODE=
|
||||
-BCMA_HOST_SOC=
|
||||
-BCMA_DRIVER_MIPS=
|
||||
-BCMA_SFLASH=
|
||||
-BCMA_NFLASH=
|
||||
-BCMA_DRIVER_GMAC_CMN=
|
||||
-BCMA_DRIVER_GPIO=
|
||||
-BCMA_DEBUG=
|
||||
DRM=
|
||||
DRM_USB=
|
||||
DRM_KMS_HELPER=
|
||||
--- a/Kconfig
|
||||
+++ b/Kconfig
|
||||
@@ -31,9 +31,6 @@ source drivers/net/wireless/Kconfig
|
||||
source drivers/net/ethernet/Kconfig
|
||||
source drivers/net/usb/Kconfig
|
||||
|
||||
-source drivers/ssb/Kconfig
|
||||
-source drivers/bcma/Kconfig
|
||||
-
|
||||
source drivers/gpu/drm/Kconfig
|
||||
|
||||
source net/nfc/Kconfig
|
||||
--- a/Makefile.kernel
|
||||
+++ b/Makefile.kernel
|
||||
@@ -26,8 +26,6 @@ obj-$(CPTCFG_MAC80211) += net/mac80211/
|
||||
obj-$(CPTCFG_WLAN) += drivers/net/wireless/
|
||||
obj-$(CPTCFG_BT) += net/bluetooth/
|
||||
obj-$(CPTCFG_BT) += drivers/bluetooth/
|
||||
-obj-$(CPTCFG_SSB) += drivers/ssb/
|
||||
-obj-$(CPTCFG_BCMA) += drivers/bcma/
|
||||
obj-$(CPTCFG_ETHERNET) += drivers/net/ethernet/
|
||||
obj-$(CPTCFG_USB_NET_RNDIS_WLAN) += drivers/net/usb/
|
||||
obj-$(CPTCFG_DRM) += drivers/gpu/drm/
|
@ -1,40 +0,0 @@ |
||||
From 16f4984678b93c03fc3fe31ed7c2bda491574ea7 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Gorski <jogo@openwrt.org>
|
||||
Date: Sat, 18 May 2013 02:05:30 +0200
|
||||
Subject: [PATCH 1/2] compat: add missing include in #else for compat-3.10.h
|
||||
|
||||
When compiling against 3.10-rc1, the build fails as follows:
|
||||
|
||||
CC [M] compat/main.o
|
||||
In file included from include/linux/compat-2.6.h:75:0,
|
||||
from <command-line>:0:
|
||||
include/linux/compat-3.10.h:91:52: warning: 'struct fb_info' declared inside parameter list [enabled by default]
|
||||
include/linux/compat-3.10.h:91:52: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
|
||||
include/linux/compat-3.10.h: In function 'backport_fb_enable_skip_vt_switch':
|
||||
include/linux/compat-3.10.h:93:6: error: dereferencing pointer to incomplete type
|
||||
|
||||
Fix this adding the missing include to the else branch to stay true to
|
||||
the original commit, instead of pulling it out of the #if #else #endif
|
||||
block.
|
||||
|
||||
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
---
|
||||
include/linux/compat-3.10.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/include/linux/compat-3.10.h b/include/linux/compat-3.10.h
|
||||
index f972203..9d6e55c 100644
|
||||
--- a/include/linux/compat-3.10.h
|
||||
+++ b/include/linux/compat-3.10.h
|
||||
@@ -87,6 +87,8 @@ static inline void fb_enable_skip_vt_switch(struct fb_info *info)
|
||||
* clash on the backport for 3.12 as the routine would
|
||||
* already be defined *but* we'd need it for 3.11.
|
||||
*/
|
||||
+#include <linux/fb.h>
|
||||
+
|
||||
#define fb_enable_skip_vt_switch LINUX_BACKPORT(fb_enable_skip_vt_switch)
|
||||
static inline void fb_enable_skip_vt_switch(struct fb_info *info)
|
||||
{
|
||||
--
|
||||
1.7.10.4
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,46 +1,58 @@ |
||||
--- a/drivers/net/wireless/ath/regd.c
|
||||
+++ b/drivers/net/wireless/ath/regd.c
|
||||
@@ -198,6 +198,10 @@ ath_reg_apply_beaconing_flags(struct wip
|
||||
@@ -196,6 +196,10 @@ ath_reg_apply_beaconing_flags(struct wip
|
||||
struct ieee80211_channel *ch;
|
||||
unsigned int i;
|
||||
|
||||
+#ifdef ATH_USER_REGD
|
||||
+#ifdef CPTCFG_ATH_USER_REGD
|
||||
+ return;
|
||||
+#endif
|
||||
+
|
||||
for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
|
||||
|
||||
if (!wiphy->bands[band])
|
||||
@@ -252,6 +256,10 @@ ath_reg_apply_active_scan_flags(struct w
|
||||
@@ -250,6 +254,10 @@ ath_reg_apply_active_scan_flags(struct w
|
||||
struct ieee80211_channel *ch;
|
||||
const struct ieee80211_reg_rule *reg_rule;
|
||||
|
||||
+#ifdef ATH_USER_REGD
|
||||
+#ifdef CPTCFG_ATH_USER_REGD
|
||||
+ return;
|
||||
+#endif
|
||||
+
|
||||
sband = wiphy->bands[IEEE80211_BAND_2GHZ];
|
||||
if (!sband)
|
||||
return;
|
||||
@@ -301,6 +309,10 @@ static void ath_reg_apply_radar_flags(st
|
||||
@@ -299,6 +307,10 @@ static void ath_reg_apply_radar_flags(st
|
||||
struct ieee80211_channel *ch;
|
||||
unsigned int i;
|
||||
|
||||
+#ifdef ATH_USER_REGD
|
||||
+#ifdef CPTCFG_ATH_USER_REGD
|
||||
+ return;
|
||||
+#endif
|
||||
+
|
||||
if (!wiphy->bands[IEEE80211_BAND_5GHZ])
|
||||
return;
|
||||
|
||||
@@ -505,6 +517,10 @@ ath_regd_init_wiphy(struct ath_regulator
|
||||
@@ -503,6 +515,10 @@ ath_regd_init_wiphy(struct ath_regulator
|
||||
{
|
||||
const struct ieee80211_regdomain *regd;
|
||||
|
||||
+#ifdef ATH_USER_REGD
|
||||
+#ifdef CPTCFG_ATH_USER_REGD
|
||||
+ return 0;
|
||||
+#endif
|
||||
+
|
||||
wiphy->reg_notifier = reg_notifier;
|
||||
wiphy->flags |= WIPHY_FLAG_STRICT_REGULATORY;
|
||||
|
||||
--- a/drivers/net/wireless/ath/Kconfig
|
||||
+++ b/drivers/net/wireless/ath/Kconfig
|
||||
@@ -21,6 +21,9 @@ menuconfig ATH_CARDS
|
||||
|
||||
if ATH_CARDS
|
||||
|
||||
+config ATH_USER_REGD
|
||||
+ bool "Do not enforce EEPROM regulatory restrictions"
|
||||
+
|
||||
config ATH_DEBUG
|
||||
bool "Atheros wireless debugging"
|
||||
---help---
|
||||
|
@ -1,11 +1,11 @@ |
||||
--- a/drivers/net/wireless/ath/ath9k/ani.h
|
||||
+++ b/drivers/net/wireless/ath/ath9k/ani.h
|
||||
@@ -51,7 +51,7 @@
|
||||
@@ -34,7 +34,7 @@
|
||||
#define ATH9K_ANI_PERIOD 300
|
||||
|
||||
/* in ms */
|
||||
-#define ATH9K_ANI_POLLINTERVAL 1000
|
||||
+#define ATH9K_ANI_POLLINTERVAL 300
|
||||
|
||||
#define HAL_NOISE_IMMUNE_MAX 4
|
||||
#define HAL_SPUR_IMMUNE_MAX 7
|
||||
#define ATH9K_SIG_FIRSTEP_SETTING_MIN 0
|
||||
#define ATH9K_SIG_FIRSTEP_SETTING_MAX 20
|
||||
|
@ -1,19 +0,0 @@ |
||||
--- a/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h
|
||||
+++ b/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h
|
||||
@@ -958,11 +958,11 @@ static const u32 ar9300Common_rx_gain_ta
|
||||
{0x0000a074, 0x00000000},
|
||||
{0x0000a078, 0x00000000},
|
||||
{0x0000a07c, 0x00000000},
|
||||
- {0x0000a080, 0x1a1a1a1a},
|
||||
- {0x0000a084, 0x1a1a1a1a},
|
||||
- {0x0000a088, 0x1a1a1a1a},
|
||||
- {0x0000a08c, 0x1a1a1a1a},
|
||||
- {0x0000a090, 0x171a1a1a},
|
||||
+ {0x0000a080, 0x22222229},
|
||||
+ {0x0000a084, 0x1d1d1d1d},
|
||||
+ {0x0000a088, 0x1d1d1d1d},
|
||||
+ {0x0000a08c, 0x1d1d1d1d},
|
||||
+ {0x0000a090, 0x171d1d1d},
|
||||
{0x0000a094, 0x11111717},
|
||||
{0x0000a098, 0x00030311},
|
||||
{0x0000a09c, 0x00000000},
|
@ -1,10 +0,0 @@ |
||||
--- a/config.mk
|
||||
+++ b/config.mk
|
||||
@@ -647,6 +647,7 @@ export CONFIG_RT2X00=y
|
||||
export CONFIG_RT2X00_LIB=m
|
||||
export CONFIG_RT2800_LIB=m
|
||||
export CONFIG_RT2X00_LIB_FIRMWARE=y
|
||||
+export CONFIG_RT2X00_LIB_EEPROM=y
|
||||
export CONFIG_RT2X00_LIB_CRYPTO=y
|
||||
# export CONFIG_RT2X00_LIB_SOC=y
|
||||
ifdef CONFIG_COMPAT_KERNEL_2_6_25
|
@ -1,145 +0,0 @@ |
||||
From 5921f167baf30255ebc079c6e751a7ed31cd986d Mon Sep 17 00:00:00 2001
|
||||
From: Thommy Jakobsson <thommyj@gmail.com>
|
||||
Date: Tue, 23 Apr 2013 21:45:11 +0200
|
||||
Subject: [PATCH 2/3] B43: Handle DMA RX descriptor underrun
|
||||
|
||||
Add handling of rx descriptor underflow. This fixes a fault that could
|
||||
happen on slow machines, where data is received faster than the CPU can
|
||||
handle. In such a case the device will use up all rx descriptors and
|
||||
refuse to send any more data before confirming that it is ok. This
|
||||
patch enables necessary interrupt to discover such a situation and will
|
||||
handle them by dropping everything in the ring buffer.
|
||||
|
||||
Reviewed-by: Michael Buesch <m@bues.ch>
|
||||
Signed-off-by: Thommy Jakobsson <thommyj@gmail.com>
|
||||
Cc: stable <stable@vger.kernel.org>
|
||||
---
|
||||
drivers/net/wireless/b43/dma.c | 19 +++++++++++++++++
|
||||
drivers/net/wireless/b43/dma.h | 4 +++-
|
||||
drivers/net/wireless/b43/main.c | 43 ++++++++++++++++-----------------------
|
||||
3 files changed, 40 insertions(+), 26 deletions(-)
|
||||
|
||||
--- a/drivers/net/wireless/b43/dma.c
|
||||
+++ b/drivers/net/wireless/b43/dma.c
|
||||
@@ -1733,6 +1733,25 @@ drop_recycle_buffer:
|
||||
sync_descbuffer_for_device(ring, dmaaddr, ring->rx_buffersize);
|
||||
}
|
||||
|
||||
+void b43_dma_handle_rx_overflow(struct b43_dmaring *ring)
|
||||
+{
|
||||
+ int current_slot, previous_slot;
|
||||
+
|
||||
+ B43_WARN_ON(ring->tx);
|
||||
+
|
||||
+ /* Device has filled all buffers, drop all packets and let TCP
|
||||
+ * decrease speed.
|
||||
+ * Decrement RX index by one will let the device to see all slots
|
||||
+ * as free again
|
||||
+ */
|
||||
+ /*
|
||||
+ *TODO: How to increase rx_drop in mac80211?
|
||||
+ */
|
||||
+ current_slot = ring->ops->get_current_rxslot(ring);
|
||||
+ previous_slot = prev_slot(ring, current_slot);
|
||||
+ ring->ops->set_current_rxslot(ring, previous_slot);
|
||||
+}
|
||||
+
|
||||
void b43_dma_rx(struct b43_dmaring *ring)
|
||||
{
|
||||
const struct b43_dma_ops *ops = ring->ops;
|
||||
--- a/drivers/net/wireless/b43/dma.h
|
||||
+++ b/drivers/net/wireless/b43/dma.h
|
||||
@@ -9,7 +9,7 @@
|
||||
/* DMA-Interrupt reasons. */
|
||||
#define B43_DMAIRQ_FATALMASK ((1 << 10) | (1 << 11) | (1 << 12) \
|
||||
| (1 << 14) | (1 << 15))
|
||||
-#define B43_DMAIRQ_NONFATALMASK (1 << 13)
|
||||
+#define B43_DMAIRQ_RDESC_UFLOW (1 << 13)
|
||||
#define B43_DMAIRQ_RX_DONE (1 << 16)
|
||||
|
||||
/*** 32-bit DMA Engine. ***/
|
||||
@@ -295,6 +295,8 @@ int b43_dma_tx(struct b43_wldev *dev,
|
||||
void b43_dma_handle_txstatus(struct b43_wldev *dev,
|
||||
const struct b43_txstatus *status);
|
||||
|
||||
+void b43_dma_handle_rx_overflow(struct b43_dmaring *ring);
|
||||
+
|
||||
void b43_dma_rx(struct b43_dmaring *ring);
|
||||
|
||||
void b43_dma_direct_fifo_rx(struct b43_wldev *dev,
|
||||
--- a/drivers/net/wireless/b43/main.c
|
||||
+++ b/drivers/net/wireless/b43/main.c
|
||||
@@ -1907,32 +1907,20 @@ static void b43_do_interrupt_thread(stru
|
||||
}
|
||||
}
|
||||
|
||||
- if (unlikely(merged_dma_reason & (B43_DMAIRQ_FATALMASK |
|
||||
- B43_DMAIRQ_NONFATALMASK))) {
|
||||
- if (merged_dma_reason & B43_DMAIRQ_FATALMASK) {
|
||||
- b43err(dev->wl, "Fatal DMA error: "
|
||||
- "0x%08X, 0x%08X, 0x%08X, "
|
||||
- "0x%08X, 0x%08X, 0x%08X\n",
|
||||
- dma_reason[0], dma_reason[1],
|
||||
- dma_reason[2], dma_reason[3],
|
||||
- dma_reason[4], dma_reason[5]);
|
||||
+ if (unlikely(merged_dma_reason & (B43_DMAIRQ_FATALMASK))) {
|
||||
+ b43err(dev->wl,
|
||||
+ "Fatal DMA error: 0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X\n",
|
||||
+ dma_reason[0], dma_reason[1],
|
||||
+ dma_reason[2], dma_reason[3],
|
||||
+ dma_reason[4], dma_reason[5]);
|
||||
#ifdef CONFIG_B43_PIO
|
||||
- b43err(dev->wl, "This device does not support DMA "
|
||||
+ b43err(dev->wl, "This device does not support DMA "
|
||||
"on your system. It will now be switched to PIO.\n");
|
||||
- /* Fall back to PIO transfers if we get fatal DMA errors! */
|
||||
- dev->use_pio = true;
|
||||
+ /* Fall back to PIO transfers if we get fatal DMA errors! */
|
||||
+ dev->use_pio = true;
|
||||
#endif
|
||||
- b43_controller_restart(dev, "DMA error");
|
||||
- return;
|
||||
- }
|
||||
- if (merged_dma_reason & B43_DMAIRQ_NONFATALMASK) {
|
||||
- b43err(dev->wl, "DMA error: "
|
||||
- "0x%08X, 0x%08X, 0x%08X, "
|
||||
- "0x%08X, 0x%08X, 0x%08X\n",
|
||||
- dma_reason[0], dma_reason[1],
|
||||
- dma_reason[2], dma_reason[3],
|
||||
- dma_reason[4], dma_reason[5]);
|
||||
- }
|
||||
+ b43_controller_restart(dev, "DMA error");
|
||||
+ return;
|
||||
}
|
||||
|
||||
if (unlikely(reason & B43_IRQ_UCODE_DEBUG))
|
||||
@@ -1951,6 +1939,11 @@ static void b43_do_interrupt_thread(stru
|
||||
handle_irq_noise(dev);
|
||||
|
||||
/* Check the DMA reason registers for received data. */
|
||||
+ if (dma_reason[0] & B43_DMAIRQ_RDESC_UFLOW) {
|
||||
+ if (B43_DEBUG)
|
||||
+ b43warn(dev->wl, "RX descriptor underrun\n");
|
||||
+ b43_dma_handle_rx_overflow(dev->dma.rx_ring);
|
||||
+ }
|
||||
if (dma_reason[0] & B43_DMAIRQ_RX_DONE) {
|
||||
if (b43_using_pio_transfers(dev))
|
||||
b43_pio_rx(dev->pio.rx_queue);
|
||||
@@ -2008,7 +2001,7 @@ static irqreturn_t b43_do_interrupt(stru
|
||||
return IRQ_NONE;
|
||||
|
||||
dev->dma_reason[0] = b43_read32(dev, B43_MMIO_DMA0_REASON)
|
||||
- & 0x0001DC00;
|
||||
+ & 0x0001FC00;
|
||||
dev->dma_reason[1] = b43_read32(dev, B43_MMIO_DMA1_REASON)
|
||||
& 0x0000DC00;
|
||||
dev->dma_reason[2] = b43_read32(dev, B43_MMIO_DMA2_REASON)
|
||||
@@ -3137,7 +3130,7 @@ static int b43_chip_init(struct b43_wlde
|
||||
b43_write32(dev, 0x018C, 0x02000000);
|
||||
}
|
||||
b43_write32(dev, B43_MMIO_GEN_IRQ_REASON, 0x00004000);
|
||||
- b43_write32(dev, B43_MMIO_DMA0_IRQ_MASK, 0x0001DC00);
|
||||
+ b43_write32(dev, B43_MMIO_DMA0_IRQ_MASK, 0x0001FC00);
|
||||
b43_write32(dev, B43_MMIO_DMA1_IRQ_MASK, 0x0000DC00);
|
||||
b43_write32(dev, B43_MMIO_DMA2_IRQ_MASK, 0x0000DC00);
|
||||
b43_write32(dev, B43_MMIO_DMA3_IRQ_MASK, 0x0001DC00);
|
Loading…
Reference in new issue