<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers, branch v4.19.36</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.19.36</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.19.36'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2019-04-20T07:16:05+00:00</updated>
<entry>
<title>mm: hide incomplete nr_indirectly_reclaimable in sysfs</title>
<updated>2019-04-20T07:16:05+00:00</updated>
<author>
<name>Konstantin Khlebnikov</name>
<email>khlebnikov@yandex-team.ru</email>
</author>
<published>2019-04-09T17:05:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9e91db59e3b9b604995b158154bfac5569669d91'/>
<id>urn:sha1:9e91db59e3b9b604995b158154bfac5569669d91</id>
<content type='text'>
In upstream branch this fixed by commit b29940c1abd7 ("mm: rename and
change semantics of nr_indirectly_reclaimable_bytes").

This fixes /sys/devices/system/node/node*/vmstat format:

...
nr_dirtied 6613155
nr_written 5796802
 11089216
...

Cc: &lt;stable@vger.kernel.org&gt; # 4.19.y
Fixes: 7aaf77272358 ("mm: don't show nr_indirectly_reclaimable in /proc/vmstat")
Signed-off-by: Konstantin Khlebnikov &lt;khlebnikov@yandex-team.ru&gt;
Cc: Roman Gushchin &lt;guro@fb.com&gt;
Cc: Vlastimil Babka &lt;vbabka@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>IB/hfi1: Failed to drain send queue when QP is put into error state</title>
<updated>2019-04-20T07:16:05+00:00</updated>
<author>
<name>Kaike Wan</name>
<email>kaike.wan@intel.com</email>
</author>
<published>2019-03-18T16:55:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7a4626798276af0f8da71d4c9a5822991a9300a1'/>
<id>urn:sha1:7a4626798276af0f8da71d4c9a5822991a9300a1</id>
<content type='text'>
commit 662d66466637862ef955f7f6e78a286d8cf0ebef upstream.

When a QP is put into error state, all pending requests in the send work
queue should be drained. The following sequence of events could lead to a
failure, causing a request to hang:

(1) The QP builds a packet and tries to send through SDMA engine.
    However, PIO engine is still busy. Consequently, this packet is put on
    the QP's tx list and the QP is put on the PIO waiting list. The field
    qp-&gt;s_flags is set with HFI1_S_WAIT_PIO_DRAIN;

(2) The QP is put into error state by the user application and
    notify_error_qp() is called, which removes the QP from the PIO waiting
    list and the packet from the QP's tx list. In addition, qp-&gt;s_flags is
    cleared of RVT_S_ANY_WAIT_IO bits, which does not include
    HFI1_S_WAIT_PIO_DRAIN bit;

(3) The hfi1_schdule_send() function is called to drain the QP's send
    queue. Subsequently, hfi1_do_send() is called. Since the flag bit
    HFI1_S_WAIT_PIO_DRAIN is set in qp-&gt;s_flags, hfi1_send_ok() fails.  As
    a result, hfi1_do_send() bails out without draining any request from
    the send queue;

(4) The PIO engine completes the sending and tries to wake up any QP on
    its waiting list. But the QP has been removed from the PIO waiting
    list and therefore is kept in sleep forever.

The fix is to clear qp-&gt;s_flags of HFI1_S_ANY_WAIT_IO bits in step (2).
HFI1_S_ANY_WAIT_IO includes RVT_S_ANY_WAIT_IO and HFI1_S_WAIT_PIO_DRAIN.

Fixes: 2e2ba09e48b7 ("IB/rdmavt, IB/hfi1: Create device dependent s_flags")
Cc: &lt;stable@vger.kernel.org&gt; # 4.19.x+
Reviewed-by: Mike Marciniszyn &lt;mike.marciniszyn@intel.com&gt;
Reviewed-by: Alex Estrin &lt;alex.estrin@intel.com&gt;
Signed-off-by: Kaike Wan &lt;kaike.wan@intel.com&gt;
Signed-off-by: Dennis Dalessandro &lt;dennis.dalessandro@intel.com&gt;
Signed-off-by: Jason Gunthorpe &lt;jgg@mellanox.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;


</content>
</entry>
<entry>
<title>drm/amdkfd: use init_mqd function to allocate object for hid_mqd (CI)</title>
<updated>2019-04-20T07:16:04+00:00</updated>
<author>
<name>Kevin Wang</name>
<email>kevin1.wang@amd.com</email>
</author>
<published>2019-02-22T04:36:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=539282e9cd9bac049c08c62279277188e141ad24'/>
<id>urn:sha1:539282e9cd9bac049c08c62279277188e141ad24</id>
<content type='text'>
[ Upstream commit cac734c2dbd2514f14c8c6a17caba1990d83bf1d ]

if use the legacy method to allocate object, when mqd_hiq need to run
uninit code, it will be cause WARNING call trace.

eg: (s3 suspend test)
[   34.918944] Call Trace:
[   34.918948]  [&lt;ffffffff92961dc1&gt;] dump_stack+0x19/0x1b
[   34.918950]  [&lt;ffffffff92297648&gt;] __warn+0xd8/0x100
[   34.918951]  [&lt;ffffffff9229778d&gt;] warn_slowpath_null+0x1d/0x20
[   34.918991]  [&lt;ffffffffc03ce1fe&gt;] uninit_mqd_hiq_sdma+0x4e/0x50 [amdgpu]
[   34.919028]  [&lt;ffffffffc03d0ef7&gt;] uninitialize+0x37/0xe0 [amdgpu]
[   34.919064]  [&lt;ffffffffc03d15a6&gt;] kernel_queue_uninit+0x16/0x30 [amdgpu]
[   34.919086]  [&lt;ffffffffc03d26c2&gt;] pm_uninit+0x12/0x20 [amdgpu]
[   34.919107]  [&lt;ffffffffc03d4915&gt;] stop_nocpsch+0x15/0x20 [amdgpu]
[   34.919129]  [&lt;ffffffffc03c1dce&gt;] kgd2kfd_suspend.part.4+0x2e/0x50 [amdgpu]
[   34.919150]  [&lt;ffffffffc03c2667&gt;] kgd2kfd_suspend+0x17/0x20 [amdgpu]
[   34.919171]  [&lt;ffffffffc03c103a&gt;] amdgpu_amdkfd_suspend+0x1a/0x20 [amdgpu]
[   34.919187]  [&lt;ffffffffc02ec428&gt;] amdgpu_device_suspend+0x88/0x3a0 [amdgpu]
[   34.919189]  [&lt;ffffffff922e22cf&gt;] ? enqueue_entity+0x2ef/0xbe0
[   34.919205]  [&lt;ffffffffc02e8220&gt;] amdgpu_pmops_suspend+0x20/0x30 [amdgpu]
[   34.919207]  [&lt;ffffffff925c56ff&gt;] pci_pm_suspend+0x6f/0x150
[   34.919208]  [&lt;ffffffff925c5690&gt;] ? pci_pm_freeze+0xf0/0xf0
[   34.919210]  [&lt;ffffffff926b45c6&gt;] dpm_run_callback+0x46/0x90
[   34.919212]  [&lt;ffffffff926b49db&gt;] __device_suspend+0xfb/0x2a0
[   34.919213]  [&lt;ffffffff926b4b9f&gt;] async_suspend+0x1f/0xa0
[   34.919214]  [&lt;ffffffff922c918f&gt;] async_run_entry_fn+0x3f/0x130
[   34.919216]  [&lt;ffffffff922b9d4f&gt;] process_one_work+0x17f/0x440
[   34.919217]  [&lt;ffffffff922bade6&gt;] worker_thread+0x126/0x3c0
[   34.919218]  [&lt;ffffffff922bacc0&gt;] ? manage_workers.isra.25+0x2a0/0x2a0
[   34.919220]  [&lt;ffffffff922c1c31&gt;] kthread+0xd1/0xe0
[   34.919221]  [&lt;ffffffff922c1b60&gt;] ? insert_kthread_work+0x40/0x40
[   34.919222]  [&lt;ffffffff92974c1d&gt;] ret_from_fork_nospec_begin+0x7/0x21
[   34.919224]  [&lt;ffffffff922c1b60&gt;] ? insert_kthread_work+0x40/0x40
[   34.919224] ---[ end trace 38cd9f65c963adad ]---

Signed-off-by: Kevin Wang &lt;kevin1.wang@amd.com&gt;
Reviewed-by: Oak Zeng &lt;Oak.Zeng@amd.com&gt;
Signed-off-by: Alex Deucher &lt;alexander.deucher@amd.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/nouveau/volt/gf117: fix speedo readout register</title>
<updated>2019-04-20T07:16:04+00:00</updated>
<author>
<name>Ilia Mirkin</name>
<email>imirkin@alum.mit.edu</email>
</author>
<published>2019-01-13T22:50:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1b871f39097a2db635870ce530b6cdd661a06294'/>
<id>urn:sha1:1b871f39097a2db635870ce530b6cdd661a06294</id>
<content type='text'>
[ Upstream commit fc782242749fa4235592854fafe1a1297583c1fb ]

GF117 appears to use the same register as GK104 (but still with the
general Fermi readout mechanism).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108980
Signed-off-by: Ilia Mirkin &lt;imirkin@alum.mit.edu&gt;
Signed-off-by: Ben Skeggs &lt;bskeggs@redhat.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>PCI: Blacklist power management of Gigabyte X299 DESIGNARE EX PCIe ports</title>
<updated>2019-04-20T07:16:04+00:00</updated>
<author>
<name>Mika Westerberg</name>
<email>mika.westerberg@linux.intel.com</email>
</author>
<published>2019-01-31T16:38:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ad854fa3c8dc543fbc6c153aab542d670fea7f62'/>
<id>urn:sha1:ad854fa3c8dc543fbc6c153aab542d670fea7f62</id>
<content type='text'>
[ Upstream commit 85b0cae89d5266e6a7abb2e83c6f716326fc494c ]

Gigabyte X299 DESIGNARE EX motherboard has one PCIe root port that is
connected to an Alpine Ridge Thunderbolt controller.  This port has slot
implemented bit set in the config space but other than that it is not
hotplug capable in the sense we are expecting in Linux (it has
dev-&gt;is_hotplug_bridge set to 0):

  00:1c.4 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #5
    Bus: primary=00, secondary=05, subordinate=46, sec-latency=0
    Memory behind bridge: 78000000-8fffffff [size=384M]
    Prefetchable memory behind bridge: 00003800f8000000-00003800ffffffff [size=128M]
    ...
    Capabilities: [40] Express (v2) Root Port (Slot+), MSI 00
    ...
      SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
	      Slot #8, PowerLimit 25.000W; Interlock- NoCompl+
      SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
	      Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
      SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet- Interlock-
	      Changed: MRL- PresDet+ LinkState+

This system is using ACPI based hotplug to notify the OS that it needs to
rescan the PCI bus (ACPI hotplug).

If there is nothing connected in any of the Thunderbolt ports the root port
will not have any runtime PM active children and is thus automatically
runtime suspended pretty soon after boot by PCI PM core.  Now, when a
device is connected the BIOS SMI handler responsible for enumerating newly
added devices is not able to find anything because the port is in D3.

Prevent this from happening by blacklisting PCI power management of this
particular Gigabyte system.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=202031
Reported-by: Kedar A Dongre &lt;kedar.a.dongre@intel.com&gt;
Signed-off-by: Mika Westerberg &lt;mika.westerberg@linux.intel.com&gt;
Signed-off-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Reviewed-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>coresight: cpu-debug: Support for CA73 CPUs</title>
<updated>2019-04-20T07:16:04+00:00</updated>
<author>
<name>Leo Yan</name>
<email>leo.yan@linaro.org</email>
</author>
<published>2019-02-05T23:24:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4984d918cd46ea68eb1141a9286ffc99255f6e26'/>
<id>urn:sha1:4984d918cd46ea68eb1141a9286ffc99255f6e26</id>
<content type='text'>
[ Upstream commit a0f890aba2be33377f4eb24e13633c4a76a68f38 ]

This patch is to add the AMBA device ID for CA73 CPU, so that CPU debug
module can be initialized successfully when a SoC contain CA73 CPUs.

This patch has been verified on 96boards Hikey960.

Signed-off-by: Leo Yan &lt;leo.yan@linaro.org&gt;
Signed-off-by: Mathieu Poirier &lt;mathieu.poirier@linaro.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>Revert "ACPI / EC: Remove old CLEAR_ON_RESUME quirk"</title>
<updated>2019-04-20T07:16:04+00:00</updated>
<author>
<name>Zhang Rui</name>
<email>rui.zhang@intel.com</email>
</author>
<published>2019-02-01T06:13:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2a3c322d46e0e4456465abb4aa43a3a93e241c0b'/>
<id>urn:sha1:2a3c322d46e0e4456465abb4aa43a3a93e241c0b</id>
<content type='text'>
[ Upstream commit b6a3e1475b0220378ad32bdf4d8692f058b1fc03 ]

On some Samsung hardware, it is necessary to clear events accumulated by
the EC during sleep. These ECs stop reporting GPEs until they are manually
polled, if too many events are accumulated.
Thus the CLEAR_ON_RESUME quirk is introduced to send EC query commands
unconditionally after resume to clear all the EC query events on those
platforms.

Later, commit 4c237371f290 ("ACPI / EC: Remove old CLEAR_ON_RESUME quirk")
removes the CLEAR_ON_RESUME quirk because we thought the new EC IRQ
polling logic should handle this case.

Now it has been proved that the EC IRQ Polling logic does not fix the
issue actually because we got regression report on these Samsung
platforms after removing the quirk.

Thus revert commit 4c237371f290 ("ACPI / EC: Remove old CLEAR_ON_RESUME
quirk") to introduce back the Samsung quirk in this patch.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=44161
Tested-by: Ortwin Glück &lt;odi@odi.ch&gt;
Tested-by: Francisco Cribari &lt;cribari@gmail.com&gt;
Tested-by: Balazs Varga &lt;balazs4web@gmail.com&gt;
Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>crypto: axis - fix for recursive locking from bottom half</title>
<updated>2019-04-20T07:16:04+00:00</updated>
<author>
<name>Lars Persson</name>
<email>lars.persson@axis.com</email>
</author>
<published>2019-01-23T11:59:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5f516d0ba082ccf1d0ca974568194153a1d434b9'/>
<id>urn:sha1:5f516d0ba082ccf1d0ca974568194153a1d434b9</id>
<content type='text'>
[ Upstream commit c34a83820f59bb275e5f2d55cd5ea99c64f6ef23 ]

Clients may submit a new requests from the completion callback
context. The driver was not prepared to receive a request in this
state because it already held the request queue lock and a recursive
lock error is triggered.

Now all completions are queued up until we are ready to drop the queue
lock and then delivered.

The fault was triggered by TCP over an IPsec connection in the LTP
test suite:
  LTP: starting tcp4_ipsec02 (tcp_ipsec.sh -p ah -m transport -s "100 1000 65535")
  BUG: spinlock recursion on CPU#1, genload/943
   lock: 0xbf3c3094, .magic: dead4ead, .owner: genload/943, .owner_cpu: 1
  CPU: 1 PID: 943 Comm: genload Tainted: G           O    4.9.62-axis5-devel #6
  Hardware name: Axis ARTPEC-6 Platform
   (unwind_backtrace) from [&lt;8010d134&gt;] (show_stack+0x18/0x1c)
   (show_stack) from [&lt;803a289c&gt;] (dump_stack+0x84/0x98)
   (dump_stack) from [&lt;8016e164&gt;] (do_raw_spin_lock+0x124/0x128)
   (do_raw_spin_lock) from [&lt;804de1a4&gt;] (artpec6_crypto_submit+0x2c/0xa0)
   (artpec6_crypto_submit) from [&lt;804def38&gt;] (artpec6_crypto_prepare_submit_hash+0xd0/0x54c)
   (artpec6_crypto_prepare_submit_hash) from [&lt;7f3165f0&gt;] (ah_output+0x2a4/0x3dc [ah4])
   (ah_output [ah4]) from [&lt;805df9bc&gt;] (xfrm_output_resume+0x178/0x4a4)
   (xfrm_output_resume) from [&lt;805d283c&gt;] (xfrm4_output+0xac/0xbc)
   (xfrm4_output) from [&lt;80587928&gt;] (ip_queue_xmit+0x140/0x3b4)
   (ip_queue_xmit) from [&lt;805a13b4&gt;] (tcp_transmit_skb+0x4c4/0x95c)
   (tcp_transmit_skb) from [&lt;8059f218&gt;] (tcp_rcv_state_process+0xdf4/0xdfc)
   (tcp_rcv_state_process) from [&lt;805a7530&gt;] (tcp_v4_do_rcv+0x64/0x1ac)
   (tcp_v4_do_rcv) from [&lt;805a9724&gt;] (tcp_v4_rcv+0xa34/0xb74)
   (tcp_v4_rcv) from [&lt;80581d34&gt;] (ip_local_deliver_finish+0x78/0x2b0)
   (ip_local_deliver_finish) from [&lt;8058259c&gt;] (ip_local_deliver+0xe4/0x104)
   (ip_local_deliver) from [&lt;805d23ec&gt;] (xfrm4_transport_finish+0xf4/0x144)
   (xfrm4_transport_finish) from [&lt;805df564&gt;] (xfrm_input+0x4f4/0x74c)
   (xfrm_input) from [&lt;804de420&gt;] (artpec6_crypto_task+0x208/0x38c)
   (artpec6_crypto_task) from [&lt;801271b0&gt;] (tasklet_action+0x60/0xec)
   (tasklet_action) from [&lt;801266d4&gt;] (__do_softirq+0xcc/0x3a4)
   (__do_softirq) from [&lt;80126d20&gt;] (irq_exit+0xf4/0x15c)
   (irq_exit) from [&lt;801741e8&gt;] (__handle_domain_irq+0x68/0xbc)
   (__handle_domain_irq) from [&lt;801014f0&gt;] (gic_handle_irq+0x50/0x94)
   (gic_handle_irq) from [&lt;80657370&gt;] (__irq_usr+0x50/0x80)

Signed-off-by: Lars Persson &lt;larper@axis.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>drm/panel: panel-innolux: set display off in innolux_panel_unprepare</title>
<updated>2019-04-20T07:16:04+00:00</updated>
<author>
<name>Hsin-Yi, Wang</name>
<email>hsinyi@chromium.org</email>
</author>
<published>2019-01-09T06:59:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=862adb5b0da613f57e44c3f7e40fe119b5eb2c98'/>
<id>urn:sha1:862adb5b0da613f57e44c3f7e40fe119b5eb2c98</id>
<content type='text'>
[ Upstream commit 46f3ceaffa81e846677bca8668e0ad40e643cffd ]

Move mipi_dsi_dcs_set_display_off() from innolux_panel_disable()
to innolux_panel_unprepare(), so they are consistent with
innolux_panel_enable() and innolux_panel_prepare().

This also fixes some mode check and irq timeout issue in MTK dsi code.

Since some dsi code (e.g. mtk_dsi) have following call trace:
1. drm_panel_disable(), which calls innolux_panel_disable()
2. switch to cmd mode
3. drm_panel_unprepare(), which calls innolux_panel_unprepare()

However, mtk_dsi needs to be in cmd mode to be able to send commands
(e.g. mipi_dsi_dcs_set_display_off() and mipi_dsi_dcs_enter_sleep_mode()),
so we need these functions to be called after the switch to cmd mode happens,
i.e. in innolux_panel_unprepare.

Signed-off-by: Hsin-Yi, Wang &lt;hsinyi@chromium.org&gt;
Signed-off-by: Sean Paul &lt;seanpaul@chromium.org&gt;
Link: https://patchwork.freedesktop.org/patch/msgid/20190109065922.231753-1-hsinyi@chromium.org
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>lkdtm: Add tests for NULL pointer dereference</title>
<updated>2019-04-20T07:16:04+00:00</updated>
<author>
<name>Christophe Leroy</name>
<email>christophe.leroy@c-s.fr</email>
</author>
<published>2018-12-14T15:26:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2be8987a076fd6d501935e51c23ebc738b233a63'/>
<id>urn:sha1:2be8987a076fd6d501935e51c23ebc738b233a63</id>
<content type='text'>
[ Upstream commit 59a12205d3c32aee4c13ca36889fdf7cfed31126 ]

Introduce lkdtm tests for NULL pointer dereference: check access or exec
at NULL address, since these errors tend to be reported differently from
the general fault error text. For example from x86:

    pr_alert("BUG: unable to handle kernel %s at %px\n",
        address &lt; PAGE_SIZE ? "NULL pointer dereference" : "paging request",
        (void *)address);

Signed-off-by: Christophe Leroy &lt;christophe.leroy@c-s.fr&gt;
Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
</feed>
