1. 23 Nov, 2018 34 commits
  2. 21 Nov, 2018 6 commits
    • Greg Kroah-Hartman's avatar
      Linux 4.19.3 · 73aa1c86
      Greg Kroah-Hartman authored
      73aa1c86
    • Greg Kroah-Hartman's avatar
      Revert "ACPICA: AML interpreter: add region addresses in global list during initialization" · 8ef305fb
      Greg Kroah-Hartman authored
      This reverts commit 22083c02 which is
      commit 4abb951b upstream.
      
      Jean writes:
      
      	This commit was tagged with:
      
      	    Link: https://bugzilla.kernel.org/show_bug.cgi?id=200011
      	    Tested-by: Jean-Marc Lenoir
      	    Cc: All applicable <stable@vger.kernel.org>
      
      	making it sound like it was fixing an actual bug. This is not the case.
      	The commit fixes a side issue discovered while investigating bug
      	#200011. It does NOT fix bug #200011 itself (as explicitly reported by
      	Jean-Marc at https://bugzilla.kernel.org/show_bug.cgi?id=200011#c65 ).
      
      	It does however cause regressions, despite what the commit message says. See:
      
      	https://bugzilla.kernel.org/show_bug.cgi?id=201721
      
      	and I expect more similar regressions, as ACPI resource conflicts are
      	very frequent.
      
      	This commit was not stable material to start with. It is intrusive,
      	presents a risk of side effects, and does not solve an actual bug that
      	is bothering users.
      Reported-by: default avatarJean Delvare <jdelvare@suse.de>
      Cc: Jean-Marc Lenoir <archlinux@jihemel.com>
      Cc: Erik Schmauss <erik.schmauss@intel.com>
      Cc: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8ef305fb
    • Stefano Stabellini's avatar
      CONFIG_XEN_PV breaks xen_create_contiguous_region on ARM · 491636a8
      Stefano Stabellini authored
      commit f9005571 upstream.
      
      xen_create_contiguous_region has now only an implementation if
      CONFIG_XEN_PV is defined. However, on ARM we never set CONFIG_XEN_PV but
      we do have an implementation of xen_create_contiguous_region which is
      required for swiotlb-xen to work correctly (although it just sets
      *dma_handle).
      
      [backport: remove change to xen_remap_pfn]
      
      Cc: <stable@vger.kernel.org> # 4.12
      Fixes: 16624390 ("xen: create xen_create/destroy_contiguous_region() stubs for PVHVM only builds")
      Signed-off-by: default avatarStefano Stabellini <stefanos@xilinx.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      CC: Jeff.Kubascik@dornerworks.com
      CC: Jarvis.Roach@dornerworks.com
      CC: Nathan.Studer@dornerworks.com
      CC: vkuznets@redhat.com
      CC: boris.ostrovsky@oracle.com
      CC: jgross@suse.com
      CC: julien.grall@arm.com
      Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      491636a8
    • Ville Syrjälä's avatar
      drm/i915: Fix hpd handling for pins with two encoders · 32bd1336
      Ville Syrjälä authored
      commit 44a7276b upstream.
      
      In my haste to remove irq_port[] I accidentally changed the
      way we deal with hpd pins that are shared by multiple encoders
      (DP and HDMI for pre-DDI platforms). Previously we would only
      handle such pins via ->hpd_pulse(), but now we queue up the
      hotplug work for the HDMI encoder directly. Worse yet, we now
      count each hpd twice and this increment the hpd storm count
      twice as fast. This can lead to spurious storms being detected.
      
      Go back to the old way of doing things, ie. delegate to
      ->hpd_pulse() for any pin which has an encoder with that hook
      implemented. I don't really like the idea of adding irq_port[]
      back so let's loop through the encoders first to check if we
      have an encoder with ->hpd_pulse() for the pin, and then go
      through all the pins and decided on the correct course of action
      based on the earlier findings.
      
      I have occasionally toyed with the idea of unifying the pre-DDI
      HDMI and DP encoders into a single encoder as well. Besides the
      hotplug processing it would have the other benefit of preventing
      userspace from trying to enable both encoders at the same time.
      That is simply illegal as they share the same clock/data pins.
      We have some testcases that will attempt that and thus fail on
      many older machines. But for now let's stick to fixing just the
      hotplug code.
      
      Cc: stable@vger.kernel.org # 4.19+
      Cc: Lyude Paul <lyude@redhat.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Fixes: b6ca3eee ("drm/i915: Nuke dev_priv->irq_port[]")
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181108200424.28371-1-ville.syrjala@linux.intel.comReviewed-by: default avatarLyude Paul <lyude@redhat.com>
      (cherry picked from commit 5a3aeca9)
      Signed-off-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      32bd1336
    • Lyude Paul's avatar
      drm/i915: Fix NULL deref when re-enabling HPD IRQs on systems with MST · 67d55fb2
      Lyude Paul authored
      commit 541ff7e9 upstream.
      
      Turns out that if you trigger an HPD storm on a system that has an MST
      topology connected to it, you'll end up causing the kernel to eventually
      hit a NULL deref:
      
      [  332.339041] BUG: unable to handle kernel NULL pointer dereference at 00000000000000ec
      [  332.340906] PGD 0 P4D 0
      [  332.342750] Oops: 0000 [#1] SMP PTI
      [  332.344579] CPU: 2 PID: 25 Comm: kworker/2:0 Kdump: loaded Tainted: G           O      4.18.0-rc3short-hpd-storm+ #2
      [  332.346453] Hardware name: LENOVO 20BWS1KY00/20BWS1KY00, BIOS JBET71WW (1.35 ) 09/14/2018
      [  332.348361] Workqueue: events intel_hpd_irq_storm_reenable_work [i915]
      [  332.350301] RIP: 0010:intel_hpd_irq_storm_reenable_work.cold.3+0x2f/0x86 [i915]
      [  332.352213] Code: 00 00 ba e8 00 00 00 48 c7 c6 c0 aa 5f a0 48 c7 c7 d0 73 62 a0 4c 89 c1 4c 89 04 24 e8 7f f5 af e0 4c 8b 04 24 44 89 f8 29 e8 <41> 39 80 ec 00 00 00 0f 85 43 13 fc ff 41 0f b6 86 b8 04 00 00 41
      [  332.354286] RSP: 0018:ffffc90000147e48 EFLAGS: 00010006
      [  332.356344] RAX: 0000000000000005 RBX: ffff8802c226c9d4 RCX: 0000000000000006
      [  332.358404] RDX: 0000000000000000 RSI: 0000000000000082 RDI: ffff88032dc95570
      [  332.360466] RBP: 0000000000000005 R08: 0000000000000000 R09: ffff88031b3dc840
      [  332.362528] R10: 0000000000000000 R11: 000000031a069602 R12: ffff8802c226ca20
      [  332.364575] R13: ffff8802c2268000 R14: ffff880310661000 R15: 000000000000000a
      [  332.366615] FS:  0000000000000000(0000) GS:ffff88032dc80000(0000) knlGS:0000000000000000
      [  332.368658] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  332.370690] CR2: 00000000000000ec CR3: 000000000200a003 CR4: 00000000003606e0
      [  332.372724] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [  332.374773] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [  332.376798] Call Trace:
      [  332.378809]  process_one_work+0x1a1/0x350
      [  332.380806]  worker_thread+0x30/0x380
      [  332.382777]  ? wq_update_unbound_numa+0x10/0x10
      [  332.384772]  kthread+0x112/0x130
      [  332.386740]  ? kthread_create_worker_on_cpu+0x70/0x70
      [  332.388706]  ret_from_fork+0x35/0x40
      [  332.390651] Modules linked in: i915(O) vfat fat joydev btusb btrtl btbcm btintel bluetooth ecdh_generic iTCO_wdt wmi_bmof i2c_algo_bit drm_kms_helper intel_rapl syscopyarea sysfillrect x86_pkg_temp_thermal sysimgblt coretemp fb_sys_fops crc32_pclmul drm psmouse pcspkr mei_me mei i2c_i801 lpc_ich mfd_core i2c_core tpm_tis tpm_tis_core thinkpad_acpi wmi tpm rfkill video crc32c_intel serio_raw ehci_pci xhci_pci ehci_hcd xhci_hcd [last unloaded: i915]
      [  332.394963] CR2: 00000000000000ec
      
      This appears to be due to the fact that with an MST topology, not all
      intel_connector structs will have ->encoder set. So, fix this by
      skipping connectors without encoders in
      intel_hpd_irq_storm_reenable_work().
      
      For those wondering, this bug was found on accident while simulating HPD
      storms using a Chamelium connected to a ThinkPad T450s (Broadwell).
      
      Changes since v1:
      - Check intel_connector->mst_port instead of intel_connector->encoder
      Signed-off-by: default avatarLyude Paul <lyude@redhat.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Cc: stable@vger.kernel.org
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20181106213017.14563-3-lyude@redhat.com
      (cherry picked from commit fee61dee)
      Signed-off-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      67d55fb2
    • Lyude Paul's avatar
      drm/i915: Fix possible race in intel_dp_add_mst_connector() · 72cb9a9d
      Lyude Paul authored
      commit 7c451230 upstream.
      
      This hasn't caused any issues yet that I'm aware of, but as Ville
      Syrjälä pointed out - we need to make sure that
      intel_connector->mst_port is set before initializing MST connectors,
      since in theory we could potentially check intel_connector->mst_port in
      i915_hpd_poll_init_work() after registering the connector but before
      having written it's value.
      Signed-off-by: default avatarLyude Paul <lyude@redhat.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: stable@vger.kernel.org
      Link: https://patchwork.freedesktop.org/patch/msgid/20181106213017.14563-2-lyude@redhat.com
      (cherry picked from commit 66a5ab10)
      Signed-off-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      72cb9a9d