compat-wireless: Handle name change from iwlagn to iwlwifi in 3.2
authorDon Fry <donald.h.fry@intel.com>
Tue, 6 Mar 2012 23:45:52 +0000 (15:45 -0800)
committerLuis R. Rodriguez <mcgrof@frijolero.org>
Fri, 9 Mar 2012 02:10:28 +0000 (18:10 -0800)
With linux-3.2 the iwlagn driver is renamed iwlwifi.  For some kernels
(like 3.1.5) this causes the non-compat iwlagn.ko to try and run against
the compat mac80211 resulting in an oops.  This change prevents the
non-compat iwlagn.ko from being loaded.

Signed-off-by: Don Fry <donald.h.fry@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Makefile
scripts/iwl-enable
scripts/unload.sh
scripts/wlunload.sh

index 6b6f097475b5ea80e6bb03deac83243913fcaff0..1fedf97ac431316a4e12265fb991edb42f885a08 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -163,6 +163,16 @@ install-scripts:
                echo Running iwl-enable iwlagn...;\
                $(DESTDIR)/usr/sbin/iwl-enable iwlagn ;\
        fi
+       @if [ $(shell modinfo iwlagn > /dev/null 2>&1 && echo 1) ] \
+        && [ $(shell modinfo iwlwifi > /dev/null 2>&1 && echo 1) ]; then \
+               echo ;\
+               echo -n "Note: iwlagn detected, we're going to disable it. " ;\
+               echo "If you would like to enable it later you can run:"  ;\
+               echo "    sudo iwl-load iwlagn"  ;\
+               echo ;\
+               echo Running iwl-enable iwlwifi...;\
+               $(DESTDIR)/usr/sbin/iwl-enable iwlwifi ;\
+       fi
        @if [ $(shell modinfo atl1c > /dev/null 2>&1 && echo 1) ]; then \
                echo ;\
                echo -n "Note: atl1c detected, we're going to disable it. "  ;\
index 765195b355391793eb502f1f4198962d15d138d9..b18fdc2b4a799a64e92e7758fe784b92f2b1f00c 100755 (executable)
@@ -17,7 +17,14 @@ IWL_NEW="iwlagn"
 IWL_OLD="iwl4965"
 
 # Appended to module file at the end when we want to ignore one
-USAGE="Usage: $0 [ $IWL_NEW | $IWL_OLD ]"
+USAGE="Usage: $0 [ $IWL_NEW | $IWL_OLD | iwlwifi ]"
+
+function enable_iwlwifi {
+       for i in $IWL_OLD $IWL_NEW; do
+               module_disable $i
+       done
+       module_enable iwlwifi
+}
 
 function enable_iwlagn {
        module_disable $IWL_OLD
@@ -41,6 +48,8 @@ if [ "$MODULE" == "iwl4965" ]; then
        module_enable $IWL_OLD
 elif [ "$MODULE" == "iwlagn" ]; then
        enable_iwlagn
+elif [ "$MODULE" == "iwlwifi" ]; then
+       enable_iwlwifi
 else
        echo "$USAGE"
        exit
index c659a70508c03dc539d7a5f6573f7049cf796d69..fc7261dda60652e072e4e0579d400715c9cae4f6 100755 (executable)
@@ -15,7 +15,7 @@ MODULES="$MODULES adm8211 zd1211rw"
 MODULES="$MODULES orinoco_cs orinoco_nortel orinoco_pci orinoco_plx"
 MODULES="$MODULES orinoco_tld orinoco_usb spectrum_cs orinoco"
 MODULES="$MODULES b43 b44 b43legacy brcm80211 ssb"
-MODULES="$MODULES iwl3945 iwlagn iwlcore"
+MODULES="$MODULES iwl3945 iwlwifi iwlagn iwlcore"
 MODULES="$MODULES ath9k ath9k_htc ath9k_common ath9k_hw "
 MODULES="$MODULES ath5k ath ath6kl ar9170usb carl9170"
 MODULES="$MODULES p54pci p54usb p54spi p54common"
index cd6298d2ad280f38e02ebd9a41baafcdee1be8c7..c6c6af94f63f4612d2d8589ab6cb9045707caaba 100755 (executable)
@@ -15,7 +15,7 @@ MODULES="$MODULES adm8211 zd1211rw"
 MODULES="$MODULES orinoco_cs orinoco_nortel orinoco_pci orinoco_plx"
 MODULES="$MODULES orinoco_tld orinoco_usb spectrum_cs orinoco"
 MODULES="$MODULES b43 b44 b43legacy brcm80211 ssb"
-MODULES="$MODULES iwl3945 iwlagn iwlcore"
+MODULES="$MODULES iwl3945 iwlwifi iwlagn iwlcore"
 MODULES="$MODULES ath9k ath9k_htc ath9k_common ath9k_hw "
 MODULES="$MODULES ath5k ath ath6kl ar9170usb carl9170"
 MODULES="$MODULES p54pci p54usb p54spi p54common"