From 79be2bfa11fff184549ea8815ec86d1bd2969d54 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Thu, 9 Oct 2014 02:42:51 +0000 Subject: [PATCH] Update to 3.16.4 svn path=/dists/sid/linux/; revision=21932 --- debian/changelog | 198 +++++++++++++++++- .../all/aio-fix-reqs_available-handling.patch | 161 -------------- ...T-add-missing-linux-string.h-include.patch | 49 ----- .../parisc/hppa-arch-fast-indirect.patch | 31 --- ...AD-register-back-in-init_ring_common.patch | 41 ---- debian/patches/series | 4 - 6 files changed, 195 insertions(+), 289 deletions(-) delete mode 100644 debian/patches/bugfix/all/aio-fix-reqs_available-handling.patch delete mode 100644 debian/patches/bugfix/mips/MIPS-ZBOOT-add-missing-linux-string.h-include.patch delete mode 100644 debian/patches/bugfix/parisc/hppa-arch-fast-indirect.patch delete mode 100644 debian/patches/bugfix/x86/drm-i915-read-HEAD-register-back-in-init_ring_common.patch diff --git a/debian/changelog b/debian/changelog index 8f8a94e69..65d294624 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,198 @@ -linux (3.16.3-3) UNRELEASED; urgency=low +linux (3.16.4-1) UNRELEASED; urgency=low + + * New upstream stable update: + https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.16.4 + - module: Clean up ro/nx after early module load failures + (regression in 3.16) + - [armhf] cpufreq: OPP: Avoid sleeping while atomic + - [armhf] drm/tilcdc: Fix various bugs in removal path + - drm/ttm: Fix possible stack overflow by recursive shrinker calls. + - [x86] drm/i915: Fix crash when failing to parse MIPI VBT + (regression in 3.16) + - [x86] drm/i915: read HEAD register back in init_ring_common() to enforce + ordering (Closes: #763583) + - libata: widen Crucial M550 blacklist matching + - pata_scc: propagate return value of scc_wait_after_reset + - pwm: Fix period and polarity in pwm_get() for non-perfect matches + - aio: add missing smp_rmb() in read_events_ring + - [arm64] flush TLS registers during exec + - [arm64] use irq_set_affinity with force=false when migrating irqs + (regression in 3.15) + - [arm*] KVM: Nuke Hyp-mode tlbs before enabling MMU + - [x86] i2c: ismt: use correct length when copy buffer + - ftrace: Use current addr when converting to nop in + __ftrace_replace_code() (regression in 3.16) + - ALSA: core: fix buffer overflow in snd_info_get_line() + - ALSA: firewire-lib/dice: add arrangements of PCM pointer and interrupts + for Dice quirk (regression in 3.16) + - HID: picolcd: sanity check report size in raw_event() callback + (CVE-2014-3186) + - HID: magicmouse: sanity check report size in raw_event() callback + (CVE-2014-3181) + - HID: logitech-dj: prevent false errors to be shown (regression in 3.16.2) + - [x86] drm/i915: Skip load detect when intel_crtc->new_enable==true + (regression in 3.16) + - [x86] drm/i915: fix plane/cursor handling when runtime suspended + (regression in 3.14) + - [x86] drm/i915: Ignore VBT backlight presence check on Acer C720 (4005U) + (regression in 3.15) + - [x86] drm/i915: Wait for vblank before enabling the TV encoder + (regression in 3.16) + - [x86] drm/i915/hdmi: fix hdmi audio state readout (regression in 3.16) + - drm/radeon: Add ability to get and change dpm state when radeon PX card + is turned off (regression in 3.15) + - locks: pass correct "before" pointer to locks_unlink_lock in + generic_add_lease + - ufs: fix deadlocks introduced by sb mutex merge (regression in 3.16) + - USB: serial: fix potential stack buffer overflow + - USB: serial: fix potential heap buffer overflow + - USB: option: reduce interrupt-urb logging verbosity (regression in 3.16) + - [armhf] usb: phy: twl4030-usb: Fix lost interrupts after ID pin goes down + (regression in 3.13) + - [armhf] usb: phy: twl4030-usb: Fix regressions to runtime PM on omaps + (regressions in 3.14, 3.15) + - uwb: init beacon cache entry before registering uwb device + - usb: hub: take hub->hdev reference when processing from eventlist + - USB: EHCI: unlink QHs even after the controller has stopped + - Revert "ACPI / battery: fix wrong value of capacity_now reported when + fully charged" (regression in 3.16) + - [x86] iommu/vt-d: Check return value of acpi_bus_get_device() + (regression in 3.15) + - [armhf/armmp-lpae] iommu/arm-smmu: fix programming of SMMU_CBn_TCR for + stage 1 + - cgroup: check cgroup liveliness before unbreaking kernfs + (regression in 3.15) + - NFSv4: Fix another bug in the close/open_downgrade code + (regression in 3.16.2) + - nfsd4: fix corruption of NFSv4 read data (regression in 3.16) + - nfs: check wait_on_bit_lock err in page_group_lock + - nfs: clear_request_commit while holding i_lock + - nfs: fix nonblocking calls to nfs_page_group_lock + - nfs: use blocking page_group_lock in add_request + - nfs: fix error handling in lock_and_join_requests + - nfs: don't sleep with inode lock in lock_and_join_requests + - nfs: disallow duplicate pages in pgio page vectors + - nfs: can_coalesce_requests must enforce contiguity + - [armhf] 8129/1: errata: work around Cortex-A15 erratum 830321 using dummy + strex + - [armhf] 8133/1: use irq_set_affinity with force=false when migrating irqs + (regression in 3.15) + - [armel,armhf] 8148/1: flush TLS and thumbee register state during exec + - [armel,armhf] 8149/1: perf: Don't sleep while atomic when enabling + per-cpu interrupts (regression in 3.15) + - [armhf] imx: fix .is_enabled() of shared gate clock (regression in 3.16) + - [armhf] 8165/1: alignment: don't break misaligned NEON load/store + - [mips*] Fix MFC1 & MFHC1 emulation for 64-bit MIPS systems + (regression in 3.15) + - ACPICA: Update to GPIO region handler interface. + - gpio / ACPI: Use pin index and bit length + - ACPI / platform / LPSS: disable async suspend/resume of LPSS devices + (regression in 3.16) + - ACPI / hotplug: Generate online uevents for ACPI containers + (regression in 3.14) + - ACPI / video: disable native backlight for ThinkPad X201s + (regression in 3.16) + - regmap: Fix regcache debugfs initialization (regression in 3.15) + - regmap: Fix handling of volatile registers for format_write() chips + - regmap: Don't attempt block writes when syncing cache on single_rw + devices + - cgroup: reject cgroup names with '\n' + - cgroup: delay the clearing of cgrp->kn->priv + - cgroup: fix unbalanced locking (regression in 3.14) + - [s390*] KVM: Fix user triggerable bug in dead code + - [s390*] KVM: mm: try a cow on read only pages for key ops + - [s390*] KVM: mm: Fix storage key corruption during swapping + - [s390*] KVM: mm: Fix guest storage key corruption in + ptep_set_access_flags + - [x86] xen: don't copy bogus duplicate entries into kernel page tables + - [x86] early_ioremap: Increase FIX_BTMAPS_SLOTS to 8 (regression in 3.16) + - shmem: fix nlink for rename overwrite directory + - SMB3: Fix oops when creating symlinks on smb3 + - iio: Fix indio_dev->trig assignment in several drivers + - Target/iser: Don't put isert_conn inside disconnected handler + - target: Fix inverted logic in SE_DEV_ALUA_SUPPORT_STATE_STORE + (regression in 3.13) + - iscsi-target: Fix memory corruption in iscsit_logout_post_handler_diffcid + - SCSI: libiscsi: fix potential buffer overrun in __iscsi_conn_send_pdu + - Revert "iwlwifi: dvm: don't enable CTS to self" (regression in 3.16) + - iwlwifi: mvm: fix endianity issues with Smart Fifo commands + (regression in 3.14) + - iwlwifi: mvm: set MAC_FILTER_IN_BEACON correctly for STA/P2P client + (regression in 3.16) + - workqueue: apply __WQ_ORDERED to create_singlethread_workqueue() + (regression in 3.10) + - futex: Unlock hb->lock in futex_wait_requeue_pi() error path + - block: Fix dev_t minor allocation lifetime + - dm cache: fix race causing dirty blocks to be marked as clean + - percpu: fix pcpu_alloc_pages() failure path + - percpu: perform tlb flush after pcpu_map_pages() failure + - regulatory: add NUL to alpha2 + - lockd: fix rpcbind crash on lockd startup failure (regression in 3.15) + - genhd: fix leftover might_sleep() in blk_free_devt() + - eventpoll: fix uninitialized variable in epoll_ctl + - kcmp: fix standard comparison bug + - fs/notify: don't show f_handle if exportfs_encode_inode_fh failed + - nilfs2: fix data loss with mmap() + - mm, slab: initialize object alignment on cache creation + - fs/cachefiles: add missing \n to kerror conversions (regression in 3.16) + - mm: softdirty: keep bit when zapping file pte + - sched: Fix unreleased llc_shared_mask bit during CPU hotplug + - brcmfmac: handle IF event for P2P_DEVICE interface (regression in 3.12) + - ath9k_htc: fix random decryption failure (regression in 3.15) + - [powerpc,ppc*] Add smp_mb() to arch_spin_is_locked() + - [powerpc,ppc*] Add smp_mb()s to arch_spin_unlock_wait() + - [hppa] Implement new LWS CAS supporting 64 bit operations. + - alarmtimer: Return relative times in timer_gettime + - alarmtimer: Do not signal SIGEV_NONE timers + - alarmtimer: Lock k_itimer during timer callback + - GFS2: fix d_splice_alias() misuses + - IB/qib: Correct reference counting in debugfs qp_stats + - IB/mlx4: Avoid null pointer dereference in mlx4_ib_scan_netdevs() + (regression in 3.14) + - IB/mlx4: Don't duplicate the default RoCE GID (regression in 3.14) + - IB/core: When marshaling uverbs path, clear unused fields + (regression in 3.14) + - mm: Fix unbalanced mutex in dma_pool_create(). (regression in 3.16) + - PCI: Add pci_ignore_hotplug() to ignore hotplug events for a device + (regression in 3.15) + - Revert "PCI: Don't scan random busses in pci_scan_bridge()" + (regression in 3.15) + - drm/nouveau/runpm: fix module unload + - drm/radeon/px: fix module unload + - fs: Fix nasty 32-bit overflow bug in buffer i/o code. + - blk-mq: Avoid race condition with uninitialized requests + - [x86] crypto: ccp - Check for CCP before registering crypto algs + - nl80211: clear skb cb before passing to netlink + - Revert "PCI: Make sure bus number resources stay within their parents + bounds" (regression in 3.15) + - cpufreq: release policy->rwsem on error (regression in 3.14) + - cpufreq: fix cpufreq suspend/resume for intel_pstate (regression in 3.15) + - media: it913x: init tuner on attach (regression in 3.15) + - media: videobuf2-dma-sg: fix for wrong GFP mask to + sg_alloc_table_from_pages (regression in 3.13) + - media: vb2: fix vb2 state check when start_streaming fails + (regression in 3.16.3) + - media: vb2: fix plane index sanity check in vb2_plane_cookie() + - md/raid1: clean up request counts properly in close_sync() + (regression in 3.13) + - md/raid1: be more cautious where we read-balance during resync. + (regression in 3.13) + - md/raid1: make sure resync waits for conflicting writes to complete. + (regression in 3.13) + - md/raid1: Don't use next_resync to determine how far resync has + progressed (regression in 3.13) + - md/raid1: update next_resync under resync_lock. (regression in 3.13) + - md/raid1: count resync requests in nr_pending. (regression in 3.13) + - md/raid1: fix_read_error should act on all non-faulty devices. + - md/raid1: intialise start_next_window for READ case to avoid hang + (regression in 3.13) + - netfilter: xt_hashlimit: perform garbage collection from process context + - mmc: mmci: Reverse IRQ handling for the arm_variant (regression in 3.15) + - partitions: aix.c: off by one bug (regression in 3.11) + - cpufreq: update 'cpufreq_suspended' after stopping governors + - aio: block exit_aio() until all context requests are completed + - ext4: propagate errors up to ext4_find_entry()'s callers + - ext4: avoid trying to kfree an ERR_PTR pointer [ Ian Campbell ] * [armhf] Add Exynos5 disk/usb/nic modules to udebs. @@ -11,8 +205,6 @@ linux (3.16.3-3) UNRELEASED; urgency=low * [s390*] 3215: fix tty output containing tabs (Closes: #758264) * radeon: Don't check for installed firmware if driver is built-in (Closes: #763305) - * [x86] drm/i915: read HEAD register back in init_ring_common() to enforce - ordering (Closes: #763583) [ Aurelien Jarno ] * [arm64] Change RTC_DRV_PL031 and RTC_DRV_XGENE from modules to built-ins diff --git a/debian/patches/bugfix/all/aio-fix-reqs_available-handling.patch b/debian/patches/bugfix/all/aio-fix-reqs_available-handling.patch deleted file mode 100644 index 72e156f6d..000000000 --- a/debian/patches/bugfix/all/aio-fix-reqs_available-handling.patch +++ /dev/null @@ -1,161 +0,0 @@ -From: Benjamin LaHaise -Date: Sun, 24 Aug 2014 13:14:05 -0400 -Subject: aio: fix reqs_available handling -Origin: https://git.kernel.org/linus/d856f32a86b2b015ab180ab7a55e455ed8d3ccc5 - -As reported by Dan Aloni, commit f8567a3845ac ("aio: fix aio request -leak when events are reaped by userspace") introduces a regression when -user code attempts to perform io_submit() with more events than are -available in the ring buffer. Reverting that commit would reintroduce a -regression when user space event reaping is used. - -Fixing this bug is a bit more involved than the previous attempts to fix -this regression. Since we do not have a single point at which we can -count events as being reaped by user space and io_getevents(), we have -to track event completion by looking at the number of events left in the -event ring. So long as there are as many events in the ring buffer as -there have been completion events generate, we cannot call -put_reqs_available(). The code to check for this is now placed in -refill_reqs_available(). - -A test program from Dan and modified by me for verifying this bug is available -at http://www.kvack.org/~bcrl/20140824-aio_bug.c . - -Reported-by: Dan Aloni -Signed-off-by: Benjamin LaHaise -Acked-by: Dan Aloni -Cc: Kent Overstreet -Cc: Mateusz Guzik -Cc: Petr Matousek -Cc: stable@vger.kernel.org # v3.16 and anything that f8567a3845ac was backported to -Signed-off-by: Linus Torvalds ---- - fs/aio.c | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 73 insertions(+), 4 deletions(-) - ---- a/fs/aio.c -+++ b/fs/aio.c -@@ -141,6 +141,7 @@ struct kioctx { - - struct { - unsigned tail; -+ unsigned completed_events; - spinlock_t completion_lock; - } ____cacheline_aligned_in_smp; - -@@ -880,6 +881,68 @@ out: - return ret; - } - -+/* refill_reqs_available -+ * Updates the reqs_available reference counts used for tracking the -+ * number of free slots in the completion ring. This can be called -+ * from aio_complete() (to optimistically update reqs_available) or -+ * from aio_get_req() (the we're out of events case). It must be -+ * called holding ctx->completion_lock. -+ */ -+static void refill_reqs_available(struct kioctx *ctx, unsigned head, -+ unsigned tail) -+{ -+ unsigned events_in_ring, completed; -+ -+ /* Clamp head since userland can write to it. */ -+ head %= ctx->nr_events; -+ if (head <= tail) -+ events_in_ring = tail - head; -+ else -+ events_in_ring = ctx->nr_events - (head - tail); -+ -+ completed = ctx->completed_events; -+ if (events_in_ring < completed) -+ completed -= events_in_ring; -+ else -+ completed = 0; -+ -+ if (!completed) -+ return; -+ -+ ctx->completed_events -= completed; -+ put_reqs_available(ctx, completed); -+} -+ -+/* user_refill_reqs_available -+ * Called to refill reqs_available when aio_get_req() encounters an -+ * out of space in the completion ring. -+ */ -+static void user_refill_reqs_available(struct kioctx *ctx) -+{ -+ spin_lock_irq(&ctx->completion_lock); -+ if (ctx->completed_events) { -+ struct aio_ring *ring; -+ unsigned head; -+ -+ /* Access of ring->head may race with aio_read_events_ring() -+ * here, but that's okay since whether we read the old version -+ * or the new version, and either will be valid. The important -+ * part is that head cannot pass tail since we prevent -+ * aio_complete() from updating tail by holding -+ * ctx->completion_lock. Even if head is invalid, the check -+ * against ctx->completed_events below will make sure we do the -+ * safe/right thing. -+ */ -+ ring = kmap_atomic(ctx->ring_pages[0]); -+ head = ring->head; -+ kunmap_atomic(ring); -+ -+ refill_reqs_available(ctx, head, ctx->tail); -+ } -+ -+ spin_unlock_irq(&ctx->completion_lock); -+} -+ - /* aio_get_req - * Allocate a slot for an aio request. - * Returns NULL if no requests are free. -@@ -888,8 +951,11 @@ static inline struct kiocb *aio_get_req( - { - struct kiocb *req; - -- if (!get_reqs_available(ctx)) -- return NULL; -+ if (!get_reqs_available(ctx)) { -+ user_refill_reqs_available(ctx); -+ if (!get_reqs_available(ctx)) -+ return NULL; -+ } - - req = kmem_cache_alloc(kiocb_cachep, GFP_KERNEL|__GFP_ZERO); - if (unlikely(!req)) -@@ -948,8 +1014,8 @@ void aio_complete(struct kiocb *iocb, lo - struct kioctx *ctx = iocb->ki_ctx; - struct aio_ring *ring; - struct io_event *ev_page, *event; -+ unsigned tail, pos, head; - unsigned long flags; -- unsigned tail, pos; - - /* - * Special case handling for sync iocbs: -@@ -1010,10 +1076,14 @@ void aio_complete(struct kiocb *iocb, lo - ctx->tail = tail; - - ring = kmap_atomic(ctx->ring_pages[0]); -+ head = ring->head; - ring->tail = tail; - kunmap_atomic(ring); - flush_dcache_page(ctx->ring_pages[0]); - -+ ctx->completed_events++; -+ if (ctx->completed_events > 1) -+ refill_reqs_available(ctx, head, tail); - spin_unlock_irqrestore(&ctx->completion_lock, flags); - - pr_debug("added to ring %p at [%u]\n", iocb, tail); -@@ -1028,7 +1098,6 @@ void aio_complete(struct kiocb *iocb, lo - - /* everything turned out well, dispose of the aiocb. */ - kiocb_free(iocb); -- put_reqs_available(ctx, 1); - - /* - * We have to order our ring_info tail store above and test diff --git a/debian/patches/bugfix/mips/MIPS-ZBOOT-add-missing-linux-string.h-include.patch b/debian/patches/bugfix/mips/MIPS-ZBOOT-add-missing-linux-string.h-include.patch deleted file mode 100644 index 22f51cd8d..000000000 --- a/debian/patches/bugfix/mips/MIPS-ZBOOT-add-missing-linux-string.h-include.patch +++ /dev/null @@ -1,49 +0,0 @@ -From: Aurelien Jarno -Date: Sun, 20 Jul 2014 19:25:33 +0200 -Subject: MIPS: ZBOOT: add missing include -Forwarded: http://www.linux-mips.org/archives/linux-mips/2014-07/msg00377.html - -Commit dc4d7b37 (MIPS: ZBOOT: gather string functions into string.c) -moved the string related functions into a separate file, which might -cause the following build error, depending on the configuration: - -| CC arch/mips/boot/compressed/decompress.o -| In file included from linux/arch/mips/boot/compressed/../../../../lib/decompress_unxz.c:234:0, -| from linux/arch/mips/boot/compressed/decompress.c:67: -| linux/arch/mips/boot/compressed/../../../../lib/xz/xz_dec_stream.c: In function 'fill_temp': -| linux/arch/mips/boot/compressed/../../../../lib/xz/xz_dec_stream.c:162:2: error: implicit declaration of function 'memcpy' [-Werror=implicit-function-declaration] -| cc1: some warnings being treated as errors -| linux/scripts/Makefile.build:308: recipe for target 'arch/mips/boot/compressed/decompress.o' failed -| make[6]: *** [arch/mips/boot/compressed/decompress.o] Error 1 -| linux/arch/mips/Makefile:308: recipe for target 'vmlinuz' failed - -It does not fail with the standard configuration, as when -CONFIG_DYNAMIC_DEBUG is not enabled gets included in -include/linux/dynamic_debug.h. There might be other ways for it to -get indirectly included. - -We can't add the include directly in xz_dec_stream.c as some -architectures might want to use a different version for the boot/ -directory (see for example arch/x86/boot/string.h). - -Cc: stable@vger.kernel.org -Signed-off-by: Aurelien Jarno ---- - arch/mips/boot/compressed/decompress.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/mips/boot/compressed/decompress.c b/arch/mips/boot/compressed/decompress.c -index c00c4dd..5244cec 100644 ---- a/arch/mips/boot/compressed/decompress.c -+++ b/arch/mips/boot/compressed/decompress.c -@@ -13,6 +13,7 @@ - - #include - #include -+#include - - #include - --- -2.0.0 - diff --git a/debian/patches/bugfix/parisc/hppa-arch-fast-indirect.patch b/debian/patches/bugfix/parisc/hppa-arch-fast-indirect.patch deleted file mode 100644 index e5aab36e7..000000000 --- a/debian/patches/bugfix/parisc/hppa-arch-fast-indirect.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Helge Deller -Date: Sun, 21 Sep 2014 20:53:39 +0200 -Subject: hppa-arch-fast-indirect.patch -Bug-Debian: https://bugs.debian.org/762390 - -Currently the 64bit hppa kernel gets miscompiled by gcc-4.8 and as such -it will not boot. - -The attached patch fixes one of the problems. Latest changes in gcc-4.8 -made changes to the -mfast-indirect-calls option which now produces wrong code -when compiling for 64bit. The problem is being worked on in upstream gcc-4.8, -and we don't know yet if we will implement -mfast-indirect-calls for 64bit -(which might introduce side-effects) or not. That's the reason why I don't want -to push attached patch upstream yet. - ---- a/arch/parisc/Makefile -+++ b/arch/parisc/Makefile -@@ -48,7 +48,12 @@ cflags-y := -pipe - - # These flags should be implied by an hppa-linux configuration, but they - # are not in gcc 3.2. --cflags-y += -mno-space-regs -mfast-indirect-calls -+cflags-y += -mno-space-regs -+ -+# -mfast-indirect-calls is only relevant for 32-bit kernels. -+ifndef CONFIG_64BIT -+cflags-y += -mfast-indirect-calls -+endif - - # Currently we save and restore fpregs on all kernel entry/interruption paths. - # If that gets optimized, we might need to disable the use of fpregs in the diff --git a/debian/patches/bugfix/x86/drm-i915-read-HEAD-register-back-in-init_ring_common.patch b/debian/patches/bugfix/x86/drm-i915-read-HEAD-register-back-in-init_ring_common.patch deleted file mode 100644 index e0ef85d49..000000000 --- a/debian/patches/bugfix/x86/drm-i915-read-HEAD-register-back-in-init_ring_common.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: Jiri Kosina -Date: Thu, 7 Aug 2014 16:29:53 +0200 -Subject: drm/i915: read HEAD register back in init_ring_common() to enforce - ordering -Origin: https://git.kernel.org/linus/ece4a17d237a79f63fbfaf3f724a12b6d500555c - -Withtout this, ring initialization fails reliabily during resume with - - [drm:init_ring_common] *ERROR* render ring initialization failed ctl 0001f001 head ffffff8804 tail 00000000 start 000e4000 - -This is not a complete fix, but it is verified to make the ring -initialization failures during resume much less likely. - -We were not able to root-cause this bug (likely HW-specific to Gen4 chips) -yet. This is therefore used as a ducttape before problem is fully -understood and proper fix created, so that people don't suffer from -completely unusable systems in the meantime. - -The discussion and debugging is happening at - - https://bugs.freedesktop.org/show_bug.cgi?id=76554 - -Signed-off-by: Jiri Kosina -Cc: stable@vger.kernel.org -Signed-off-by: Daniel Vetter ---- - drivers/gpu/drm/i915/intel_ringbuffer.c | 3 +++ - 1 file changed, 3 insertions(+) - ---- a/drivers/gpu/drm/i915/intel_ringbuffer.c -+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c -@@ -517,6 +517,9 @@ static int init_ring_common(struct intel - else - ring_setup_phys_status_page(ring); - -+ /* Enforce ordering by reading HEAD register back */ -+ I915_READ_HEAD(ring); -+ - /* Initialize the ring. This must happen _after_ we've cleared the ring - * registers with the above sequence (the readback of the HEAD registers - * also enforces ordering), otherwise the hw might lose the new ring diff --git a/debian/patches/series b/debian/patches/series index e31550027..713b7e1fc 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -51,12 +51,9 @@ bugfix/arm/omap-musb-choice.patch bugfix/mips/disable-advansys.patch bugfix/arm/ixp4xx_iobe.patch bugfix/m68k/ethernat-kconfig.patch -bugfix/mips/MIPS-ZBOOT-add-missing-linux-string.h-include.patch bugfix/x86/x86-reject-x32-executables-if-x32-abi-not-supported.patch bugfix/s390/s390-3215-fix-hanging-console-issue.patch bugfix/arm64/arm64-crypto-fix-makefile-rule-for-aes-glue-.o.patch -bugfix/parisc/hppa-arch-fast-indirect.patch -bugfix/x86/drm-i915-read-HEAD-register-back-in-init_ring_common.patch # Arch features features/mips/MIPS-Support-hard-limit-of-cpu-count-nr_cpu_ids.patch @@ -110,7 +107,6 @@ features/arm64/dts-Add-bindings-for-APM-X-Gene-SoC-ethernet-driver.patch bugfix/all/misc-bmp085-Enable-building-as-a-module.patch bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch bugfix/all/disable-some-marvell-phys.patch -bugfix/all/aio-fix-reqs_available-handling.patch debian/i2o-disable-i2o_ext_adaptec-on-64bit.patch bugfix/all/aic94xx-remove-broken-fallback-for-missing-ctrl-a.patch bugfix/all/builddeb-put-the-dbg-files-into-the-correct-director.patch