From: Greg Kroah-Hartman Date: Wed, 23 Jul 2014 00:39:06 +0000 (-0700) Subject: 3.10-stable patches X-Git-Tag: v3.4.100~25 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=63355e7b565ded529d8721b2dff75f0dd160f153;p=thirdparty%2Fkernel%2Fstable-queue.git 3.10-stable patches added patches: hwmon-adt7470-fix-writes-to-temperature-limit-registers.patch hwmon-da9052-don-t-use-dash-in-the-name-attribute.patch hwmon-da9055-don-t-use-dash-in-the-name-attribute.patch igb-do-a-reset-on-sr-iov-re-init-if-device-is-down.patch iwlwifi-dvm-don-t-enable-cts-to-self.patch tracing-add-ftrace_trace_stack-into-__trace_puts-__trace_bputs.patch tracing-fix-graph-tracer-with-stack-tracer-on-other-archs.patch --- diff --git a/queue-3.10/hwmon-adt7470-fix-writes-to-temperature-limit-registers.patch b/queue-3.10/hwmon-adt7470-fix-writes-to-temperature-limit-registers.patch new file mode 100644 index 00000000000..2dd83eb169f --- /dev/null +++ b/queue-3.10/hwmon-adt7470-fix-writes-to-temperature-limit-registers.patch @@ -0,0 +1,53 @@ +From de12d6f4b10b21854441f5242dcb29ea96181e58 Mon Sep 17 00:00:00 2001 +From: Guenter Roeck +Date: Wed, 16 Jul 2014 17:40:31 -0700 +Subject: hwmon: (adt7470) Fix writes to temperature limit registers + +From: Guenter Roeck + +commit de12d6f4b10b21854441f5242dcb29ea96181e58 upstream. + +Temperature limit registers are signed. Limits therefore need +to be clamped to (-128, 127) degrees C and not to (0, 255) +degrees C. + +Without this fix, writing a limit of 128 degrees C sets the +actual limit to -128 degrees C. + +Signed-off-by: Guenter Roeck +Reviewed-by: Axel Lin +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/hwmon/adt7470.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/drivers/hwmon/adt7470.c ++++ b/drivers/hwmon/adt7470.c +@@ -515,7 +515,7 @@ static ssize_t set_temp_min(struct devic + return -EINVAL; + + temp = DIV_ROUND_CLOSEST(temp, 1000); +- temp = clamp_val(temp, 0, 255); ++ temp = clamp_val(temp, -128, 127); + + mutex_lock(&data->lock); + data->temp_min[attr->index] = temp; +@@ -549,7 +549,7 @@ static ssize_t set_temp_max(struct devic + return -EINVAL; + + temp = DIV_ROUND_CLOSEST(temp, 1000); +- temp = clamp_val(temp, 0, 255); ++ temp = clamp_val(temp, -128, 127); + + mutex_lock(&data->lock); + data->temp_max[attr->index] = temp; +@@ -826,7 +826,7 @@ static ssize_t set_pwm_tmin(struct devic + return -EINVAL; + + temp = DIV_ROUND_CLOSEST(temp, 1000); +- temp = clamp_val(temp, 0, 255); ++ temp = clamp_val(temp, -128, 127); + + mutex_lock(&data->lock); + data->pwm_tmin[attr->index] = temp; diff --git a/queue-3.10/hwmon-da9052-don-t-use-dash-in-the-name-attribute.patch b/queue-3.10/hwmon-da9052-don-t-use-dash-in-the-name-attribute.patch new file mode 100644 index 00000000000..d5bd434dadc --- /dev/null +++ b/queue-3.10/hwmon-da9052-don-t-use-dash-in-the-name-attribute.patch @@ -0,0 +1,31 @@ +From ee14b644daaa58afe1e91bb9ebd9cf1b18d1f5fa Mon Sep 17 00:00:00 2001 +From: Axel Lin +Date: Wed, 9 Jul 2014 09:18:59 +0800 +Subject: hwmon: (da9052) Don't use dash in the name attribute + +From: Axel Lin + +commit ee14b644daaa58afe1e91bb9ebd9cf1b18d1f5fa upstream. + +Dashes are not allowed in hwmon name attributes. +Use "da9052" instead of "da9052-hwmon". + +Signed-off-by: Axel Lin +Signed-off-by: Guenter Roeck +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/hwmon/da9052-hwmon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/hwmon/da9052-hwmon.c ++++ b/drivers/hwmon/da9052-hwmon.c +@@ -194,7 +194,7 @@ static ssize_t da9052_hwmon_show_name(st + struct device_attribute *devattr, + char *buf) + { +- return sprintf(buf, "da9052-hwmon\n"); ++ return sprintf(buf, "da9052\n"); + } + + static ssize_t show_label(struct device *dev, diff --git a/queue-3.10/hwmon-da9055-don-t-use-dash-in-the-name-attribute.patch b/queue-3.10/hwmon-da9055-don-t-use-dash-in-the-name-attribute.patch new file mode 100644 index 00000000000..22f1c3cfd4f --- /dev/null +++ b/queue-3.10/hwmon-da9055-don-t-use-dash-in-the-name-attribute.patch @@ -0,0 +1,31 @@ +From 6b00f440dd678d786389a7100a2e03fe44478431 Mon Sep 17 00:00:00 2001 +From: Axel Lin +Date: Wed, 9 Jul 2014 09:22:54 +0800 +Subject: hwmon: (da9055) Don't use dash in the name attribute + +From: Axel Lin + +commit 6b00f440dd678d786389a7100a2e03fe44478431 upstream. + +Dashes are not allowed in hwmon name attributes. +Use "da9055" instead of "da9055-hwmon". + +Signed-off-by: Axel Lin +Signed-off-by: Guenter Roeck +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/hwmon/da9055-hwmon.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/hwmon/da9055-hwmon.c ++++ b/drivers/hwmon/da9055-hwmon.c +@@ -204,7 +204,7 @@ static ssize_t da9055_hwmon_show_name(st + struct device_attribute *devattr, + char *buf) + { +- return sprintf(buf, "da9055-hwmon\n"); ++ return sprintf(buf, "da9055\n"); + } + + static ssize_t show_label(struct device *dev, diff --git a/queue-3.10/igb-do-a-reset-on-sr-iov-re-init-if-device-is-down.patch b/queue-3.10/igb-do-a-reset-on-sr-iov-re-init-if-device-is-down.patch new file mode 100644 index 00000000000..80288921ccf --- /dev/null +++ b/queue-3.10/igb-do-a-reset-on-sr-iov-re-init-if-device-is-down.patch @@ -0,0 +1,33 @@ +From 76252723e88681628a3dbb9c09c963e095476f73 Mon Sep 17 00:00:00 2001 +From: Stefan Assmann +Date: Thu, 10 Jul 2014 03:29:39 -0700 +Subject: igb: do a reset on SR-IOV re-init if device is down + +From: Stefan Assmann + +commit 76252723e88681628a3dbb9c09c963e095476f73 upstream. + +To properly re-initialize SR-IOV it is necessary to reset the device +even if it is already down. Not doing this may result in Tx unit hangs. + +Signed-off-by: Stefan Assmann +Tested-by: Aaron Brown +Signed-off-by: Jeff Kirsher +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/ethernet/intel/igb/igb_main.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/drivers/net/ethernet/intel/igb/igb_main.c ++++ b/drivers/net/ethernet/intel/igb/igb_main.c +@@ -7229,6 +7229,8 @@ static int igb_sriov_reinit(struct pci_d + + if (netif_running(netdev)) + igb_close(netdev); ++ else ++ igb_reset(adapter); + + igb_clear_interrupt_scheme(adapter); + diff --git a/queue-3.10/iwlwifi-dvm-don-t-enable-cts-to-self.patch b/queue-3.10/iwlwifi-dvm-don-t-enable-cts-to-self.patch new file mode 100644 index 00000000000..c6bf2b44b10 --- /dev/null +++ b/queue-3.10/iwlwifi-dvm-don-t-enable-cts-to-self.patch @@ -0,0 +1,49 @@ +From 43d826ca5979927131685cc2092c7ce862cb91cd Mon Sep 17 00:00:00 2001 +From: Emmanuel Grumbach +Date: Wed, 25 Jun 2014 09:12:30 +0300 +Subject: iwlwifi: dvm: don't enable CTS to self + +From: Emmanuel Grumbach + +commit 43d826ca5979927131685cc2092c7ce862cb91cd upstream. + +We should always prefer to use full RTS protection. Using +CTS to self gives a meaningless improvement, but this flow +is much harder for the firmware which is likely to have +issues with it. + +Signed-off-by: Emmanuel Grumbach +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/wireless/iwlwifi/dvm/rxon.c | 12 ------------ + 1 file changed, 12 deletions(-) + +--- a/drivers/net/wireless/iwlwifi/dvm/rxon.c ++++ b/drivers/net/wireless/iwlwifi/dvm/rxon.c +@@ -1072,13 +1072,6 @@ int iwlagn_commit_rxon(struct iwl_priv * + /* recalculate basic rates */ + iwl_calc_basic_rates(priv, ctx); + +- /* +- * force CTS-to-self frames protection if RTS-CTS is not preferred +- * one aggregation protection method +- */ +- if (!priv->hw_params.use_rts_for_aggregation) +- ctx->staging.flags |= RXON_FLG_SELF_CTS_EN; +- + if ((ctx->vif && ctx->vif->bss_conf.use_short_slot) || + !(ctx->staging.flags & RXON_FLG_BAND_24G_MSK)) + ctx->staging.flags |= RXON_FLG_SHORT_SLOT_MSK; +@@ -1484,11 +1477,6 @@ void iwlagn_bss_info_changed(struct ieee + else + ctx->staging.flags &= ~RXON_FLG_TGG_PROTECT_MSK; + +- if (bss_conf->use_cts_prot) +- ctx->staging.flags |= RXON_FLG_SELF_CTS_EN; +- else +- ctx->staging.flags &= ~RXON_FLG_SELF_CTS_EN; +- + memcpy(ctx->staging.bssid_addr, bss_conf->bssid, ETH_ALEN); + + if (vif->type == NL80211_IFTYPE_AP || diff --git a/queue-3.10/series b/queue-3.10/series index fcd67f8e36e..e2abe729ff3 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -3,3 +3,10 @@ media-gspca_pac7302-add-new-usb-id-for-genius-i-look-317.patch drivers-hv-util-fix-a-bug-in-the-kvp-code.patch bluetooth-ignore-h5-non-link-packets-in-non-active-state.patch fuse-handle-large-user-and-group-id.patch +tracing-fix-graph-tracer-with-stack-tracer-on-other-archs.patch +tracing-add-ftrace_trace_stack-into-__trace_puts-__trace_bputs.patch +hwmon-da9055-don-t-use-dash-in-the-name-attribute.patch +hwmon-da9052-don-t-use-dash-in-the-name-attribute.patch +hwmon-adt7470-fix-writes-to-temperature-limit-registers.patch +igb-do-a-reset-on-sr-iov-re-init-if-device-is-down.patch +iwlwifi-dvm-don-t-enable-cts-to-self.patch diff --git a/queue-3.10/tracing-add-ftrace_trace_stack-into-__trace_puts-__trace_bputs.patch b/queue-3.10/tracing-add-ftrace_trace_stack-into-__trace_puts-__trace_bputs.patch new file mode 100644 index 00000000000..d7dc076e613 --- /dev/null +++ b/queue-3.10/tracing-add-ftrace_trace_stack-into-__trace_puts-__trace_bputs.patch @@ -0,0 +1,84 @@ +From 8abfb8727f4a724d31f9ccfd8013fbd16d539445 Mon Sep 17 00:00:00 2001 +From: "zhangwei(Jovi)" +Date: Thu, 18 Jul 2013 16:31:05 +0800 +Subject: tracing: Add ftrace_trace_stack into __trace_puts/__trace_bputs + +From: "zhangwei(Jovi)" + +commit 8abfb8727f4a724d31f9ccfd8013fbd16d539445 upstream. + +Currently trace option stacktrace is not applicable for +trace_printk with constant string argument, the reason is +in __trace_puts/__trace_bputs ftrace_trace_stack is missing. + +In contrast, when using trace_printk with non constant string +argument(will call into __trace_printk/__trace_bprintk), then +trace option stacktrace is workable, this inconstant result +will confuses users a lot. + +Link: http://lkml.kernel.org/p/51E7A7C9.9040401@huawei.com + +Signed-off-by: zhangwei(Jovi) +Signed-off-by: Steven Rostedt +Signed-off-by: Greg Kroah-Hartman + +--- + kernel/trace/trace.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +--- a/kernel/trace/trace.c ++++ b/kernel/trace/trace.c +@@ -423,6 +423,9 @@ int __trace_puts(unsigned long ip, const + struct print_entry *entry; + unsigned long irq_flags; + int alloc; ++ int pc; ++ ++ pc = preempt_count(); + + if (unlikely(tracing_selftest_running || tracing_disabled)) + return 0; +@@ -432,7 +435,7 @@ int __trace_puts(unsigned long ip, const + local_save_flags(irq_flags); + buffer = global_trace.trace_buffer.buffer; + event = trace_buffer_lock_reserve(buffer, TRACE_PRINT, alloc, +- irq_flags, preempt_count()); ++ irq_flags, pc); + if (!event) + return 0; + +@@ -449,6 +452,7 @@ int __trace_puts(unsigned long ip, const + entry->buf[size] = '\0'; + + __buffer_unlock_commit(buffer, event); ++ ftrace_trace_stack(buffer, irq_flags, 4, pc); + + return size; + } +@@ -466,6 +470,9 @@ int __trace_bputs(unsigned long ip, cons + struct bputs_entry *entry; + unsigned long irq_flags; + int size = sizeof(struct bputs_entry); ++ int pc; ++ ++ pc = preempt_count(); + + if (unlikely(tracing_selftest_running || tracing_disabled)) + return 0; +@@ -473,7 +480,7 @@ int __trace_bputs(unsigned long ip, cons + local_save_flags(irq_flags); + buffer = global_trace.trace_buffer.buffer; + event = trace_buffer_lock_reserve(buffer, TRACE_BPUTS, size, +- irq_flags, preempt_count()); ++ irq_flags, pc); + if (!event) + return 0; + +@@ -482,6 +489,7 @@ int __trace_bputs(unsigned long ip, cons + entry->str = str; + + __buffer_unlock_commit(buffer, event); ++ ftrace_trace_stack(buffer, irq_flags, 4, pc); + + return 1; + } diff --git a/queue-3.10/tracing-fix-graph-tracer-with-stack-tracer-on-other-archs.patch b/queue-3.10/tracing-fix-graph-tracer-with-stack-tracer-on-other-archs.patch new file mode 100644 index 00000000000..ef2bb2a2d7c --- /dev/null +++ b/queue-3.10/tracing-fix-graph-tracer-with-stack-tracer-on-other-archs.patch @@ -0,0 +1,47 @@ +From 5f8bf2d263a20b986225ae1ed7d6759dc4b93af9 Mon Sep 17 00:00:00 2001 +From: "Steven Rostedt (Red Hat)" +Date: Tue, 15 Jul 2014 11:05:12 -0400 +Subject: tracing: Fix graph tracer with stack tracer on other archs + +From: "Steven Rostedt (Red Hat)" + +commit 5f8bf2d263a20b986225ae1ed7d6759dc4b93af9 upstream. + +Running my ftrace tests on PowerPC, it failed the test that checks +if function_graph tracer is affected by the stack tracer. It was. +Looking into this, I found that the update_function_graph_func() +must be called even if the trampoline function is not changed. +This is because archs like PowerPC do not support ftrace_ops being +passed by assembly and instead uses a helper function (what the +trampoline function points to). Since this function is not changed +even when multiple ftrace_ops are added to the code, the test that +falls out before calling update_function_graph_func() will miss that +the update must still be done. + +Call update_function_graph_function() for all calls to +update_ftrace_function() + +Signed-off-by: Steven Rostedt +Signed-off-by: Greg Kroah-Hartman + +--- + kernel/trace/ftrace.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/kernel/trace/ftrace.c ++++ b/kernel/trace/ftrace.c +@@ -331,12 +331,12 @@ static void update_ftrace_function(void) + func = ftrace_ops_list_func; + } + ++ update_function_graph_func(); ++ + /* If there's no change, then do nothing more here */ + if (ftrace_trace_function == func) + return; + +- update_function_graph_func(); +- + /* + * If we are using the list function, it doesn't care + * about the function_trace_ops.