From: Greg Kroah-Hartman Date: Mon, 5 Nov 2012 13:41:28 +0000 (+0100) Subject: 3.0-stable patches X-Git-Tag: v3.0.52~46 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=185ccbed4feea5ccf601bae5725af9676e33fcc3;p=thirdparty%2Fkernel%2Fstable-queue.git 3.0-stable patches added patches: rt2800-validate-step-value-for-temperature-compensation.patch target-don-t-return-success-from-module_init-if-setup-fails.patch --- diff --git a/queue-3.0/rt2800-validate-step-value-for-temperature-compensation.patch b/queue-3.0/rt2800-validate-step-value-for-temperature-compensation.patch new file mode 100644 index 00000000000..d961b5bc366 --- /dev/null +++ b/queue-3.0/rt2800-validate-step-value-for-temperature-compensation.patch @@ -0,0 +1,34 @@ +From bf7e1abe434ba9e22e8dc04a4cba4ab504b788b8 Mon Sep 17 00:00:00 2001 +From: Stanislaw Gruszka +Date: Thu, 25 Oct 2012 09:51:39 +0200 +Subject: rt2800: validate step value for temperature compensation + +From: Stanislaw Gruszka + +commit bf7e1abe434ba9e22e8dc04a4cba4ab504b788b8 upstream. + +Some hardware has correct (!= 0xff) value of tssi_bounds[4] in the +EEPROM, but step is equal to 0xff. This results on ridiculous delta +calculations and completely broke TX power settings. + +Reported-and-tested-by: Pavel Lucik +Signed-off-by: Stanislaw Gruszka +Acked-by: Ivo van Doorn +Signed-off-by: John W. Linville +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/wireless/rt2x00/rt2800lib.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/net/wireless/rt2x00/rt2800lib.c ++++ b/drivers/net/wireless/rt2x00/rt2800lib.c +@@ -1935,7 +1935,7 @@ static int rt2800_get_gain_calibration_d + /* + * Check if temperature compensation is supported. + */ +- if (tssi_bounds[4] == 0xff) ++ if (tssi_bounds[4] == 0xff || step == 0xff) + return 0; + + /* diff --git a/queue-3.0/series b/queue-3.0/series index 45e1209d72a..a6508f0d511 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -1 +1,3 @@ ath9k-fix-stale-pointers-potentially-causing-access-to-free-d-skbs.patch +rt2800-validate-step-value-for-temperature-compensation.patch +target-don-t-return-success-from-module_init-if-setup-fails.patch diff --git a/queue-3.0/target-don-t-return-success-from-module_init-if-setup-fails.patch b/queue-3.0/target-don-t-return-success-from-module_init-if-setup-fails.patch new file mode 100644 index 00000000000..9533c11a476 --- /dev/null +++ b/queue-3.0/target-don-t-return-success-from-module_init-if-setup-fails.patch @@ -0,0 +1,35 @@ +From 0d0f9dfb31e0a6c92063e235417b42df185b3275 Mon Sep 17 00:00:00 2001 +From: Roland Dreier +Date: Wed, 31 Oct 2012 09:16:44 -0700 +Subject: target: Don't return success from module_init() if setup fails + +From: Roland Dreier + +commit 0d0f9dfb31e0a6c92063e235417b42df185b3275 upstream. + +If the call to core_dev_release_virtual_lun0() fails, then nothing +sets ret to anything other than 0, so even though everything is +torn down and freed, target_core_init_configfs() will seem to succeed +and the module will be loaded. Fix this by passing the return value +on up the chain. + +Signed-off-by: Roland Dreier +Signed-off-by: Nicholas Bellinger +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/target/target_core_configfs.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/target/target_core_configfs.c ++++ b/drivers/target/target_core_configfs.c +@@ -3234,7 +3234,8 @@ static int __init target_core_init_confi + if (ret < 0) + goto out; + +- if (core_dev_setup_virtual_lun0() < 0) ++ ret = core_dev_setup_virtual_lun0(); ++ if (ret < 0) + goto out; + + return 0;