diff --git a/debian/changelog b/debian/changelog index 2635482f2..ecbd10209 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,7 @@ linux (3.10.1-2) UNRELEASED; urgency=low * udeb: Add snd-cmi8328 and snd-scs1x to sound-modules, thanks to Samuel Thibault (Closes: #717183) * be2net: Fix to avoid hardware workaround when not needed + * iwlwifi: Update 3160 and 7260 support to work with production firmware -- Arnaud Patard Tue, 16 Jul 2013 08:19:29 +0200 diff --git a/debian/patches/features/all/iwlwifi-bump-required-firmware-API-version-for-3160-.patch b/debian/patches/features/all/iwlwifi-bump-required-firmware-API-version-for-3160-.patch new file mode 100644 index 000000000..63f9fe4af --- /dev/null +++ b/debian/patches/features/all/iwlwifi-bump-required-firmware-API-version-for-3160-.patch @@ -0,0 +1,43 @@ +From: Johannes Berg +Date: Thu, 13 Jun 2013 16:06:08 +0200 +Subject: iwlwifi: bump required firmware API version for 3160/7260 +Origin: https://git.kernel.org/linus/a2d0909a687b4d250cc2b7481072e361678745ba + +As the firmware API has changed significantly and we don't +have support code for the old APIs, bump the version to be +able to release the version 7 API firmware. Unfortunately +this means that the driver in 3.9 and 3.10 can't work, but +that's still better than crashing the device/driver there. + +Signed-off-by: Johannes Berg +--- + drivers/net/wireless/iwlwifi/iwl-7000.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/drivers/net/wireless/iwlwifi/iwl-7000.c b/drivers/net/wireless/iwlwifi/iwl-7000.c +index d4f3b48..22b7fa5 100644 +--- a/drivers/net/wireless/iwlwifi/iwl-7000.c ++++ b/drivers/net/wireless/iwlwifi/iwl-7000.c +@@ -67,16 +67,16 @@ + #include "iwl-agn-hw.h" + + /* Highest firmware API version supported */ +-#define IWL7260_UCODE_API_MAX 6 +-#define IWL3160_UCODE_API_MAX 6 ++#define IWL7260_UCODE_API_MAX 7 ++#define IWL3160_UCODE_API_MAX 7 + + /* Oldest version we won't warn about */ +-#define IWL7260_UCODE_API_OK 6 +-#define IWL3160_UCODE_API_OK 6 ++#define IWL7260_UCODE_API_OK 7 ++#define IWL3160_UCODE_API_OK 7 + + /* Lowest firmware API version supported */ +-#define IWL7260_UCODE_API_MIN 6 +-#define IWL3160_UCODE_API_MIN 6 ++#define IWL7260_UCODE_API_MIN 7 ++#define IWL3160_UCODE_API_MIN 7 + + /* NVM versions */ + #define IWL7260_NVM_VERSION 0x0a1d diff --git a/debian/patches/features/all/iwlwifi-mvm-adjust-firmware-D3-configuration-API.patch b/debian/patches/features/all/iwlwifi-mvm-adjust-firmware-D3-configuration-API.patch new file mode 100644 index 000000000..2e418dc84 --- /dev/null +++ b/debian/patches/features/all/iwlwifi-mvm-adjust-firmware-D3-configuration-API.patch @@ -0,0 +1,34 @@ +From: Johannes Berg +Date: Wed, 15 May 2013 11:44:49 +0200 +Subject: iwlwifi: mvm: adjust firmware D3 configuration API +Origin: https://git.kernel.org/linus/dfcb4c3aacedee6838e436fb575b31e138505203 + +The D3 firmware API changed to include a new field, adjust +the driver to it to avoid getting an NMI when configuring. + +Signed-off-by: Johannes Berg +--- + drivers/net/wireless/iwlwifi/mvm/fw-api-d3.h | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/drivers/net/wireless/iwlwifi/mvm/fw-api-d3.h b/drivers/net/wireless/iwlwifi/mvm/fw-api-d3.h +index 51e015d..6f8b2c1 100644 +--- a/drivers/net/wireless/iwlwifi/mvm/fw-api-d3.h ++++ b/drivers/net/wireless/iwlwifi/mvm/fw-api-d3.h +@@ -75,13 +75,15 @@ enum iwl_d3_wakeup_flags { + * struct iwl_d3_manager_config - D3 manager configuration command + * @min_sleep_time: minimum sleep time (in usec) + * @wakeup_flags: wakeup flags, see &enum iwl_d3_wakeup_flags ++ * @wakeup_host_timer: force wakeup after this many seconds + * + * The structure is used for the D3_CONFIG_CMD command. + */ + struct iwl_d3_manager_config { + __le32 min_sleep_time; + __le32 wakeup_flags; +-} __packed; /* D3_MANAGER_CONFIG_CMD_S_VER_3 */ ++ __le32 wakeup_host_timer; ++} __packed; /* D3_MANAGER_CONFIG_CMD_S_VER_4 */ + + + /* TODO: OFFLOADS_QUERY_API_S_VER_1 */ diff --git a/debian/patches/features/all/iwlwifi-mvm-support-BSS-only.patch b/debian/patches/features/all/iwlwifi-mvm-support-BSS-only.patch new file mode 100644 index 000000000..313d9f50d --- /dev/null +++ b/debian/patches/features/all/iwlwifi-mvm-support-BSS-only.patch @@ -0,0 +1,83 @@ +From: Emmanuel Grumbach +Date: Mon, 15 Jul 2013 14:44:58 +0300 +Subject: iwlwifi: mvm: support BSS only +Origin: http://mid.gmane.org/1373888700-3040-2-git-send-email-emmanuel.grumbach@intel.com +Forwarded: not-needed + +Only BSS is supported in 3.10. In later kernels, other modes +have been fixed and tested to work. +This will at least allow user to use the regular wifi +functionality. + +Signed-off-by: Emmanuel Grumbach +--- + drivers/net/wireless/iwlwifi/mvm/mac80211.c | 36 +-------------------------- + 1 file changed, 1 insertion(+), 35 deletions(-) + +diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c +index a5eb8c8..5b1b86f 100644 +--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c ++++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c +@@ -78,32 +78,6 @@ + #include "fw-api-scan.h" + #include "iwl-phy-db.h" + +-static const struct ieee80211_iface_limit iwl_mvm_limits[] = { +- { +- .max = 1, +- .types = BIT(NL80211_IFTYPE_STATION) | +- BIT(NL80211_IFTYPE_AP), +- }, +- { +- .max = 1, +- .types = BIT(NL80211_IFTYPE_P2P_CLIENT) | +- BIT(NL80211_IFTYPE_P2P_GO), +- }, +- { +- .max = 1, +- .types = BIT(NL80211_IFTYPE_P2P_DEVICE), +- }, +-}; +- +-static const struct ieee80211_iface_combination iwl_mvm_iface_combinations[] = { +- { +- .num_different_channels = 1, +- .max_interfaces = 3, +- .limits = iwl_mvm_limits, +- .n_limits = ARRAY_SIZE(iwl_mvm_limits), +- }, +-}; +- + #ifdef CONFIG_PM_SLEEP + static const struct nl80211_wowlan_tcp_data_token_feature + iwl_mvm_wowlan_tcp_token_feature = { +@@ -160,20 +134,12 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm) + hw->vif_data_size = sizeof(struct iwl_mvm_vif); + hw->chanctx_data_size = sizeof(struct iwl_mvm_phy_ctxt); + +- hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | +- BIT(NL80211_IFTYPE_P2P_CLIENT) | +- BIT(NL80211_IFTYPE_AP) | +- BIT(NL80211_IFTYPE_P2P_GO) | +- BIT(NL80211_IFTYPE_P2P_DEVICE); ++ hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION); + + hw->wiphy->flags |= WIPHY_FLAG_CUSTOM_REGULATORY | + WIPHY_FLAG_DISABLE_BEACON_HINTS | + WIPHY_FLAG_IBSS_RSN; + +- hw->wiphy->iface_combinations = iwl_mvm_iface_combinations; +- hw->wiphy->n_iface_combinations = +- ARRAY_SIZE(iwl_mvm_iface_combinations); +- + hw->wiphy->max_remain_on_channel_duration = 10000; + hw->max_listen_interval = IWL_CONN_MAX_LISTEN_INTERVAL; + +-- +1.7.10.4 + +-- +To unsubscribe from this list: send the line "unsubscribe stable" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html + diff --git a/debian/patches/series b/debian/patches/series index 640b76efb..d77807dc0 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -106,3 +106,6 @@ bugfix/all/alx-remove-WoL-support.patch bugfix/all/alx-fix-lockdep-annotation.patch bugfix/all/xen-blkback-Check-device-permissions-before-allowing.patch bugfix/all/be2net-Fix-to-avoid-hardware-workaround-when-not-nee.patch +features/all/iwlwifi-mvm-support-BSS-only.patch +features/all/iwlwifi-mvm-adjust-firmware-D3-configuration-API.patch +features/all/iwlwifi-bump-required-firmware-API-version-for-3160-.patch