[svn] r5202 - trunk/rpms/dkms-ipw3945
packagers at lists.rpmforge.net
packagers at lists.rpmforge.net
Sat Feb 24 15:09:45 CET 2007
Author: thias
Date: 2007-02-24 15:09:44 +0100 (Sat, 24 Feb 2007)
New Revision: 5202
Added:
trunk/rpms/dkms-ipw3945/ipw3945-1.2.0-options.patch
trunk/rpms/dkms-ipw3945/ipw3945-1.2.0-read-rfkill-register.patch
Modified:
trunk/rpms/dkms-ipw3945/dkms-ipw3945.spec
Log:
Include deadlock patch for dkms-ipw3945 and make build options configurable.
Modified: trunk/rpms/dkms-ipw3945/dkms-ipw3945.spec
===================================================================
--- trunk/rpms/dkms-ipw3945/dkms-ipw3945.spec 2007-02-24 14:00:19 UTC (rev 5201)
+++ trunk/rpms/dkms-ipw3945/dkms-ipw3945.spec 2007-02-24 14:09:44 UTC (rev 5202)
@@ -5,11 +5,13 @@
Summary: Driver for Intel® PRO/Wirelss 3945 network adaptors
Name: dkms-ipw3945
Version: 1.2.0
-Release: 1
+Release: 3
License: GPL
Group: System Environment/Kernel
URL: http://ipw3945.sourceforge.net/
Source: http://dl.sf.net/ipw3945/ipw3945-%{version}.tgz
+Patch0: ipw3945-1.2.0-options.patch
+Patch1: ipw3945-1.2.0-read-rfkill-register.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildArch: noarch
Requires: gcc, make
@@ -24,6 +26,8 @@
%prep
%setup -n ipw3945-%{version}
+%patch0 -p1
+%patch1 -p1
%build
@@ -50,7 +54,11 @@
AUTOINSTALL="YES"
EOF
+# File to set special compile options (created and used by our patch)
+%{__install} -p -D -m 0600 options.mak \
+ %{buildroot}%{_sysconfdir}/sysconfig/ipw3945-options.mak
+
%clean
%{__rm} -rf %{buildroot}
@@ -70,10 +78,18 @@
%files
%defattr(-, root, root, 0755)
%doc CHANGES ISSUES LICENSE* README.ipw3945
+%config(noreplace) %{_sysconfdir}/sysconfig/ipw3945-options.mak
%{_usrsrc}/%{dkms_name}-%{dkms_vers}/
%changelog
+* Mon Jan 29 2007 Matthias Saou <http://freshrpms.net/> 1.2.0-3
+- Add RF kill deadlock patch (upstream #1096), Stefan Becker.
+
+* Fri Jan 26 2007 Matthias Saou <http://freshrpms.net/> 1.2.0-2
+- Extract part of the Makefile in order to make setting options possible.
+- Build monitor mode option by default.
+
* Tue Jan 9 2007 Matthias Saou <http://freshrpms.net/> 1.2.0-1
- Update to 1.2.0.
- Remove now included register and ESSID patches.
Added: trunk/rpms/dkms-ipw3945/ipw3945-1.2.0-options.patch
===================================================================
--- trunk/rpms/dkms-ipw3945/ipw3945-1.2.0-options.patch (rev 0)
+++ trunk/rpms/dkms-ipw3945/ipw3945-1.2.0-options.patch 2007-02-24 14:09:44 UTC (rev 5202)
@@ -0,0 +1,72 @@
+diff -Naupr ipw3945-1.2.0.orig/Makefile ipw3945-1.2.0/Makefile
+--- ipw3945-1.2.0.orig/Makefile 2006-12-31 04:28:55.000000000 +0100
++++ ipw3945-1.2.0/Makefile 2007-01-26 10:45:50.000000000 +0100
+@@ -18,34 +18,7 @@ EXTERNAL_BUILD=y
+ CONFIG_IPW3945=m
+ CONFIG_IPW3945_DEBUG=y
+
+-# NOTE: QoS support is currently broken in the build. DO NOT ENABLE.
+-# CONFIG_IPW3945_QOS=y
+-
+-# If you are not interested in using monitor mode, simply comment out:
+-#
+-# NOTE: If you have problems compiling due to IW_MODE_MONITOR not being
+-# defined then you need to update the wireless extension version
+-# installed in your kernel, or comment this line out.
+-# CONFIG_IPW3945_MONITOR=y
+-
+-# If you are interested in using radiotap headers in monitor mode,
+-# simply uncomment:
+-#
+-# NOTE: To use RADIOTAP you must also enable MONITOR above.
+-# CONFIG_IEEE80211_RADIOTAP=y
+-
+-# The above monitor mode provides standard monitor mode. The following
+-# will create a new interface (named raw%d) which will be sent all
+-# 802.11 frames received on the interface
+-#
+-# NOTE: To use PROMISCUOUS you must also enable MONITOR above.
+-# CONFIG_IPW3945_PROMISCUOUS=y
+-
+-# The following, if enabled, will add a sysfs entry 'rx' that raw
+-# 802.11 radiotap formatted packets can be written to. Those packets
+-# will be passed to the driver as if they were received from over the
+-# air. This is useful in debugging features not supported by your AP.
+-# CONFIG_IPW3945_SIM_RX=y
++include /etc/sysconfig/ipw3945-options.mak
+
+ endif
+
+diff -Naupr ipw3945-1.2.0.orig/options.mak ipw3945-1.2.0/options.mak
+--- ipw3945-1.2.0.orig/options.mak 1970-01-01 01:00:00.000000000 +0100
++++ ipw3945-1.2.0/options.mak 2007-01-26 10:42:39.000000000 +0100
+@@ -0,0 +1,29 @@
++# NOTE: QoS support is currently broken in the build. DO NOT ENABLE.
++# CONFIG_IPW3945_QOS=y
++
++# If you are not interested in using monitor mode, simply comment out:
++#
++# NOTE: If you have problems compiling due to IW_MODE_MONITOR not being
++# defined then you need to update the wireless extension version
++# installed in your kernel, or comment this line out.
++CONFIG_IPW3945_MONITOR=y
++
++# If you are interested in using radiotap headers in monitor mode,
++# simply uncomment:
++#
++# NOTE: To use RADIOTAP you must also enable MONITOR above.
++# CONFIG_IEEE80211_RADIOTAP=y
++
++# The above monitor mode provides standard monitor mode. The following
++# will create a new interface (named raw%d) which will be sent all
++# 802.11 frames received on the interface
++#
++# NOTE: To use PROMISCUOUS you must also enable MONITOR above.
++# CONFIG_IPW3945_PROMISCUOUS=y
++
++# The following, if enabled, will add a sysfs entry 'rx' that raw
++# 802.11 radiotap formatted packets can be written to. Those packets
++# will be passed to the driver as if they were received from over the
++# air. This is useful in debugging features not supported by your AP.
++# CONFIG_IPW3945_SIM_RX=y
++
Added: trunk/rpms/dkms-ipw3945/ipw3945-1.2.0-read-rfkill-register.patch
===================================================================
--- trunk/rpms/dkms-ipw3945/ipw3945-1.2.0-read-rfkill-register.patch (rev 0)
+++ trunk/rpms/dkms-ipw3945/ipw3945-1.2.0-read-rfkill-register.patch 2007-02-24 14:09:44 UTC (rev 5202)
@@ -0,0 +1,52 @@
+--- ipw3945-1.2.0-1/ipw3945.h.orig 2007-01-27 17:52:04.000000000 +0200
++++ ipw3945-1.2.0-1/ipw3945.h 2007-01-27 17:52:31.000000000 +0200
+@@ -1170,6 +1170,7 @@
+ #define ALM_APMG_CLK_DIS (0x003008)
+ #define ALM_APMG_PS_CTL (0x00300c)
+ #define ALM_APMG_PCIDEV_STT (0x003010)
++#define ALM_APMG_RFKILL (0x003014)
+ #define ALM_APMG_LARC_INT (0x00301c)
+ #define ALM_APMG_LARC_INT_MSK (0x003020)
+
+--- ipw3945-1.2.0-1/ipw3945.c.orig 2007-01-27 17:52:02.000000000 +0200
++++ ipw3945-1.2.0-1/ipw3945.c 2007-01-27 17:53:07.000000000 +0200
+@@ -15955,6 +15955,8 @@
+ static void ipw_alive_start(struct ipw_priv *priv)
+ {
+ int thermal_spin = 0;
++ int rc;
++ u32 rfkill;
+
+ if (priv->card_alive.is_valid != 1) {
+ /* We had an error bringing up the hardware, so take it
+@@ -15969,7 +15971,19 @@
+
+ IPW_DEBUG_INFO("Alive received.\n");
+
+- if (!(priv->status & STATUS_RF_KILL_MASK)) {
++ rc = ipw_grab_restricted_access(priv);
++ if (rc) {
++ IPW_WARNING("Can not read rfkill status from adapter\n");
++ return;
++ }
++
++ rfkill = ipw_read_restricted_reg(priv, ALM_APMG_RFKILL);
++ IPW_DEBUG_INFO("RFKILL status: 0x%x\n", rfkill);
++ ipw_release_restricted_access(priv);
++
++ if (rfkill & 1) {
++ priv->status &= ~STATUS_RF_KILL_HW;
++
+ /* if rfkill is not on, then
+ * wait for thermal sensor in adapter to kick in */
+ while (ipw_read32(priv, CSR_UCODE_DRV_GP2) == 0) {
+@@ -15979,7 +15993,8 @@
+ if (thermal_spin)
+ IPW_DEBUG_INFO("Thermal calibration took %dus\n",
+ thermal_spin * 10);
+- }
++ } else
++ priv->status |= STATUS_RF_KILL_HW;
+
+ ipw_clear_stations_table(priv);
+
More information about the svn-commits
mailing list