summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2017-06-11 19:31:00 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2017-06-11 19:31:00 -0400
commitc8d13ac16a158099210aed92d88a2d3eb103a254 (patch)
treeb40ebe2ea018814333b567164f74265be700d39e
parentdb723733e5b612dcb7e8c4e31382affdb4635e7a (diff)
downloadlongterm-queue-4.8-c8d13ac16a158099210aed92d88a2d3eb103a254.tar.gz
drop patches with explicit 4.9+ tags
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--queue/cpufreq-Bring-CPUs-up-even-if-cpufreq_online-failed.patch77
-rw-r--r--queue/drm-etnaviv-fix-missing-unlock-on-error-in-etnaviv_g.patch43
-rw-r--r--queue/drm-i915-Avoid-rcu_barrier-from-reclaim-paths-shrink.patch273
-rw-r--r--queue/mac80211-unconditionally-start-new-netdev-queues-wit.patch36
-rw-r--r--queue/media-dvb-usb-don-t-use-stack-for-firmware-load.patch133
-rw-r--r--queue/parisc-Fix-get_user-for-64-bit-value-on-32-bit-kerne.patch152
-rw-r--r--queue/parisc-fix-bugs-in-pa_memcpy.patch147
-rw-r--r--queue/ppdev-check-before-attaching-port.patch70
-rw-r--r--queue/ppdev-fix-registering-same-device-name.patch93
-rw-r--r--queue/series9
-rw-r--r--queue/x86-efi-Don-t-try-to-reserve-runtime-regions.patch64
11 files changed, 0 insertions, 1097 deletions
diff --git a/queue/cpufreq-Bring-CPUs-up-even-if-cpufreq_online-failed.patch b/queue/cpufreq-Bring-CPUs-up-even-if-cpufreq_online-failed.patch
deleted file mode 100644
index 4fddb0d..0000000
--- a/queue/cpufreq-Bring-CPUs-up-even-if-cpufreq_online-failed.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From c4a3fa261b16858416f1fd7db03a33d7ef5fc0b3 Mon Sep 17 00:00:00 2001
-From: Chen Yu <yu.c.chen@intel.com>
-Date: Sun, 9 Apr 2017 13:45:16 +0800
-Subject: [PATCH] cpufreq: Bring CPUs up even if cpufreq_online() failed
-
-commit c4a3fa261b16858416f1fd7db03a33d7ef5fc0b3 upstream.
-
-There is a report that after commit 27622b061eb4 ("cpufreq: Convert
-to hotplug state machine"), the normal CPU offline/online cycle
-fails on some platforms.
-
-According to the ftrace result, this problem was triggered on
-platforms using acpi-cpufreq as the default cpufreq driver,
-and due to the lack of some ACPI freq method (eg. _PCT),
-cpufreq_online() failed and returned a negative value, so the CPU
-hotplug state machine rolled back the CPU online process. Actually,
-from the user's perspective, the failure of cpufreq_online() should
-not prevent that CPU from being brought up, although cpufreq might
-not work on that CPU.
-
-BTW, during system startup cpufreq_online() is not invoked via CPU
-online but by the cpufreq device creation process, so the APs can be
-brought up even though cpufreq_online() fails in that stage.
-
-This patch ignores the return value of cpufreq_online/offline() and
-lets the cpufreq framework deal with the failure. cpufreq_online()
-itself will do a proper rollback in that case and if _PCT is missing,
-the ACPI cpufreq driver will print a warning if the corresponding
-debug options have been enabled.
-
-Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=194581
-Fixes: 27622b061eb4 ("cpufreq: Convert to hotplug state machine")
-Reported-and-tested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
-Signed-off-by: Chen Yu <yu.c.chen@intel.com>
-Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
-Cc: 4.9+ <stable@vger.kernel.org> # 4.9+
-Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-
-diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
-index bc96d423781a..0e3f6496524d 100644
---- a/drivers/cpufreq/cpufreq.c
-+++ b/drivers/cpufreq/cpufreq.c
-@@ -2398,6 +2398,20 @@ EXPORT_SYMBOL_GPL(cpufreq_boost_enabled);
- *********************************************************************/
- static enum cpuhp_state hp_online;
-
-+static int cpuhp_cpufreq_online(unsigned int cpu)
-+{
-+ cpufreq_online(cpu);
-+
-+ return 0;
-+}
-+
-+static int cpuhp_cpufreq_offline(unsigned int cpu)
-+{
-+ cpufreq_offline(cpu);
-+
-+ return 0;
-+}
-+
- /**
- * cpufreq_register_driver - register a CPU Frequency driver
- * @driver_data: A struct cpufreq_driver containing the values#
-@@ -2460,8 +2474,8 @@ int cpufreq_register_driver(struct cpufreq_driver *driver_data)
- }
-
- ret = cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN, "cpufreq:online",
-- cpufreq_online,
-- cpufreq_offline);
-+ cpuhp_cpufreq_online,
-+ cpuhp_cpufreq_offline);
- if (ret < 0)
- goto err_if_unreg;
- hp_online = ret;
---
-2.12.0
-
diff --git a/queue/drm-etnaviv-fix-missing-unlock-on-error-in-etnaviv_g.patch b/queue/drm-etnaviv-fix-missing-unlock-on-error-in-etnaviv_g.patch
deleted file mode 100644
index 4fb58a3..0000000
--- a/queue/drm-etnaviv-fix-missing-unlock-on-error-in-etnaviv_g.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 45abdf35cf82e4270328c7237e7812de960ac560 Mon Sep 17 00:00:00 2001
-From: Wei Yongjun <weiyongjun1@huawei.com>
-Date: Wed, 12 Apr 2017 00:31:16 +0000
-Subject: [PATCH] drm/etnaviv: fix missing unlock on error in
- etnaviv_gpu_submit()
-
-commit 45abdf35cf82e4270328c7237e7812de960ac560 upstream.
-
-Add the missing unlock before return from function etnaviv_gpu_submit()
-in the error handling case.
-
-lst: fixed label name.
-
-Fixes: f3cd1b064f11 ("drm/etnaviv: (re-)protect fence allocation with
-GPU mutex")
-CC: stable@vger.kernel.org #4.9+
-Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
-Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
-
-diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
-index da48819ff2e6..b78d9239e48f 100644
---- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
-+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
-@@ -1317,7 +1317,7 @@ int etnaviv_gpu_submit(struct etnaviv_gpu *gpu,
- if (!fence) {
- event_free(gpu, event);
- ret = -ENOMEM;
-- goto out_pm_put;
-+ goto out_unlock;
- }
-
- gpu->event[event].fence = fence;
-@@ -1357,6 +1357,7 @@ int etnaviv_gpu_submit(struct etnaviv_gpu *gpu,
- hangcheck_timer_reset(gpu);
- ret = 0;
-
-+out_unlock:
- mutex_unlock(&gpu->lock);
-
- out_pm_put:
---
-2.12.0
-
diff --git a/queue/drm-i915-Avoid-rcu_barrier-from-reclaim-paths-shrink.patch b/queue/drm-i915-Avoid-rcu_barrier-from-reclaim-paths-shrink.patch
deleted file mode 100644
index 0d99dd1..0000000
--- a/queue/drm-i915-Avoid-rcu_barrier-from-reclaim-paths-shrink.patch
+++ /dev/null
@@ -1,273 +0,0 @@
-From 3d3d18f086cdda72ee18a454db70ca72c6e3246c Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Tue, 21 Mar 2017 14:45:31 +0000
-Subject: [PATCH] drm/i915: Avoid rcu_barrier() from reclaim paths (shrinker)
-
-commit 3d3d18f086cdda72ee18a454db70ca72c6e3246c upstream.
-
-The rcu_barrier() takes the cpu_hotplug mutex which itself is not
-reclaim-safe, and so rcu_barrier() is illegal from inside the shrinker.
-
-[ 309.661373] =========================================================
-[ 309.661376] [ INFO: possible irq lock inversion dependency detected ]
-[ 309.661380] 4.11.0-rc1-CI-CI_DRM_2333+ #1 Tainted: G W
-[ 309.661383] ---------------------------------------------------------
-[ 309.661386] gem_exec_gttfil/6435 just changed the state of lock:
-[ 309.661389] (rcu_preempt_state.barrier_mutex){+.+.-.}, at: [<ffffffff81100731>] _rcu_barrier+0x31/0x160
-[ 309.661399] but this lock took another, RECLAIM_FS-unsafe lock in the past:
-[ 309.661402] (cpu_hotplug.lock){+.+.+.}
-[ 309.661404]
-
- and interrupts could create inverse lock ordering between them.
-
-[ 309.661410]
- other info that might help us debug this:
-[ 309.661414] Possible interrupt unsafe locking scenario:
-
-[ 309.661417] CPU0 CPU1
-[ 309.661419] ---- ----
-[ 309.661421] lock(cpu_hotplug.lock);
-[ 309.661425] local_irq_disable();
-[ 309.661432] lock(rcu_preempt_state.barrier_mutex);
-[ 309.661441] lock(cpu_hotplug.lock);
-[ 309.661446] <Interrupt>
-[ 309.661448] lock(rcu_preempt_state.barrier_mutex);
-[ 309.661453]
- *** DEADLOCK ***
-
-[ 309.661460] 4 locks held by gem_exec_gttfil/6435:
-[ 309.661464] #0: (sb_writers#10){.+.+.+}, at: [<ffffffff8120d83d>] vfs_write+0x17d/0x1f0
-[ 309.661475] #1: (debugfs_srcu){......}, at: [<ffffffff81320491>] debugfs_use_file_start+0x41/0xa0
-[ 309.661486] #2: (&attr->mutex){+.+.+.}, at: [<ffffffff8123a3e7>] simple_attr_write+0x37/0xe0
-[ 309.661495] #3: (&dev->struct_mutex){+.+.+.}, at: [<ffffffffa0091b4a>] i915_drop_caches_set+0x3a/0x150 [i915]
-[ 309.661540]
- the shortest dependencies between 2nd lock and 1st lock:
-[ 309.661547] -> (cpu_hotplug.lock){+.+.+.} ops: 829 {
-[ 309.661553] HARDIRQ-ON-W at:
-[ 309.661560] __lock_acquire+0x5e5/0x1b50
-[ 309.661565] lock_acquire+0xc9/0x220
-[ 309.661572] __mutex_lock+0x6e/0x990
-[ 309.661576] mutex_lock_nested+0x16/0x20
-[ 309.661583] get_online_cpus+0x61/0x80
-[ 309.661590] kmem_cache_create+0x25/0x1d0
-[ 309.661596] debug_objects_mem_init+0x30/0x249
-[ 309.661602] start_kernel+0x341/0x3fe
-[ 309.661607] x86_64_start_reservations+0x2a/0x2c
-[ 309.661612] x86_64_start_kernel+0x173/0x186
-[ 309.661619] verify_cpu+0x0/0xfc
-[ 309.661622] SOFTIRQ-ON-W at:
-[ 309.661627] __lock_acquire+0x611/0x1b50
-[ 309.661632] lock_acquire+0xc9/0x220
-[ 309.661636] __mutex_lock+0x6e/0x990
-[ 309.661641] mutex_lock_nested+0x16/0x20
-[ 309.661646] get_online_cpus+0x61/0x80
-[ 309.661650] kmem_cache_create+0x25/0x1d0
-[ 309.661655] debug_objects_mem_init+0x30/0x249
-[ 309.661660] start_kernel+0x341/0x3fe
-[ 309.661664] x86_64_start_reservations+0x2a/0x2c
-[ 309.661669] x86_64_start_kernel+0x173/0x186
-[ 309.661674] verify_cpu+0x0/0xfc
-[ 309.661677] RECLAIM_FS-ON-W at:
-[ 309.661682] mark_held_locks+0x6f/0xa0
-[ 309.661687] lockdep_trace_alloc+0xb3/0x100
-[ 309.661693] kmem_cache_alloc_trace+0x31/0x2e0
-[ 309.661699] __smpboot_create_thread.part.1+0x27/0xe0
-[ 309.661704] smpboot_create_threads+0x61/0x90
-[ 309.661709] cpuhp_invoke_callback+0x9c/0x8a0
-[ 309.661713] cpuhp_up_callbacks+0x31/0xb0
-[ 309.661718] _cpu_up+0x7a/0xc0
-[ 309.661723] do_cpu_up+0x5f/0x80
-[ 309.661727] cpu_up+0xe/0x10
-[ 309.661734] smp_init+0x71/0xb3
-[ 309.661738] kernel_init_freeable+0x94/0x19e
-[ 309.661743] kernel_init+0x9/0xf0
-[ 309.661748] ret_from_fork+0x2e/0x40
-[ 309.661752] INITIAL USE at:
-[ 309.661757] __lock_acquire+0x234/0x1b50
-[ 309.661761] lock_acquire+0xc9/0x220
-[ 309.661766] __mutex_lock+0x6e/0x990
-[ 309.661771] mutex_lock_nested+0x16/0x20
-[ 309.661775] get_online_cpus+0x61/0x80
-[ 309.661780] __cpuhp_setup_state+0x44/0x170
-[ 309.661785] page_alloc_init+0x23/0x3a
-[ 309.661790] start_kernel+0x124/0x3fe
-[ 309.661794] x86_64_start_reservations+0x2a/0x2c
-[ 309.661799] x86_64_start_kernel+0x173/0x186
-[ 309.661804] verify_cpu+0x0/0xfc
-[ 309.661807] }
-[ 309.661813] ... key at: [<ffffffff81e37690>] cpu_hotplug+0xb0/0x100
-[ 309.661817] ... acquired at:
-[ 309.661821] lock_acquire+0xc9/0x220
-[ 309.661825] __mutex_lock+0x6e/0x990
-[ 309.661829] mutex_lock_nested+0x16/0x20
-[ 309.661833] get_online_cpus+0x61/0x80
-[ 309.661837] _rcu_barrier+0x9f/0x160
-[ 309.661841] rcu_barrier+0x10/0x20
-[ 309.661847] netdev_run_todo+0x5f/0x310
-[ 309.661852] rtnl_unlock+0x9/0x10
-[ 309.661856] default_device_exit_batch+0x133/0x150
-[ 309.661862] ops_exit_list.isra.0+0x4d/0x60
-[ 309.661866] cleanup_net+0x1d8/0x2c0
-[ 309.661872] process_one_work+0x1f4/0x6d0
-[ 309.661876] worker_thread+0x49/0x4a0
-[ 309.661881] kthread+0x107/0x140
-[ 309.661884] ret_from_fork+0x2e/0x40
-
-[ 309.661890] -> (rcu_preempt_state.barrier_mutex){+.+.-.} ops: 179 {
-[ 309.661896] HARDIRQ-ON-W at:
-[ 309.661901] __lock_acquire+0x5e5/0x1b50
-[ 309.661905] lock_acquire+0xc9/0x220
-[ 309.661910] __mutex_lock+0x6e/0x990
-[ 309.661914] mutex_lock_nested+0x16/0x20
-[ 309.661919] _rcu_barrier+0x31/0x160
-[ 309.661923] rcu_barrier+0x10/0x20
-[ 309.661928] netdev_run_todo+0x5f/0x310
-[ 309.661932] rtnl_unlock+0x9/0x10
-[ 309.661936] default_device_exit_batch+0x133/0x150
-[ 309.661941] ops_exit_list.isra.0+0x4d/0x60
-[ 309.661946] cleanup_net+0x1d8/0x2c0
-[ 309.661951] process_one_work+0x1f4/0x6d0
-[ 309.661955] worker_thread+0x49/0x4a0
-[ 309.661960] kthread+0x107/0x140
-[ 309.661964] ret_from_fork+0x2e/0x40
-[ 309.661968] SOFTIRQ-ON-W at:
-[ 309.661972] __lock_acquire+0x611/0x1b50
-[ 309.661977] lock_acquire+0xc9/0x220
-[ 309.661981] __mutex_lock+0x6e/0x990
-[ 309.661986] mutex_lock_nested+0x16/0x20
-[ 309.661990] _rcu_barrier+0x31/0x160
-[ 309.661995] rcu_barrier+0x10/0x20
-[ 309.661999] netdev_run_todo+0x5f/0x310
-[ 309.662003] rtnl_unlock+0x9/0x10
-[ 309.662008] default_device_exit_batch+0x133/0x150
-[ 309.662013] ops_exit_list.isra.0+0x4d/0x60
-[ 309.662017] cleanup_net+0x1d8/0x2c0
-[ 309.662022] process_one_work+0x1f4/0x6d0
-[ 309.662027] worker_thread+0x49/0x4a0
-[ 309.662031] kthread+0x107/0x140
-[ 309.662035] ret_from_fork+0x2e/0x40
-[ 309.662039] IN-RECLAIM_FS-W at:
-[ 309.662043] __lock_acquire+0x638/0x1b50
-[ 309.662048] lock_acquire+0xc9/0x220
-[ 309.662053] __mutex_lock+0x6e/0x990
-[ 309.662058] mutex_lock_nested+0x16/0x20
-[ 309.662062] _rcu_barrier+0x31/0x160
-[ 309.662067] rcu_barrier+0x10/0x20
-[ 309.662089] i915_gem_shrink_all+0x33/0x40 [i915]
-[ 309.662109] i915_drop_caches_set+0x141/0x150 [i915]
-[ 309.662114] simple_attr_write+0xc7/0xe0
-[ 309.662119] full_proxy_write+0x4f/0x70
-[ 309.662124] __vfs_write+0x23/0x120
-[ 309.662128] vfs_write+0xc6/0x1f0
-[ 309.662133] SyS_write+0x44/0xb0
-[ 309.662138] entry_SYSCALL_64_fastpath+0x1c/0xb1
-[ 309.662142] INITIAL USE at:
-[ 309.662147] __lock_acquire+0x234/0x1b50
-[ 309.662151] lock_acquire+0xc9/0x220
-[ 309.662156] __mutex_lock+0x6e/0x990
-[ 309.662160] mutex_lock_nested+0x16/0x20
-[ 309.662165] _rcu_barrier+0x31/0x160
-[ 309.662169] rcu_barrier+0x10/0x20
-[ 309.662174] netdev_run_todo+0x5f/0x310
-[ 309.662178] rtnl_unlock+0x9/0x10
-[ 309.662183] default_device_exit_batch+0x133/0x150
-[ 309.662188] ops_exit_list.isra.0+0x4d/0x60
-[ 309.662192] cleanup_net+0x1d8/0x2c0
-[ 309.662197] process_one_work+0x1f4/0x6d0
-[ 309.662202] worker_thread+0x49/0x4a0
-[ 309.662206] kthread+0x107/0x140
-[ 309.662210] ret_from_fork+0x2e/0x40
-[ 309.662214] }
-[ 309.662220] ... key at: [<ffffffff81e4e1c8>] rcu_preempt_state+0x508/0x780
-[ 309.662225] ... acquired at:
-[ 309.662229] check_usage_forwards+0x12b/0x130
-[ 309.662233] mark_lock+0x360/0x6f0
-[ 309.662237] __lock_acquire+0x638/0x1b50
-[ 309.662241] lock_acquire+0xc9/0x220
-[ 309.662245] __mutex_lock+0x6e/0x990
-[ 309.662249] mutex_lock_nested+0x16/0x20
-[ 309.662253] _rcu_barrier+0x31/0x160
-[ 309.662257] rcu_barrier+0x10/0x20
-[ 309.662279] i915_gem_shrink_all+0x33/0x40 [i915]
-[ 309.662298] i915_drop_caches_set+0x141/0x150 [i915]
-[ 309.662303] simple_attr_write+0xc7/0xe0
-[ 309.662307] full_proxy_write+0x4f/0x70
-[ 309.662311] __vfs_write+0x23/0x120
-[ 309.662315] vfs_write+0xc6/0x1f0
-[ 309.662319] SyS_write+0x44/0xb0
-[ 309.662323] entry_SYSCALL_64_fastpath+0x1c/0xb1
-
-[ 309.662329]
- stack backtrace:
-[ 309.662335] CPU: 1 PID: 6435 Comm: gem_exec_gttfil Tainted: G W 4.11.0-rc1-CI-CI_DRM_2333+ #1
-[ 309.662342] Hardware name: Hewlett-Packard HP Compaq 8100 Elite SFF PC/304Ah, BIOS 786H1 v01.13 07/14/2011
-[ 309.662348] Call Trace:
-[ 309.662354] dump_stack+0x67/0x92
-[ 309.662359] print_irq_inversion_bug.part.19+0x1a4/0x1b0
-[ 309.662365] check_usage_forwards+0x12b/0x130
-[ 309.662369] mark_lock+0x360/0x6f0
-[ 309.662374] ? print_shortest_lock_dependencies+0x1a0/0x1a0
-[ 309.662379] __lock_acquire+0x638/0x1b50
-[ 309.662383] ? __mutex_unlock_slowpath+0x3e/0x2e0
-[ 309.662388] ? trace_hardirqs_on+0xd/0x10
-[ 309.662392] ? _rcu_barrier+0x31/0x160
-[ 309.662396] lock_acquire+0xc9/0x220
-[ 309.662400] ? _rcu_barrier+0x31/0x160
-[ 309.662404] ? _rcu_barrier+0x31/0x160
-[ 309.662409] __mutex_lock+0x6e/0x990
-[ 309.662412] ? _rcu_barrier+0x31/0x160
-[ 309.662416] ? _rcu_barrier+0x31/0x160
-[ 309.662421] ? synchronize_rcu_expedited+0x35/0xb0
-[ 309.662426] ? _raw_spin_unlock_irqrestore+0x52/0x60
-[ 309.662434] mutex_lock_nested+0x16/0x20
-[ 309.662438] _rcu_barrier+0x31/0x160
-[ 309.662442] rcu_barrier+0x10/0x20
-[ 309.662464] i915_gem_shrink_all+0x33/0x40 [i915]
-[ 309.662484] i915_drop_caches_set+0x141/0x150 [i915]
-[ 309.662489] simple_attr_write+0xc7/0xe0
-[ 309.662494] full_proxy_write+0x4f/0x70
-[ 309.662498] __vfs_write+0x23/0x120
-[ 309.662503] ? rcu_read_lock_sched_held+0x75/0x80
-[ 309.662507] ? rcu_sync_lockdep_assert+0x2a/0x50
-[ 309.662512] ? __sb_start_write+0x102/0x210
-[ 309.662516] ? vfs_write+0x17d/0x1f0
-[ 309.662520] vfs_write+0xc6/0x1f0
-[ 309.662524] ? trace_hardirqs_on_caller+0xe7/0x200
-[ 309.662529] SyS_write+0x44/0xb0
-[ 309.662533] entry_SYSCALL_64_fastpath+0x1c/0xb1
-[ 309.662537] RIP: 0033:0x7f507eac24a0
-[ 309.662541] RSP: 002b:00007fffda8720e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
-[ 309.662548] RAX: ffffffffffffffda RBX: ffffffff81482bd3 RCX: 00007f507eac24a0
-[ 309.662552] RDX: 0000000000000005 RSI: 00007fffda8720f0 RDI: 0000000000000005
-[ 309.662557] RBP: ffffc9000048bf88 R08: 0000000000000000 R09: 000000000000002c
-[ 309.662561] R10: 0000000000000014 R11: 0000000000000246 R12: 00007fffda872230
-[ 309.662566] R13: 00007fffda872228 R14: 0000000000000201 R15: 00007fffda8720f0
-[ 309.662572] ? __this_cpu_preempt_check+0x13/0x20
-
-Fixes: 0eafec6d3244 ("drm/i915: Enable lockless lookup of request tracking via RCU")
-Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100192
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
-Cc: <stable@vger.kernel.org> # v4.9+
-Link: http://patchwork.freedesktop.org/patch/msgid/20170314115019.18127-1-chris@chris-wilson.co.uk
-Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-(cherry picked from commit bd784b7cc41af7a19cfb705fa6d800e511c4ab02)
-Signed-off-by: Jani Nikula <jani.nikula@intel.com>
-Link: http://patchwork.freedesktop.org/patch/msgid/20170321144531.12344-1-chris@chris-wilson.co.uk
-
-diff --git a/drivers/gpu/drm/i915/i915_gem_shrinker.c b/drivers/gpu/drm/i915/i915_gem_shrinker.c
-index 401006b4c6a3..d5d2b4c6ed38 100644
---- a/drivers/gpu/drm/i915/i915_gem_shrinker.c
-+++ b/drivers/gpu/drm/i915/i915_gem_shrinker.c
-@@ -263,7 +263,7 @@ unsigned long i915_gem_shrink_all(struct drm_i915_private *dev_priv)
- I915_SHRINK_BOUND |
- I915_SHRINK_UNBOUND |
- I915_SHRINK_ACTIVE);
-- rcu_barrier(); /* wait until our RCU delayed slab frees are completed */
-+ synchronize_rcu(); /* wait for our earlier RCU delayed slab frees */
-
- return freed;
- }
---
-2.12.0
-
diff --git a/queue/mac80211-unconditionally-start-new-netdev-queues-wit.patch b/queue/mac80211-unconditionally-start-new-netdev-queues-wit.patch
deleted file mode 100644
index fbac46b..0000000
--- a/queue/mac80211-unconditionally-start-new-netdev-queues-wit.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 7d65f82954dadbbe7b6e1aec7e07ad17bc6d958b Mon Sep 17 00:00:00 2001
-From: Johannes Berg <johannes.berg@intel.com>
-Date: Wed, 29 Mar 2017 14:15:24 +0200
-Subject: [PATCH] mac80211: unconditionally start new netdev queues with iTXQ
- support
-
-commit 7d65f82954dadbbe7b6e1aec7e07ad17bc6d958b upstream.
-
-When internal mac80211 TXQs aren't supported, netdev queues must
-always started out started even when driver queues are stopped
-while the interface is added. This is necessary because with the
-internal TXQ support netdev queues are never stopped and packet
-scheduling/dropping is done in mac80211.
-
-Cc: stable@vger.kernel.org # 4.9+
-Fixes: 80a83cfc434b1 ("mac80211: skip netdev queue control with software queuing")
-Reported-and-tested-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-
-diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
-index 40813dd3301c..5bb0c5012819 100644
---- a/net/mac80211/iface.c
-+++ b/net/mac80211/iface.c
-@@ -718,7 +718,8 @@ int ieee80211_do_open(struct wireless_dev *wdev, bool coming_up)
- ieee80211_recalc_ps(local);
-
- if (sdata->vif.type == NL80211_IFTYPE_MONITOR ||
-- sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
-+ sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
-+ local->ops->wake_tx_queue) {
- /* XXX: for AP_VLAN, actually track AP queues */
- netif_tx_start_all_queues(dev);
- } else if (dev) {
---
-2.12.0
-
diff --git a/queue/media-dvb-usb-don-t-use-stack-for-firmware-load.patch b/queue/media-dvb-usb-don-t-use-stack-for-firmware-load.patch
deleted file mode 100644
index e8acae2..0000000
--- a/queue/media-dvb-usb-don-t-use-stack-for-firmware-load.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From 43fab9793c1f44e665b4f98035a14942edf03ddc Mon Sep 17 00:00:00 2001
-From: Mauro Carvalho Chehab <mchehab@s-opensource.com>
-Date: Tue, 24 Jan 2017 08:13:11 -0200
-Subject: [PATCH] [media] dvb-usb: don't use stack for firmware load
-
-commit 43fab9793c1f44e665b4f98035a14942edf03ddc upstream.
-
-As reported by Marc Duponcheel <marc@offline.be>, firmware load on
-dvb-usb is using the stack, with is not allowed anymore on default
-Kernel configurations:
-
-[ 1025.958836] dvb-usb: found a 'WideView WT-220U PenType Receiver (based on ZL353)' in cold state, will try to load a firmware
-[ 1025.958853] dvb-usb: downloading firmware from file 'dvb-usb-wt220u-zl0353-01.fw'
-[ 1025.958855] dvb-usb: could not stop the USB controller CPU.
-[ 1025.958856] dvb-usb: error while transferring firmware (transferred size: -11, block size: 3)
-[ 1025.958856] dvb-usb: firmware download failed at 8 with -22
-[ 1025.958867] usbcore: registered new interface driver dvb_usb_dtt200u
-
-[ 2.789902] dvb-usb: downloading firmware from file 'dvb-usb-wt220u-zl0353-01.fw'
-[ 2.789905] ------------[ cut here ]------------
-[ 2.789911] WARNING: CPU: 3 PID: 2196 at drivers/usb/core/hcd.c:1584 usb_hcd_map_urb_for_dma+0x430/0x560 [usbcore]
-[ 2.789912] transfer buffer not dma capable
-[ 2.789912] Modules linked in: btusb dvb_usb_dtt200u(+) dvb_usb_af9035(+) btrtl btbcm dvb_usb dvb_usb_v2 btintel dvb_core bluetooth rc_core rfkill x86_pkg_temp_thermal intel_powerclamp coretemp crc32_pclmul aesni_intel aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd drm_kms_helper syscopyarea sysfillrect pcspkr i2c_i801 sysimgblt fb_sys_fops drm i2c_smbus i2c_core r8169 lpc_ich mfd_core mii thermal fan rtc_cmos video button acpi_cpufreq processor snd_hda_codec_realtek snd_hda_codec_generic snd_hda_intel snd_hda_codec snd_hwdep snd_hda_core snd_pcm snd_timer snd crc32c_intel ahci libahci libata xhci_pci ehci_pci xhci_hcd ehci_hcd usbcore usb_common dm_mirror dm_region_hash dm_log dm_mod
-[ 2.789936] CPU: 3 PID: 2196 Comm: systemd-udevd Not tainted 4.9.0-gentoo #1
-[ 2.789937] Hardware name: ASUS All Series/H81I-PLUS, BIOS 0401 07/23/2013
-[ 2.789938] ffffc9000339b690 ffffffff812bd397 ffffc9000339b6e0 0000000000000000
-[ 2.789939] ffffc9000339b6d0 ffffffff81055c86 000006300339b6a0 ffff880116c0c000
-[ 2.789941] 0000000000000000 0000000000000000 0000000000000001 ffff880116c08000
-[ 2.789942] Call Trace:
-[ 2.789945] [<ffffffff812bd397>] dump_stack+0x4d/0x66
-[ 2.789947] [<ffffffff81055c86>] __warn+0xc6/0xe0
-[ 2.789948] [<ffffffff81055cea>] warn_slowpath_fmt+0x4a/0x50
-[ 2.789952] [<ffffffffa006d460>] usb_hcd_map_urb_for_dma+0x430/0x560 [usbcore]
-[ 2.789954] [<ffffffff814ed5a8>] ? io_schedule_timeout+0xd8/0x110
-[ 2.789956] [<ffffffffa006e09c>] usb_hcd_submit_urb+0x9c/0x980 [usbcore]
-[ 2.789958] [<ffffffff812d0ebf>] ? copy_page_to_iter+0x14f/0x2b0
-[ 2.789960] [<ffffffff81126818>] ? pagecache_get_page+0x28/0x240
-[ 2.789962] [<ffffffff8118c2a0>] ? touch_atime+0x20/0xa0
-[ 2.789964] [<ffffffffa006f7c4>] usb_submit_urb+0x2c4/0x520 [usbcore]
-[ 2.789967] [<ffffffffa006feca>] usb_start_wait_urb+0x5a/0xe0 [usbcore]
-[ 2.789969] [<ffffffffa007000c>] usb_control_msg+0xbc/0xf0 [usbcore]
-[ 2.789970] [<ffffffffa067903d>] usb_cypress_writemem+0x3d/0x40 [dvb_usb]
-[ 2.789972] [<ffffffffa06791cf>] usb_cypress_load_firmware+0x4f/0x130 [dvb_usb]
-[ 2.789973] [<ffffffff8109dbbe>] ? console_unlock+0x2fe/0x5d0
-[ 2.789974] [<ffffffff8109e10c>] ? vprintk_emit+0x27c/0x410
-[ 2.789975] [<ffffffff8109e40a>] ? vprintk_default+0x1a/0x20
-[ 2.789976] [<ffffffff81124d76>] ? printk+0x43/0x4b
-[ 2.789977] [<ffffffffa0679310>] dvb_usb_download_firmware+0x60/0xd0 [dvb_usb]
-[ 2.789979] [<ffffffffa0679898>] dvb_usb_device_init+0x3d8/0x610 [dvb_usb]
-[ 2.789981] [<ffffffffa069e302>] dtt200u_usb_probe+0x92/0xd0 [dvb_usb_dtt200u]
-[ 2.789984] [<ffffffffa007420c>] usb_probe_interface+0xfc/0x270 [usbcore]
-[ 2.789985] [<ffffffff8138bf95>] driver_probe_device+0x215/0x2d0
-[ 2.789986] [<ffffffff8138c0e6>] __driver_attach+0x96/0xa0
-[ 2.789987] [<ffffffff8138c050>] ? driver_probe_device+0x2d0/0x2d0
-[ 2.789988] [<ffffffff81389ffb>] bus_for_each_dev+0x5b/0x90
-[ 2.789989] [<ffffffff8138b7b9>] driver_attach+0x19/0x20
-[ 2.789990] [<ffffffff8138b33c>] bus_add_driver+0x11c/0x220
-[ 2.789991] [<ffffffff8138c91b>] driver_register+0x5b/0xd0
-[ 2.789994] [<ffffffffa0072f6c>] usb_register_driver+0x7c/0x130 [usbcore]
-[ 2.789994] [<ffffffffa06a5000>] ? 0xffffffffa06a5000
-[ 2.789996] [<ffffffffa06a501e>] dtt200u_usb_driver_init+0x1e/0x20 [dvb_usb_dtt200u]
-[ 2.789997] [<ffffffff81000408>] do_one_initcall+0x38/0x140
-[ 2.789998] [<ffffffff8116001c>] ? __vunmap+0x7c/0xc0
-[ 2.789999] [<ffffffff81124fb0>] ? do_init_module+0x22/0x1d2
-[ 2.790000] [<ffffffff81124fe8>] do_init_module+0x5a/0x1d2
-[ 2.790002] [<ffffffff810c96b1>] load_module+0x1e11/0x2580
-[ 2.790003] [<ffffffff810c68b0>] ? show_taint+0x30/0x30
-[ 2.790004] [<ffffffff81177250>] ? kernel_read_file+0x100/0x190
-[ 2.790005] [<ffffffff810c9ffa>] SyS_finit_module+0xba/0xc0
-[ 2.790007] [<ffffffff814f13e0>] entry_SYSCALL_64_fastpath+0x13/0x94
-[ 2.790008] ---[ end trace c78a74e78baec6fc ]---
-
-So, allocate the structure dynamically.
-
-Cc: stable@vger.kernel.org # Kernel 4.9+
-Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
-diff --git a/drivers/media/usb/dvb-usb/dvb-usb-firmware.c b/drivers/media/usb/dvb-usb/dvb-usb-firmware.c
-index f0023dbb7276..ab9866024ec7 100644
---- a/drivers/media/usb/dvb-usb/dvb-usb-firmware.c
-+++ b/drivers/media/usb/dvb-usb/dvb-usb-firmware.c
-@@ -35,28 +35,33 @@ static int usb_cypress_writemem(struct usb_device *udev,u16 addr,u8 *data, u8 le
-
- int usb_cypress_load_firmware(struct usb_device *udev, const struct firmware *fw, int type)
- {
-- struct hexline hx;
-+ struct hexline *hx;
- u8 reset;
- int ret,pos=0;
-
-+ hx = kmalloc(sizeof(*hx), GFP_KERNEL);
-+ if (!hx)
-+ return -ENOMEM;
-+
- /* stop the CPU */
- reset = 1;
- if ((ret = usb_cypress_writemem(udev,cypress[type].cpu_cs_register,&reset,1)) != 1)
- err("could not stop the USB controller CPU.");
-
-- while ((ret = dvb_usb_get_hexline(fw,&hx,&pos)) > 0) {
-- deb_fw("writing to address 0x%04x (buffer: 0x%02x %02x)\n",hx.addr,hx.len,hx.chk);
-- ret = usb_cypress_writemem(udev,hx.addr,hx.data,hx.len);
-+ while ((ret = dvb_usb_get_hexline(fw, hx, &pos)) > 0) {
-+ deb_fw("writing to address 0x%04x (buffer: 0x%02x %02x)\n", hx->addr, hx->len, hx->chk);
-+ ret = usb_cypress_writemem(udev, hx->addr, hx->data, hx->len);
-
-- if (ret != hx.len) {
-+ if (ret != hx->len) {
- err("error while transferring firmware (transferred size: %d, block size: %d)",
-- ret,hx.len);
-+ ret, hx->len);
- ret = -EINVAL;
- break;
- }
- }
- if (ret < 0) {
- err("firmware download failed at %d with %d",pos,ret);
-+ kfree(hx);
- return ret;
- }
-
-@@ -70,6 +75,8 @@ int usb_cypress_load_firmware(struct usb_device *udev, const struct firmware *fw
- } else
- ret = -EIO;
-
-+ kfree(hx);
-+
- return ret;
- }
- EXPORT_SYMBOL(usb_cypress_load_firmware);
---
-2.12.0
-
diff --git a/queue/parisc-Fix-get_user-for-64-bit-value-on-32-bit-kerne.patch b/queue/parisc-Fix-get_user-for-64-bit-value-on-32-bit-kerne.patch
deleted file mode 100644
index 00ad5d7..0000000
--- a/queue/parisc-Fix-get_user-for-64-bit-value-on-32-bit-kerne.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-From 3f795cef0ecdf9bc980dd058d49bdab4b19af1d3 Mon Sep 17 00:00:00 2001
-From: Helge Deller <deller@gmx.de>
-Date: Sun, 16 Apr 2017 10:00:14 +0200
-Subject: [PATCH] parisc: Fix get_user() for 64-bit value on 32-bit kernel
-
-commit 3f795cef0ecdf9bc980dd058d49bdab4b19af1d3 upstream.
-
-This fixes a bug in which the upper 32-bits of a 64-bit value which is
-read by get_user() was lost on a 32-bit kernel.
-While touching this code, split out pre-loading of %sr2 space register
-and clean up code indent.
-
-Cc: <stable@vger.kernel.org> # v4.9+
-Signed-off-by: Helge Deller <deller@gmx.de>
-
-diff --git a/arch/parisc/include/asm/uaccess.h b/arch/parisc/include/asm/uaccess.h
-index 8442727f28d2..cbd4f4af8108 100644
---- a/arch/parisc/include/asm/uaccess.h
-+++ b/arch/parisc/include/asm/uaccess.h
-@@ -39,10 +39,10 @@
- #define get_user __get_user
-
- #if !defined(CONFIG_64BIT)
--#define LDD_USER(ptr) __get_user_asm64(ptr)
-+#define LDD_USER(val, ptr) __get_user_asm64(val, ptr)
- #define STD_USER(x, ptr) __put_user_asm64(x, ptr)
- #else
--#define LDD_USER(ptr) __get_user_asm("ldd", ptr)
-+#define LDD_USER(val, ptr) __get_user_asm(val, "ldd", ptr)
- #define STD_USER(x, ptr) __put_user_asm("std", x, ptr)
- #endif
-
-@@ -97,63 +97,87 @@ struct exception_data {
- " mtsp %0,%%sr2\n\t" \
- : : "r"(get_fs()) : )
-
--#define __get_user(x, ptr) \
--({ \
-- register long __gu_err __asm__ ("r8") = 0; \
-- register long __gu_val; \
-- \
-- load_sr2(); \
-- switch (sizeof(*(ptr))) { \
-- case 1: __get_user_asm("ldb", ptr); break; \
-- case 2: __get_user_asm("ldh", ptr); break; \
-- case 4: __get_user_asm("ldw", ptr); break; \
-- case 8: LDD_USER(ptr); break; \
-- default: BUILD_BUG(); break; \
-- } \
-- \
-- (x) = (__force __typeof__(*(ptr))) __gu_val; \
-- __gu_err; \
-+#define __get_user_internal(val, ptr) \
-+({ \
-+ register long __gu_err __asm__ ("r8") = 0; \
-+ \
-+ switch (sizeof(*(ptr))) { \
-+ case 1: __get_user_asm(val, "ldb", ptr); break; \
-+ case 2: __get_user_asm(val, "ldh", ptr); break; \
-+ case 4: __get_user_asm(val, "ldw", ptr); break; \
-+ case 8: LDD_USER(val, ptr); break; \
-+ default: BUILD_BUG(); \
-+ } \
-+ \
-+ __gu_err; \
- })
-
--#define __get_user_asm(ldx, ptr) \
-+#define __get_user(val, ptr) \
-+({ \
-+ load_sr2(); \
-+ __get_user_internal(val, ptr); \
-+})
-+
-+#define __get_user_asm(val, ldx, ptr) \
-+{ \
-+ register long __gu_val; \
-+ \
- __asm__("1: " ldx " 0(%%sr2,%2),%0\n" \
- "9:\n" \
- ASM_EXCEPTIONTABLE_ENTRY_EFAULT(1b, 9b) \
- : "=r"(__gu_val), "=r"(__gu_err) \
-- : "r"(ptr), "1"(__gu_err));
-+ : "r"(ptr), "1"(__gu_err)); \
-+ \
-+ (val) = (__force __typeof__(*(ptr))) __gu_val; \
-+}
-
- #if !defined(CONFIG_64BIT)
-
--#define __get_user_asm64(ptr) \
-+#define __get_user_asm64(val, ptr) \
-+{ \
-+ union { \
-+ unsigned long long l; \
-+ __typeof__(*(ptr)) t; \
-+ } __gu_tmp; \
-+ \
- __asm__(" copy %%r0,%R0\n" \
- "1: ldw 0(%%sr2,%2),%0\n" \
- "2: ldw 4(%%sr2,%2),%R0\n" \
- "9:\n" \
- ASM_EXCEPTIONTABLE_ENTRY_EFAULT(1b, 9b) \
- ASM_EXCEPTIONTABLE_ENTRY_EFAULT(2b, 9b) \
-- : "=r"(__gu_val), "=r"(__gu_err) \
-- : "r"(ptr), "1"(__gu_err));
-+ : "=&r"(__gu_tmp.l), "=r"(__gu_err) \
-+ : "r"(ptr), "1"(__gu_err)); \
-+ \
-+ (val) = __gu_tmp.t; \
-+}
-
- #endif /* !defined(CONFIG_64BIT) */
-
-
--#define __put_user(x, ptr) \
-+#define __put_user_internal(x, ptr) \
- ({ \
- register long __pu_err __asm__ ("r8") = 0; \
- __typeof__(*(ptr)) __x = (__typeof__(*(ptr)))(x); \
- \
-- load_sr2(); \
- switch (sizeof(*(ptr))) { \
-- case 1: __put_user_asm("stb", __x, ptr); break; \
-- case 2: __put_user_asm("sth", __x, ptr); break; \
-- case 4: __put_user_asm("stw", __x, ptr); break; \
-- case 8: STD_USER(__x, ptr); break; \
-- default: BUILD_BUG(); break; \
-- } \
-+ case 1: __put_user_asm("stb", __x, ptr); break; \
-+ case 2: __put_user_asm("sth", __x, ptr); break; \
-+ case 4: __put_user_asm("stw", __x, ptr); break; \
-+ case 8: STD_USER(__x, ptr); break; \
-+ default: BUILD_BUG(); \
-+ } \
- \
- __pu_err; \
- })
-
-+#define __put_user(x, ptr) \
-+({ \
-+ load_sr2(); \
-+ __put_user_internal(x, ptr); \
-+})
-+
-+
- /*
- * The "__put_user/kernel_asm()" macros tell gcc they read from memory
- * instead of writing. This is because they do not write to any memory
---
-2.12.0
-
diff --git a/queue/parisc-fix-bugs-in-pa_memcpy.patch b/queue/parisc-fix-bugs-in-pa_memcpy.patch
deleted file mode 100644
index f24a061..0000000
--- a/queue/parisc-fix-bugs-in-pa_memcpy.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 409c1b250e30ad0e48b4d15d7319b4e18c046c4f Mon Sep 17 00:00:00 2001
-From: Mikulas Patocka <mpatocka@redhat.com>
-Date: Fri, 14 Apr 2017 14:15:20 -0400
-Subject: [PATCH] parisc: fix bugs in pa_memcpy
-
-commit 409c1b250e30ad0e48b4d15d7319b4e18c046c4f upstream.
-
-The patch 554bfeceb8a22d448cd986fc9efce25e833278a1 ("parisc: Fix access
-fault handling in pa_memcpy()") reimplements the pa_memcpy function.
-Unfortunatelly, it makes the kernel unbootable. The crash happens in the
-function ide_complete_cmd where memcpy is called with the same source
-and destination address.
-
-This patch fixes a few bugs in pa_memcpy:
-
-* When jumping to .Lcopy_loop_16 for the first time, don't skip the
- instruction "ldi 31,t0" (this bug made the kernel unbootable)
-* Use the COND macro when comparing length, so that the comparison is
- 64-bit (a theoretical issue, in case the length is greater than
- 0xffffffff)
-* Don't use the COND macro after the "extru" instruction (the PA-RISC
- specification says that the upper 32-bits of extru result are undefined,
- although they are set to zero in practice)
-* Fix exception addresses in .Lcopy16_fault and .Lcopy8_fault
-* Rename .Lcopy_loop_4 to .Lcopy_loop_8 (so that it is consistent with
- .Lcopy8_fault)
-
-Cc: <stable@vger.kernel.org> # v4.9+
-Fixes: 554bfeceb8a2 ("parisc: Fix access fault handling in pa_memcpy()")
-Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
-Signed-off-by: Helge Deller <deller@gmx.de>
-
-diff --git a/arch/parisc/lib/lusercopy.S b/arch/parisc/lib/lusercopy.S
-index f01188c044ee..85c28bb80fb7 100644
---- a/arch/parisc/lib/lusercopy.S
-+++ b/arch/parisc/lib/lusercopy.S
-@@ -201,7 +201,7 @@ ENTRY_CFI(pa_memcpy)
- add dst,len,end
-
- /* short copy with less than 16 bytes? */
-- cmpib,>>=,n 15,len,.Lbyte_loop
-+ cmpib,COND(>>=),n 15,len,.Lbyte_loop
-
- /* same alignment? */
- xor src,dst,t0
-@@ -216,7 +216,7 @@ ENTRY_CFI(pa_memcpy)
- /* loop until we are 64-bit aligned */
- .Lalign_loop64:
- extru dst,31,3,t1
-- cmpib,=,n 0,t1,.Lcopy_loop_16
-+ cmpib,=,n 0,t1,.Lcopy_loop_16_start
- 20: ldb,ma 1(srcspc,src),t1
- 21: stb,ma t1,1(dstspc,dst)
- b .Lalign_loop64
-@@ -225,6 +225,7 @@ ENTRY_CFI(pa_memcpy)
- ASM_EXCEPTIONTABLE_ENTRY(20b,.Lcopy_done)
- ASM_EXCEPTIONTABLE_ENTRY(21b,.Lcopy_done)
-
-+.Lcopy_loop_16_start:
- ldi 31,t0
- .Lcopy_loop_16:
- cmpb,COND(>>=),n t0,len,.Lword_loop
-@@ -267,7 +268,7 @@ ENTRY_CFI(pa_memcpy)
- /* loop until we are 32-bit aligned */
- .Lalign_loop32:
- extru dst,31,2,t1
-- cmpib,=,n 0,t1,.Lcopy_loop_4
-+ cmpib,=,n 0,t1,.Lcopy_loop_8
- 20: ldb,ma 1(srcspc,src),t1
- 21: stb,ma t1,1(dstspc,dst)
- b .Lalign_loop32
-@@ -277,7 +278,7 @@ ENTRY_CFI(pa_memcpy)
- ASM_EXCEPTIONTABLE_ENTRY(21b,.Lcopy_done)
-
-
--.Lcopy_loop_4:
-+.Lcopy_loop_8:
- cmpib,COND(>>=),n 15,len,.Lbyte_loop
-
- 10: ldw 0(srcspc,src),t1
-@@ -299,7 +300,7 @@ ENTRY_CFI(pa_memcpy)
- ASM_EXCEPTIONTABLE_ENTRY(16b,.Lcopy_done)
- ASM_EXCEPTIONTABLE_ENTRY(17b,.Lcopy_done)
-
-- b .Lcopy_loop_4
-+ b .Lcopy_loop_8
- ldo -16(len),len
-
- .Lbyte_loop:
-@@ -324,7 +325,7 @@ ENTRY_CFI(pa_memcpy)
- .Lunaligned_copy:
- /* align until dst is 32bit-word-aligned */
- extru dst,31,2,t1
-- cmpib,COND(=),n 0,t1,.Lcopy_dstaligned
-+ cmpib,=,n 0,t1,.Lcopy_dstaligned
- 20: ldb 0(srcspc,src),t1
- ldo 1(src),src
- 21: stb,ma t1,1(dstspc,dst)
-@@ -362,7 +363,7 @@ ENTRY_CFI(pa_memcpy)
- cmpiclr,<> 1,t0,%r0
- b,n .Lcase1
- .Lcase0:
-- cmpb,= %r0,len,.Lcda_finish
-+ cmpb,COND(=) %r0,len,.Lcda_finish
- nop
-
- 1: ldw,ma 4(srcspc,src), a3
-@@ -376,7 +377,7 @@ ENTRY_CFI(pa_memcpy)
- 1: ldw,ma 4(srcspc,src), a3
- ASM_EXCEPTIONTABLE_ENTRY(1b,.Lcda_rdfault)
- ldo -1(len),len
-- cmpb,=,n %r0,len,.Ldo0
-+ cmpb,COND(=),n %r0,len,.Ldo0
- .Ldo4:
- 1: ldw,ma 4(srcspc,src), a0
- ASM_EXCEPTIONTABLE_ENTRY(1b,.Lcda_rdfault)
-@@ -402,7 +403,7 @@ ENTRY_CFI(pa_memcpy)
- 1: stw,ma t0, 4(dstspc,dst)
- ASM_EXCEPTIONTABLE_ENTRY(1b,.Lcopy_done)
- ldo -4(len),len
-- cmpb,<> %r0,len,.Ldo4
-+ cmpb,COND(<>) %r0,len,.Ldo4
- nop
- .Ldo0:
- shrpw a2, a3, %sar, t0
-@@ -436,14 +437,14 @@ ENTRY_CFI(pa_memcpy)
- /* fault exception fixup handlers: */
- #ifdef CONFIG_64BIT
- .Lcopy16_fault:
--10: b .Lcopy_done
-- std,ma t1,8(dstspc,dst)
-+ b .Lcopy_done
-+10: std,ma t1,8(dstspc,dst)
- ASM_EXCEPTIONTABLE_ENTRY(10b,.Lcopy_done)
- #endif
-
- .Lcopy8_fault:
--10: b .Lcopy_done
-- stw,ma t1,4(dstspc,dst)
-+ b .Lcopy_done
-+10: stw,ma t1,4(dstspc,dst)
- ASM_EXCEPTIONTABLE_ENTRY(10b,.Lcopy_done)
-
- .exit
---
-2.12.0
-
diff --git a/queue/ppdev-check-before-attaching-port.patch b/queue/ppdev-check-before-attaching-port.patch
deleted file mode 100644
index 338353a..0000000
--- a/queue/ppdev-check-before-attaching-port.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 6a3f3d95bd53c0e2688e42fe8c71bfa63d56b69d Mon Sep 17 00:00:00 2001
-From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
-Date: Sat, 12 Nov 2016 21:22:12 +0000
-Subject: [PATCH] ppdev: check before attaching port
-
-commit dd5c472a60e43549d789a17a8444513eec64bd7e upstream.
-
-After parport starts using the device model, all pardevice drivers
-should decide in their match_port callback function if they want to
-attach with that particulatr port. ppdev has been converted to use the
-new parport device-model code but pp_attach() tried to attach with all
-the ports.
-Create a new array of pointer and use that to remember the ports we
-have attached. And use that information to skip attaching ports which
-we have already attached.
-
-Tested-by: Joe Lawrence <joe.lawrence@redhat.com>
-Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-
-diff --git a/drivers/char/ppdev.c b/drivers/char/ppdev.c
-index f8a483c67b07..04f3e3aa73b0 100644
---- a/drivers/char/ppdev.c
-+++ b/drivers/char/ppdev.c
-@@ -86,6 +86,9 @@ struct pp_struct {
- long default_inactivity;
- };
-
-+/* should we use PARDEVICE_MAX here? */
-+static struct device *devices[PARPORT_MAX];
-+
- /* pp_struct.flags bitfields */
- #define PP_CLAIMED (1<<0)
- #define PP_EXCL (1<<1)
-@@ -790,13 +793,29 @@ static const struct file_operations pp_fops = {
-
- static void pp_attach(struct parport *port)
- {
-- device_create(ppdev_class, port->dev, MKDEV(PP_MAJOR, port->number),
-- NULL, "parport%d", port->number);
-+ struct device *ret;
-+
-+ if (devices[port->number])
-+ return;
-+
-+ ret = device_create(ppdev_class, port->dev,
-+ MKDEV(PP_MAJOR, port->number), NULL,
-+ "parport%d", port->number);
-+ if (IS_ERR(ret)) {
-+ pr_err("Failed to create device parport%d\n",
-+ port->number);
-+ return;
-+ }
-+ devices[port->number] = ret;
- }
-
- static void pp_detach(struct parport *port)
- {
-+ if (!devices[port->number])
-+ return;
-+
- device_destroy(ppdev_class, MKDEV(PP_MAJOR, port->number));
-+ devices[port->number] = NULL;
- }
-
- static struct parport_driver pp_driver = {
---
-2.12.0
-
diff --git a/queue/ppdev-fix-registering-same-device-name.patch b/queue/ppdev-fix-registering-same-device-name.patch
deleted file mode 100644
index ccc108b..0000000
--- a/queue/ppdev-fix-registering-same-device-name.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 9a69645dde1188723d80745c1bc6ee9af2cbe2a7 Mon Sep 17 00:00:00 2001
-From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
-Date: Mon, 6 Mar 2017 23:23:43 +0000
-Subject: [PATCH] ppdev: fix registering same device name
-
-commit 9a69645dde1188723d80745c1bc6ee9af2cbe2a7 upstream.
-
-Usually every parallel port will have a single pardev registered with
-it. But ppdev driver is an exception. This userspace parallel port
-driver allows to create multiple parrallel port devices for a single
-parallel port. And as a result we were having a big warning like:
-"sysfs: cannot create duplicate filename '/devices/parport0/ppdev0.0'".
-And with that many parallel port printers stopped working.
-
-We have been using the minor number as the id field while registering
-a parralel port device with a parralel port. But when there are
-multiple parrallel port device for one single parallel port, they all
-tried to register with the same name like 'pardev0.0' and everything
-started failing.
-Use an incremented index as the id instead of the minor number.
-
-Fixes: 8b7d3a9d903e ("ppdev: use new parport device model")
-Cc: stable <stable@vger.kernel.org> # v4.9+
-Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1414656
-Bugzilla: https://bugs.archlinux.org/task/52322
-Tested-by: James Feeney <james@nurealm.net>
-Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
-diff --git a/drivers/char/ppdev.c b/drivers/char/ppdev.c
-index 2a558c706581..3e73bcdf9e65 100644
---- a/drivers/char/ppdev.c
-+++ b/drivers/char/ppdev.c
-@@ -84,11 +84,14 @@ struct pp_struct {
- struct ieee1284_info state;
- struct ieee1284_info saved_state;
- long default_inactivity;
-+ int index;
- };
-
- /* should we use PARDEVICE_MAX here? */
- static struct device *devices[PARPORT_MAX];
-
-+static DEFINE_IDA(ida_index);
-+
- /* pp_struct.flags bitfields */
- #define PP_CLAIMED (1<<0)
- #define PP_EXCL (1<<1)
-@@ -290,7 +293,7 @@ static int register_device(int minor, struct pp_struct *pp)
- struct pardevice *pdev = NULL;
- char *name;
- struct pardev_cb ppdev_cb;
-- int rc = 0;
-+ int rc = 0, index;
-
- name = kasprintf(GFP_KERNEL, CHRDEV "%x", minor);
- if (name == NULL)
-@@ -303,20 +306,23 @@ static int register_device(int minor, struct pp_struct *pp)
- goto err;
- }
-
-+ index = ida_simple_get(&ida_index, 0, 0, GFP_KERNEL);
- memset(&ppdev_cb, 0, sizeof(ppdev_cb));
- ppdev_cb.irq_func = pp_irq;
- ppdev_cb.flags = (pp->flags & PP_EXCL) ? PARPORT_FLAG_EXCL : 0;
- ppdev_cb.private = pp;
-- pdev = parport_register_dev_model(port, name, &ppdev_cb, minor);
-+ pdev = parport_register_dev_model(port, name, &ppdev_cb, index);
- parport_put_port(port);
-
- if (!pdev) {
- pr_warn("%s: failed to register device!\n", name);
- rc = -ENXIO;
-+ ida_simple_remove(&ida_index, index);
- goto err;
- }
-
- pp->pdev = pdev;
-+ pp->index = index;
- dev_dbg(&pdev->dev, "registered pardevice\n");
- err:
- kfree(name);
-@@ -755,6 +761,7 @@ static int pp_release(struct inode *inode, struct file *file)
-
- if (pp->pdev) {
- parport_unregister_device(pp->pdev);
-+ ida_simple_remove(&ida_index, pp->index);
- pp->pdev = NULL;
- pr_debug(CHRDEV "%x: unregistered pardevice\n", minor);
- }
---
-2.12.0
-
diff --git a/queue/series b/queue/series
index 5e11090..c5f5331 100644
--- a/queue/series
+++ b/queue/series
@@ -1,5 +1,3 @@
-ppdev-check-before-attaching-port.patch
-ppdev-fix-registering-same-device-name.patch
drm-vmwgfx-Type-check-lookups-of-fence-objects.patch
drm-vmwgfx-NULL-pointer-dereference-in-vmw_surface_d.patch
drm-vmwgfx-avoid-calling-vzalloc-with-a-0-size-in-vm.patch
@@ -24,7 +22,6 @@ Kbuild-use-cc-disable-warning-consistently-for-maybe.patch
orangefs-move-features-validation-to-fix-filesystem-.patch
xfs-Honor-FALLOC_FL_KEEP_SIZE-when-punching-ends-of-.patch
ring-buffer-Fix-return-value-check-in-test_ringbuffe.patch
-mac80211-unconditionally-start-new-netdev-queues-wit.patch
brcmfmac-use-local-iftype-avoiding-use-after-free-of.patch
metag-usercopy-Drop-unused-macros.patch
metag-usercopy-Fix-alignment-error-checking.patch
@@ -135,7 +132,6 @@ drm-i915-Avoid-tweaking-evaluation-thresholds-on-Bay.patch
drm-i915-Only-enable-hotplug-interrupts-if-the-displ.patch
drm-i915-Drop-support-for-I915_EXEC_CONSTANTS_-execb.patch
drm-i915-Stop-using-RP_DOWN_EI-on-Baytrail.patch
-drm-i915-Avoid-rcu_barrier-from-reclaim-paths-shrink.patch
orangefs-fix-memory-leak-of-string-new-on-exit-path.patch
orangefs-Dan-Carpenter-influenced-cleanups.patch
orangefs-fix-buffer-size-mis-match-between-kernel-sp.patch
@@ -170,19 +166,16 @@ zsmalloc-expand-class-bit.patch
orangefs-free-superblock-when-mount-fails.patch
drm-nouveau-mpeg-mthd-returns-true-on-success-now.patch
drm-nouveau-mmu-nv4a-use-nv04-mmu-rather-than-the-nv.patch
-drm-etnaviv-fix-missing-unlock-on-error-in-etnaviv_g.patch
CIFS-reconnect-thread-reschedule-itself.patch
CIFS-store-results-of-cifs_reopen_file-to-avoid-infi.patch
Input-xpad-add-support-for-Razer-Wildcat-gamepad.patch
perf-x86-Avoid-exposing-wrong-stale-data-in-intel_pm.patch
-x86-efi-Don-t-try-to-reserve-runtime-regions.patch
x86-signals-Fix-lower-upper-bound-reporting-in-compa.patch
x86-pmem-fix-broken-__copy_user_nocache-cache-bypass.patch
x86-vdso-Ensure-vdso32_enabled-gets-set-to-valid-val.patch
x86-vdso-Plug-race-between-mapping-and-ELF-header-se.patch
acpi-nfit-libnvdimm-fix-interleave-set-cookie-calcul.patch
ACPI-scan-Set-the-visited-flag-for-all-enumerated-de.patch
-parisc-fix-bugs-in-pa_memcpy.patch
efi-libstub-Skip-GOP-with-PIXEL_BLT_ONLY-format.patch
efi-fb-Avoid-reconfiguration-of-BAR-that-covers-the-.patch
iscsi-target-Fix-TMR-reference-leak-during-session-s.patch
@@ -199,7 +192,6 @@ libnvdimm-fix-blk-free-space-accounting.patch
libnvdimm-fix-reconfig_mutex-mmap_sem-and-jbd2_handl.patch
can-ifi-use-correct-register-to-read-rx-status.patch
pwm-rockchip-State-of-PWM-clock-should-synchronize-w.patch
-cpufreq-Bring-CPUs-up-even-if-cpufreq_online-failed.patch
irqchip-irq-imx-gpcv2-Fix-spinlock-initialization.patch
ftrace-Fix-removing-of-second-function-probe.patch
char-lack-of-bool-string-made-CONFIG_DEVPORT-always-.patch
@@ -209,7 +201,6 @@ zram-do-not-use-copy_page-with-non-page-aligned-addr.patch
ftrace-Fix-function-pid-filter-on-instances.patch
crypto-algif_aead-Fix-bogus-request-dereference-in-c.patch
crypto-ahash-Fix-EINPROGRESS-notification-callback.patch
-parisc-Fix-get_user-for-64-bit-value-on-32-bit-kerne.patch
ath9k-fix-NULL-pointer-dereference.patch
dvb-usb-v2-avoid-use-after-free.patch
ext4-fix-inode-checksum-calculation-problem-if-i_ext.patch
diff --git a/queue/x86-efi-Don-t-try-to-reserve-runtime-regions.patch b/queue/x86-efi-Don-t-try-to-reserve-runtime-regions.patch
deleted file mode 100644
index 56d1a62..0000000
--- a/queue/x86-efi-Don-t-try-to-reserve-runtime-regions.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 6f6266a561306e206e0e31a5038f029b6a7b1d89 Mon Sep 17 00:00:00 2001
-From: Omar Sandoval <osandov@fb.com>
-Date: Wed, 12 Apr 2017 16:27:19 +0100
-Subject: [PATCH] x86/efi: Don't try to reserve runtime regions
-
-commit 6f6266a561306e206e0e31a5038f029b6a7b1d89 upstream.
-
-Reserving a runtime region results in splitting the EFI memory
-descriptors for the runtime region. This results in runtime region
-descriptors with bogus memory mappings, leading to interesting crashes
-like the following during a kexec:
-
- general protection fault: 0000 [#1] SMP
- Modules linked in:
- CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.11.0-rc1 #53
- Hardware name: Wiwynn Leopard-Orv2/Leopard-DDR BW, BIOS LBM05 09/30/2016
- RIP: 0010:virt_efi_set_variable()
- ...
- Call Trace:
- efi_delete_dummy_variable()
- efi_enter_virtual_mode()
- start_kernel()
- ? set_init_arg()
- x86_64_start_reservations()
- x86_64_start_kernel()
- start_cpu()
- ...
- Kernel panic - not syncing: Fatal exception
-
-Runtime regions will not be freed and do not need to be reserved, so
-skip the memmap modification in this case.
-
-Signed-off-by: Omar Sandoval <osandov@fb.com>
-Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
-Cc: <stable@vger.kernel.org> # v4.9+
-Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-Cc: Dave Young <dyoung@redhat.com>
-Cc: Linus Torvalds <torvalds@linux-foundation.org>
-Cc: Peter Jones <pjones@redhat.com>
-Cc: Peter Zijlstra <peterz@infradead.org>
-Cc: Thomas Gleixner <tglx@linutronix.de>
-Cc: linux-efi@vger.kernel.org
-Fixes: 8e80632fb23f ("efi/esrt: Use efi_mem_reserve() and avoid a kmalloc()")
-Link: http://lkml.kernel.org/r/20170412152719.9779-2-matt@codeblueprint.co.uk
-Signed-off-by: Ingo Molnar <mingo@kernel.org>
-
-diff --git a/arch/x86/platform/efi/quirks.c b/arch/x86/platform/efi/quirks.c
-index 30031d5293c4..cdfe8c628959 100644
---- a/arch/x86/platform/efi/quirks.c
-+++ b/arch/x86/platform/efi/quirks.c
-@@ -201,6 +201,10 @@ void __init efi_arch_mem_reserve(phys_addr_t addr, u64 size)
- return;
- }
-
-+ /* No need to reserve regions that will never be freed. */
-+ if (md.attribute & EFI_MEMORY_RUNTIME)
-+ return;
-+
- size += addr % EFI_PAGE_SIZE;
- size = round_up(size, EFI_PAGE_SIZE);
- addr = round_down(addr, EFI_PAGE_SIZE);
---
-2.12.0
-