<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-linux/drivers/power/sequencing, branch davem/net</title>
<subtitle>WireGuard for the Linux kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-linux/atom/drivers/power/sequencing?h=davem%2Fnet</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-linux/atom/drivers/power/sequencing?h=davem%2Fnet'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/'/>
<updated>2026-09-17T16:40:25Z</updated>
<entry>
<title>Merge tag 'pwrseq-fixes-for-v7.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux</title>
<updated>2026-09-17T16:40:25Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2026-09-17T16:40:25Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=f143ea21cf834b4d57d70b47b99e582461f2dfaf'/>
<id>urn:sha1:f143ea21cf834b4d57d70b47b99e582461f2dfaf</id>
<content type='text'>
Pull power sequencing fixes from Bartosz Golaszewski:

 - fix kconfig issue in pwrseq-thread-gpu

 - fix error path logic in pwrseq_unit_enable()

 - fix two NULL-pointer dereference bugs in power sequencing core

* tag 'pwrseq-fixes-for-v7.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  power: sequencing: fix NULL-pointer dereference in pwrseq_device_register()
  power: sequencing: fix NULL-pointer dereference in pwrseq_unit_new()
  power: sequencing: don't call .post_enable() if pwrseq_unit_enable() failed
  power: sequencing: Fix build issue with COMPILE_TEST
</content>
</entry>
<entry>
<title>power: sequencing: fix NULL-pointer dereference in pwrseq_device_register()</title>
<updated>2026-09-14T07:26:30Z</updated>
<author>
<name>Bartosz Golaszewski</name>
<email>bartosz.golaszewski@oss.qualcomm.com</email>
</author>
<published>2026-09-09T12:37:09Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=242da4318d97380741516b595af3920207b2f0f1'/>
<id>urn:sha1:242da4318d97380741516b595af3920207b2f0f1</id>
<content type='text'>
If dev_set_name() fails in pwrseq_device_register(), we jump to the
err_put_pwrseq label before initializing pwrseq-&gt;targets.
pwrseq_release() will try to iterate over targets unconditionally and
subsequently dereference an invalid pointer. Move the call to
dev_set_name() after the list head is initialized.

Fixes: 249ebf3f65f8 ("power: sequencing: implement the pwrseq core")
Cc: stable@vger.kernel.org
Reported-by: sashiko-bot &lt;sashiko-bot@kernel.org&gt;
Closes: https://sashiko.dev/#/patchset/20260903-pwrseq-kunit-v1-0-1f893d2cabc2%40oss.qualcomm.com?part=2
Link: https://patch.msgid.link/20260909-pwrseq-kunit-v2-3-ef496afc89d2@oss.qualcomm.com
Signed-off-by: Bartosz Golaszewski &lt;bartosz.golaszewski@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>power: sequencing: fix NULL-pointer dereference in pwrseq_unit_new()</title>
<updated>2026-09-14T07:26:29Z</updated>
<author>
<name>Bartosz Golaszewski</name>
<email>bartosz.golaszewski@oss.qualcomm.com</email>
</author>
<published>2026-09-09T12:37:08Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=115b303e8e093d964089ec6f3c40d984d77b33d0'/>
<id>urn:sha1:115b303e8e093d964089ec6f3c40d984d77b33d0</id>
<content type='text'>
If memory allocation fails in pwrseq_unit_setup_deps(), pwrseq_unit_put()
is called to release the partially initialized unit. However, we've
never initialized unit-&gt;list and pwrseq_unit_release() will
unconditionally call list_del() on it. Initialize unit-&gt;list right after
allocating the unit struct.

Fixes: 249ebf3f65f8 ("power: sequencing: implement the pwrseq core")
Cc: stable@vger.kernel.org
Reported-by: sashiko-bot &lt;sashiko-bot@kernel.org&gt;
Closes: https://sashiko.dev/#/patchset/20260903-pwrseq-kunit-v1-0-1f893d2cabc2%40oss.qualcomm.com?part=1
Link: https://patch.msgid.link/20260909-pwrseq-kunit-v2-2-ef496afc89d2@oss.qualcomm.com
Signed-off-by: Bartosz Golaszewski &lt;bartosz.golaszewski@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>power: sequencing: don't call .post_enable() if pwrseq_unit_enable() failed</title>
<updated>2026-09-14T07:26:29Z</updated>
<author>
<name>Bartosz Golaszewski</name>
<email>bartosz.golaszewski@oss.qualcomm.com</email>
</author>
<published>2026-09-09T12:37:07Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=5f90f85eae4e9d2e9628b2019870994ba830b533'/>
<id>urn:sha1:5f90f85eae4e9d2e9628b2019870994ba830b533</id>
<content type='text'>
If the call to pwrseq_unit_enable() failed in pwrseq_enable(), bail out
instead of calling target-&gt;post_enable() which assumes the target was
successfully enabled.

Fixes: 249ebf3f65f8 ("power: sequencing: implement the pwrseq core")
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260909-pwrseq-kunit-v2-1-ef496afc89d2@oss.qualcomm.com
Signed-off-by: Bartosz Golaszewski &lt;bartosz.golaszewski@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>treewide: refresh kmalloc_obj() conversions</title>
<updated>2026-09-05T04:37:00Z</updated>
<author>
<name>Kees Cook</name>
<email>kees+treewide@kernel.org</email>
</author>
<published>2026-09-02T22:31:14Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=3a2c4d55e32ad65efebdb6de44eef3bfa08bb49d'/>
<id>urn:sha1:3a2c4d55e32ad65efebdb6de44eef3bfa08bb49d</id>
<content type='text'>
This is another run of the Coccinelle script for converting kmalloc()
family of allocations to kmalloc_obj() via the existing rules in
scripts/coccinelle/api/kmalloc_objs.cocci

This catches both the set of kmalloc() uses added since the first
kmalloc_obj() conversions in v7.0 and adds a large group missed in the
first pass due to Coccinelle not interacting well with the cleanup.h
scoped_...() family of macros[1]. I worked around this with spatch's
"--macro-file" argument to a file with all the scoped_...() macros mapped
to Coccinelle's YACFE_ITERATOR[2] as that was the closest viable control
flow indicator I could find.

Build tested allmodconfig on x86, arm64, arm, loongarch, mips, powerpc,
riscv, and s390 with no new warnings.

Link: https://lore.kernel.org/lkml/202609021314.8A9C0B8@keescook/ [1]
Link: https://github.com/coccinelle/coccinelle/blob/master/standard.h [2]
Signed-off-by: Kees Cook &lt;kees+treewide@kernel.org&gt;
</content>
</entry>
<entry>
<title>power: sequencing: Fix build issue with COMPILE_TEST</title>
<updated>2026-09-02T10:44:07Z</updated>
<author>
<name>Biju Das</name>
<email>biju.das.jz@bp.renesas.com</email>
</author>
<published>2026-08-26T12:27:24Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=3b54dbd119805361695cb50ca6a875f4c7518b74'/>
<id>urn:sha1:3b54dbd119805361695cb50ca6a875f4c7518b74</id>
<content type='text'>
The POWER_SEQUENCING_TH1520_GPU driver depends on
(ARCH_THEAD &amp;&amp; AUXILIARY_BUS) || COMPILE_TEST. This means when
COMPILE_TEST=y and ARCH_THEAD is not set, the driver can still be
built even though it requires AUXILIARY_BUS, which may not be
selected in that configuration, leading to a build failure.

Fix this by dropping AUXILIARY_BUS from the dependency and instead
selecting it directly, so the dependency is satisfied regardless of
whether COMPILE_TEST or ARCH_THEAD is enabled.

Fixes: 1a7312b93ab0 ("power: sequencing: extend build coverage with COMPILE_TEST=y")
Signed-off-by: Biju Das &lt;biju.das.jz@bp.renesas.com&gt;
Link: https://patch.msgid.link/20260826122742.153643-3-biju.das.jz@bp.renesas.com
Signed-off-by: Bartosz Golaszewski &lt;bartosz.golaszewski@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'pwrseq-updates-for-v7.3-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux</title>
<updated>2026-08-26T15:45:09Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2026-08-26T15:45:09Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=a5218c6474df97f2e7f3af15dcdfc674bae5c137'/>
<id>urn:sha1:a5218c6474df97f2e7f3af15dcdfc674bae5c137</id>
<content type='text'>
Pull another power sequencing update from Bartosz Golaszewski:
 "A single tree-wide rename of two of the public functions to better
  reflect their actual semantics:

   - rename pwrseq_power_on/off() to pwrseq_enable/disable() tree-wide"

* tag 'pwrseq-updates-for-v7.3-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  power: sequencing: rename pwrseq_power_on/off() to pwrseq_enable/disable()
</content>
</entry>
<entry>
<title>power: sequencing: rename pwrseq_power_on/off() to pwrseq_enable/disable()</title>
<updated>2026-08-26T08:05:45Z</updated>
<author>
<name>Bartosz Golaszewski</name>
<email>bartosz.golaszewski@oss.qualcomm.com</email>
</author>
<published>2026-07-31T13:42:18Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=d51fc9d4cd6eb18ac82913d83ecf7bd8c85f71ee'/>
<id>urn:sha1:d51fc9d4cd6eb18ac82913d83ecf7bd8c85f71ee</id>
<content type='text'>
The way power sequencing works means that a call to pwrseq_power_on()
does not necessarily result in the pwrseq target being powered-on at
that time: it may have already been powered on before. Similarly: a call
to pwrseq_power_off() does not have to result in an actual powering off
of resources: there may still be other users that requested a power-on
before.

We will also introduce the concept of "non-controllable" pwrseq targets
soon which further increases the disconnect between the naming
convention and the actual semantics.

What consumers of pwrseq descriptors actually do is: they *vote* for a
powering on of a given target or retract that vote. These operations
could be called get/put in line with runtime PM but this could become
confusing since we already provide pwrseq_get/put() for a different
purpose. pwrseq_vote_on/off() also have been rejected as unusual in
the tree.

Change the name of the two functions to pwrseq_enable/disable() which
better reflects their purpose and semantics and also mirrors other
enable-counted resources like regulators and clocks. No functional change
intended.

If at any point users need to know *when* the exact power event happens,
we can provide that information in the form of a notifier.

Acked-by: Jeff Johnson &lt;jeff.johnson@oss.qualcomm.com&gt;
Acked-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt;
Acked-by: Manivannan Sadhasivam &lt;manivannan.sadhasivam@oss.qualcomm.com&gt;
Acked-by: Alessio Belle &lt;alessio.belle@imgtec.com&gt; # imagination
Link: https://patch.msgid.link/20260731-pwrseq-vote-rename-v3-1-44e60b8be053@oss.qualcomm.com
Signed-off-by: Bartosz Golaszewski &lt;bartosz.golaszewski@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'pwrseq-updates-for-v7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux</title>
<updated>2026-08-19T16:08:06Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2026-08-19T16:08:06Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=d0d82a84c965915ac13d08b726b4cb440d90b122'/>
<id>urn:sha1:d0d82a84c965915ac13d08b726b4cb440d90b122</id>
<content type='text'>
Pull power sequencing updates from Bartosz Golaszewski:
 "This a very tiny pull for v7.3 from the power sequencing tree. It only
  contains a handful of updates to the pwrseq-pcie-m2 driver:

   - add support for new devices to pwrseq-pcie-m2

   - make device matching more fine-grained for cases where the same
     combo chips are wired differently on the M.2 card (and - for
     instance - don't require serial device creation because they expose
     BT over USB) in pwrseq-pcie-m2"

* tag 'pwrseq-updates-for-v7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  power: sequencing: pcie-m2: Match WCN6855 and WCN7851 UART BT variants by subdevice ID
  power: sequencing: pcie-m2: Add QCA2066 (QCNFA765) BT serdev ID
  power: sequencing: pcie-m2: Add PCI ID for NXP 88W9098 and AW693 Bluetooth
</content>
</entry>
<entry>
<title>power: sequencing: pcie-m2: Match WCN6855 and WCN7851 UART BT variants by subdevice ID</title>
<updated>2026-07-24T12:36:39Z</updated>
<author>
<name>Wei Deng</name>
<email>wei.deng@oss.qualcomm.com</email>
</author>
<published>2026-07-24T08:21:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-linux/commit/?id=a39ac4651e3b9d2ca78b6d3dc2a81a6bd25fa616'/>
<id>urn:sha1:a39ac4651e3b9d2ca78b6d3dc2a81a6bd25fa616</id>
<content type='text'>
The WCN6855 and WCN7851 combo chips are available in M.2 card variants
that differ by their BT interface: some expose BT over UART while others
expose BT over USB. Both variants use the same PCIe device ID for the
WiFi interface, distinguished only by their sub-system device ID.

The bare PCI_DEVICE() entries match all sub-system IDs, so both UART and
USB variants hit the same table entry and trigger UART serdev creation.
For USB variants this is wrong — there is no UART BT interface on such
a card, and the serdev probe will fail.

Narrow the matches to UART variants only by using PCI_DEVICE_SUB with
their respective sub-system IDs, so USB variants no longer trigger
UART serdev creation.

Reviewed-by: Manivannan Sadhasivam &lt;mani@kernel.org&gt;
Signed-off-by: Wei Deng &lt;wei.deng@oss.qualcomm.com&gt;
Link: https://patch.msgid.link/20260724-hamoa-m2-sub-id-v2-v3-1-af97de70bbbe@oss.qualcomm.com
Signed-off-by: Bartosz Golaszewski &lt;bartosz.golaszewski@oss.qualcomm.com&gt;
</content>
</entry>
</feed>
