From fec6614f93562456108e2f514427b947c67619bf Mon Sep 17 00:00:00 2001 From: Laura Abbott Date: Sun, 27 Aug 2017 18:59:09 -0700 Subject: Linux v4.13-rc7 --- iio-race-fix.patch | 83 ------------------------------------------------------ kernel.spec | 10 +++---- sources | 3 +- 3 files changed, 6 insertions(+), 90 deletions(-) delete mode 100644 iio-race-fix.patch diff --git a/iio-race-fix.patch b/iio-race-fix.patch deleted file mode 100644 index 2661fa535..000000000 --- a/iio-race-fix.patch +++ /dev/null @@ -1,83 +0,0 @@ -From eafad73ed3851707fa6e3124a255fc049ff9545d Mon Sep 17 00:00:00 2001 -From: Srinivas Pandruvada -Date: Sat, 12 Aug 2017 09:09:21 -0700 -Subject: iio: hid-sensor-trigger: Fix the race with user space powering up - sensors - -It has been reported for a while that with iio-sensor-proxy service the -rotation only works after one suspend/resume cycle. This required a wait -in the systemd unit file to avoid race. I found a Yoga 900 where I could -reproduce this. - -The problem scenerio is: -- During sensor driver init, enable run time PM and also set a - auto-suspend for 3 seconds. - This result in one runtime resume. But there is a check to avoid -a powerup in this sequence, but rpm is active -- User space iio-sensor-proxy tries to power up the sensor. Since rpm is - active it will simply return. But sensors were not actually -powered up in the prior sequence, so actaully the sensors will not work -- After 3 seconds the auto suspend kicks - -If we add a wait in systemd service file to fire iio-sensor-proxy after -3 seconds, then now everything will work as the runtime resume will -actually powerup the sensor as this is a user request. - -To avoid this: -- Remove the check to match user requested state, this will cause a - brief powerup, but if the iio-sensor-proxy starts immediately it will -still work as the sensors are ON. -- Also move the autosuspend delay to place when user requested turn off - of sensors, like after user finished raw read or buffer disable - -Signed-off-by: Srinivas Pandruvada -Tested-by: Bastien Nocera -Cc: -Signed-off-by: Jonathan Cameron ---- - drivers/iio/common/hid-sensors/hid-sensor-trigger.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/drivers/iio/common/hid-sensors/hid-sensor-trigger.c b/drivers/iio/common/hid-sensors/hid-sensor-trigger.c -index 16ade0a..0e4b379 100644 ---- a/drivers/iio/common/hid-sensors/hid-sensor-trigger.c -+++ b/drivers/iio/common/hid-sensors/hid-sensor-trigger.c -@@ -111,8 +111,6 @@ static int _hid_sensor_power_state(struct hid_sensor_common *st, bool state) - s32 poll_value = 0; - - if (state) { -- if (!atomic_read(&st->user_requested_state)) -- return 0; - if (sensor_hub_device_open(st->hsdev)) - return -EIO; - -@@ -161,6 +159,9 @@ static int _hid_sensor_power_state(struct hid_sensor_common *st, bool state) - &report_val); - } - -+ pr_debug("HID_SENSOR %s set power_state %d report_state %d\n", -+ st->pdev->name, state_val, report_val); -+ - sensor_hub_get_feature(st->hsdev, st->power_state.report_id, - st->power_state.index, - sizeof(state_val), &state_val); -@@ -182,6 +183,7 @@ int hid_sensor_power_state(struct hid_sensor_common *st, bool state) - ret = pm_runtime_get_sync(&st->pdev->dev); - else { - pm_runtime_mark_last_busy(&st->pdev->dev); -+ pm_runtime_use_autosuspend(&st->pdev->dev); - ret = pm_runtime_put_autosuspend(&st->pdev->dev); - } - if (ret < 0) { -@@ -285,8 +287,6 @@ int hid_sensor_setup_trigger(struct iio_dev *indio_dev, const char *name, - /* Default to 3 seconds, but can be changed from sysfs */ - pm_runtime_set_autosuspend_delay(&attrb->pdev->dev, - 3000); -- pm_runtime_use_autosuspend(&attrb->pdev->dev); -- - return ret; - error_unreg_trigger: - iio_trigger_unregister(trig); --- -cgit v1.1 - diff --git a/kernel.spec b/kernel.spec index 55a41e8b5..08cd03a86 100644 --- a/kernel.spec +++ b/kernel.spec @@ -67,9 +67,9 @@ Summary: The Linux kernel # The next upstream release sublevel (base_sublevel+1) %define upstream_sublevel %(echo $((%{base_sublevel} + 1))) # The rc snapshot level -%global rcrev 6 +%global rcrev 7 # The git snapshot level -%define gitrev 4 +%define gitrev 0 # Set rpm version accordingly %define rpmversion 4.%{upstream_sublevel}.0 %endif @@ -646,9 +646,6 @@ Patch616: 0016-Input-silead-Do-not-try-to-directly-access-the-GPIO-.patch # rhbz 1476467 Patch617: Fix-for-module-sig-verification.patch -# request for bug fix -Patch618: iio-race-fix.patch - # rhbz 1485086 Patch619: pci-mark-amd-stoney-gpu-ats-as-broken.patch @@ -2209,6 +2206,9 @@ fi # # %changelog +* Mon Aug 28 2017 Laura Abbott - 4.13.0-0.rc7.git0.1 +- Linux v4.13-rc7 + * Mon Aug 28 2017 Laura Abbott - 4.13.0-0.rc6.git4.2 - Disable debugging options. diff --git a/sources b/sources index ed6f96eac..d462d8598 100644 --- a/sources +++ b/sources @@ -1,4 +1,3 @@ SHA512 (perf-man-4.12.tar.gz) = 4d3bbda1f520dba0007c351af46f45085fe4842074eb2e01aee736fd369df595f8f72ed6c1192715f1120bf3353279777f9dca1178fe93bffe5be2de700d409c SHA512 (linux-4.12.tar.xz) = 8e81b41b253e63233e92948941f44c6482acb52aa3a3fd172f03a38a86f2c35b2ad4fd407acd1bc3964673eba344fe104d3a03e3ff4bf9cd1f22bd44263bd728 -SHA512 (patch-4.13-rc6.xz) = bc3dbb6c69a663614132c85cf51b0c390d6c8f6f5be4f950ee5425a16c3b929e59e98fd6bc7ea601f7b369af0e9cad4f21276a12707c6c001f500daaafb07860 -SHA512 (patch-4.13-rc6-git4.xz) = 102b896808dd13053eb870e2fff3260fe9714bd13762bd611415d45c65d00fcadf8d0b2d8e701f0bb15629684eafe1a0bdbc08628f3e22ad0bbafdbce129e4fd +SHA512 (patch-4.13-rc7.xz) = 6e4d86d7342d2f89c694d39ca5254f03dcdea239492753febff5a15bd7475ebfbb29461727f46c7df5f24edd5da25b9da91eb4d3a6250f83bf9876a8c1e36aa1 -- cgit