From: Greg Kroah-Hartman Date: Tue, 27 Oct 2015 02:15:32 +0000 (+0900) Subject: 4.2-stable patches X-Git-Tag: v3.10.93~43 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ea5e6e3a68f821322e34fbc7a5886156e4acaead;p=thirdparty%2Fkernel%2Fstable-queue.git 4.2-stable patches added patches: ath9k-declare-required-extra-tx-headroom.patch mac80211-fix-hwflags-debugfs-file-format.patch mmc-core-fix-init_card-in-52mhz.patch --- diff --git a/queue-4.2/ath9k-declare-required-extra-tx-headroom.patch b/queue-4.2/ath9k-declare-required-extra-tx-headroom.patch new file mode 100644 index 00000000000..16272ae0a0e --- /dev/null +++ b/queue-4.2/ath9k-declare-required-extra-tx-headroom.patch @@ -0,0 +1,31 @@ +From 029cd0370241641eb70235d205aa0b90c84dce44 Mon Sep 17 00:00:00 2001 +From: Felix Fietkau +Date: Thu, 24 Sep 2015 16:59:46 +0200 +Subject: ath9k: declare required extra tx headroom + +From: Felix Fietkau + +commit 029cd0370241641eb70235d205aa0b90c84dce44 upstream. + +ath9k inserts padding between the 802.11 header and the data area (to +align it). Since it didn't declare this extra required headroom, this +led to some nasty issues like randomly dropped packets in some setups. + +Signed-off-by: Felix Fietkau +Signed-off-by: Kalle Valo +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/wireless/ath/ath9k/init.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/net/wireless/ath/ath9k/init.c ++++ b/drivers/net/wireless/ath/ath9k/init.c +@@ -874,6 +874,7 @@ static void ath9k_set_hw_capab(struct at + hw->max_rate_tries = 10; + hw->sta_data_size = sizeof(struct ath_node); + hw->vif_data_size = sizeof(struct ath_vif); ++ hw->extra_tx_headroom = 4; + + hw->wiphy->available_antennas_rx = BIT(ah->caps.max_rxchains) - 1; + hw->wiphy->available_antennas_tx = BIT(ah->caps.max_txchains) - 1; diff --git a/queue-4.2/mac80211-fix-hwflags-debugfs-file-format.patch b/queue-4.2/mac80211-fix-hwflags-debugfs-file-format.patch new file mode 100644 index 00000000000..0cba04d18c7 --- /dev/null +++ b/queue-4.2/mac80211-fix-hwflags-debugfs-file-format.patch @@ -0,0 +1,34 @@ +From 4633dfc32c0019bed2996de9bbdbe7f3b518a44e Mon Sep 17 00:00:00 2001 +From: Mohammed Shafi Shajakhan +Date: Thu, 8 Oct 2015 19:20:14 +0530 +Subject: mac80211: Fix hwflags debugfs file format + +From: Mohammed Shafi Shajakhan + +commit 4633dfc32c0019bed2996de9bbdbe7f3b518a44e upstream. + +Commit 30686bf7f5b3 ("mac80211: convert HW flags to unsigned long +bitmap") accidentally removed the newline delimiter from the hwflags +debugfs file. Fix this by adding back the newline between the HW flags. + +Signed-off-by: Mohammed Shafi Shajakhan +[fix commit log] +Signed-off-by: Jouni Malinen +Signed-off-by: Johannes Berg +Signed-off-by: Greg Kroah-Hartman + +--- + net/mac80211/debugfs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/net/mac80211/debugfs.c ++++ b/net/mac80211/debugfs.c +@@ -148,7 +148,7 @@ static ssize_t hwflags_read(struct file + + for (i = 0; i < NUM_IEEE80211_HW_FLAGS; i++) { + if (test_bit(i, local->hw.flags)) +- pos += scnprintf(pos, end - pos, "%s", ++ pos += scnprintf(pos, end - pos, "%s\n", + hw_flag_names[i]); + } + diff --git a/queue-4.2/mmc-core-fix-init_card-in-52mhz.patch b/queue-4.2/mmc-core-fix-init_card-in-52mhz.patch new file mode 100644 index 00000000000..3abec18a29f --- /dev/null +++ b/queue-4.2/mmc-core-fix-init_card-in-52mhz.patch @@ -0,0 +1,82 @@ +From 08b137d90eec51b0e90c42e123ca8ceb118d233f Mon Sep 17 00:00:00 2001 +From: Chaotian Jing +Date: Mon, 12 Oct 2015 17:22:23 +0800 +Subject: mmc: core: Fix init_card in 52Mhz + +From: Chaotian Jing + +commit 08b137d90eec51b0e90c42e123ca8ceb118d233f upstream. + +Suppose that we got a data crc error, and it triggers the mmc_reset. +mmc_reset will call mmc_send_status to see if HW reset was supported. +before issue CMD13, it will do retune, and if EMMC was in HS400 mode, +it will reduce frequency to 52Mhz firstly, then results in card init +was doing at 52Mhz. +The mmc_send_status was originally only done for mmc_test, should drop +it. And, rename the "eMMC hardware reset" to "Reset test", as we would +also be able to use the test for SD-cards. + +Signed-off-by: Chaotian Jing +Suggested-by: Adrian Hunter +Fixes: bd11e8bd03ca ("mmc: core: Flag re-tuning is needed on CRC errors") +Signed-off-by: Ulf Hansson +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/mmc/card/mmc_test.c | 9 +++------ + drivers/mmc/core/mmc.c | 7 ------- + 2 files changed, 3 insertions(+), 13 deletions(-) + +--- a/drivers/mmc/card/mmc_test.c ++++ b/drivers/mmc/card/mmc_test.c +@@ -2263,15 +2263,12 @@ static int mmc_test_profile_sglen_r_nonb + /* + * eMMC hardware reset. + */ +-static int mmc_test_hw_reset(struct mmc_test_card *test) ++static int mmc_test_reset(struct mmc_test_card *test) + { + struct mmc_card *card = test->card; + struct mmc_host *host = card->host; + int err; + +- if (!mmc_card_mmc(card) || !mmc_can_reset(card)) +- return RESULT_UNSUP_CARD; +- + err = mmc_hw_reset(host); + if (!err) + return RESULT_OK; +@@ -2605,8 +2602,8 @@ static const struct mmc_test_case mmc_te + }, + + { +- .name = "eMMC hardware reset", +- .run = mmc_test_hw_reset, ++ .name = "Reset test", ++ .run = mmc_test_reset, + }, + }; + +--- a/drivers/mmc/core/mmc.c ++++ b/drivers/mmc/core/mmc.c +@@ -1924,7 +1924,6 @@ EXPORT_SYMBOL(mmc_can_reset); + static int mmc_reset(struct mmc_host *host) + { + struct mmc_card *card = host->card; +- u32 status; + + if (!(host->caps & MMC_CAP_HW_RESET) || !host->ops->hw_reset) + return -EOPNOTSUPP; +@@ -1937,12 +1936,6 @@ static int mmc_reset(struct mmc_host *ho + + host->ops->hw_reset(host); + +- /* If the reset has happened, then a status command will fail */ +- if (!mmc_send_status(card, &status)) { +- mmc_host_clk_release(host); +- return -ENOSYS; +- } +- + /* Set initial state and call mmc_set_ios */ + mmc_set_initial_state(host); + mmc_host_clk_release(host);