--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
-@@ -188,6 +188,7 @@ config PINCTRL_EQUILIBRIUM
- select GENERIC_PINCONF
+@@ -315,6 +315,7 @@ config PINCTRL_MICROCHIP_SGPIO
select GENERIC_PINCTRL_GROUPS
select GENERIC_PINMUX_FUNCTIONS
+ select OF_GPIO
+ select REGMAP_MMIO
help
- Equilibrium driver is a pinctrl and GPIO driver for Intel Lightning
- Mountain network processor SoC that supports both the GPIO and pin
+ Support for the serial GPIO interface used on Microsemi and
+ Microchip SoCs. By using a serial interface, the SIO
+++ /dev/null
-From bf0aa0cc8c7feb530fd50e157eec3f0a361bafbd Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 25 Jul 2026 12:59:23 +0300
-Subject: Bluetooth: hci_sync: remove unnecessary hci_conn_get in
- create_conn_sync
-
-From: Pauli Virtanen <pav@iki.fi>
-
-[ Upstream commit c0a9dcd2be398eee505d4b254ec3a845aa8ab189 ]
-
-hci_conn_get() without already held reference is data race against
-concurrent deletion.
-
-In previous patches, the refcount has been changed to be taken before
-starting the hci_sync task, so remove these extra get() + put() as they
-are not needed.
-
-Fixes: 12917f591cea ("Bluetooth: hci_conn: Fix null ptr deref in hci_abort_conn()")
-Signed-off-by: Pauli Virtanen <pav@iki.fi>
-Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- net/bluetooth/hci_sync.c | 13 -------------
- 1 file changed, 13 deletions(-)
-
-diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
-index 8c48d459a5415..03bbf4c1d6e5a 100644
---- a/net/bluetooth/hci_sync.c
-+++ b/net/bluetooth/hci_sync.c
-@@ -6577,11 +6577,6 @@ static int hci_le_create_conn_sync(struct hci_dev *hdev, void *data)
-
- bt_dev_dbg(hdev, "conn %p", conn);
-
-- /* Hold a reference so conn stays valid for the HCI_CONN_CREATE
-- * clear_bit() at done.
-- */
-- hci_conn_get(conn);
--
- clear_bit(HCI_CONN_SCANNING, &conn->flags);
- conn->state = BT_CONNECT;
-
-@@ -6596,7 +6591,6 @@ static int hci_le_create_conn_sync(struct hci_dev *hdev, void *data)
- conn->state = BT_OPEN;
- hci_abort_conn_sync(hdev, conn,
- HCI_ERROR_REJ_LIMITED_RESOURCES);
-- hci_conn_put(conn);
- return -EBUSY;
- }
-
-@@ -6690,7 +6684,6 @@ static int hci_le_create_conn_sync(struct hci_dev *hdev, void *data)
-
- /* Re-enable advertising after the connection attempt is finished. */
- hci_resume_advertising_sync(hdev);
-- hci_conn_put(conn);
- return err;
- }
-
-@@ -6965,11 +6958,6 @@ static int hci_acl_create_conn_sync(struct hci_dev *hdev, void *data)
- else
- cp.role_switch = 0x00;
-
-- /* Hold a reference so conn stays valid for the HCI_CONN_CREATE
-- * clear_bit() below.
-- */
-- hci_conn_get(conn);
--
- /* Mark create connection in flight so hci_cancel_connect_sync() can
- * cancel it while blocking on the connection complete event.
- */
-@@ -6981,7 +6969,6 @@ static int hci_acl_create_conn_sync(struct hci_dev *hdev, void *data)
- conn->conn_timeout, NULL);
-
- clear_bit(HCI_CONN_CREATE, &conn->flags);
-- hci_conn_put(conn);
-
- return err;
- }
---
-2.53.0
-
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
-@@ -213,6 +213,7 @@ config PINCTRL_EQUILIBRIUM
- select GENERIC_PINCONF
+@@ -366,6 +366,7 @@ config PINCTRL_MICROCHIP_SGPIO
select GENERIC_PINCTRL_GROUPS
select GENERIC_PINMUX_FUNCTIONS
+ select OF_GPIO
+ select REGMAP_MMIO
help
- Equilibrium driver is a pinctrl and GPIO driver for Intel Lightning
- Mountain network processor SoC that supports both the GPIO and pin
+ Support for the serial GPIO interface used on Microsemi and
+ Microchip SoCs. By using a serial interface, the SIO
bluetooth-hci_sync-make-hci_cmd_sync_run_once-return.patch
bluetooth-hci_conn-hold-conn-reference-in-abort_conn.patch
bluetooth-hci_sync-fix-hci_conn_del-use-in-hci_le_cr.patch
-bluetooth-hci_sync-remove-unnecessary-hci_conn_get-i.patch
net-phylink-put-link_gpio-if-phylink_create-fails.patch
scsi-target-iblock-fix-wrong-pr-ops-null-check-for-p.patch
scsi-ufs-core-cancel-rtc-work-in-active-active-suspe.patch
can-isotp-check-register_netdevice_notifier-error-in.patch
tracing-mmiotrace-reset-dropped_count-in-mmio_reset_.patch
tracing-remove-trace_event_fl_filtered-logic.patch
+tracing-mmiotrace-remove-reference-to-unused-per-cpu.patch
tracing-mmiotrace-add-null-check-for-mmio_trace_arra.patch
accel-qaic-use-sizeof-trans_hdr-for-transaction-leng.patch
riscv-mm-fix-out-of-bounds-page-table-walk-during-me.patch
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/kernel/trace/trace_mmiotrace.c b/kernel/trace/trace_mmiotrace.c
-index 6b964471265e1..251ed7051e409 100644
+index e16b15d7c84aa..32b7e1d972a47 100644
--- a/kernel/trace/trace_mmiotrace.c
+++ b/kernel/trace/trace_mmiotrace.c
-@@ -295,11 +295,15 @@ static void __trace_mmiotrace_rw(struct trace_array *tr,
- struct trace_array_cpu *data,
+@@ -294,11 +294,15 @@ device_initcall(init_mmio_trace);
+ static void __trace_mmiotrace_rw(struct trace_array *tr,
struct mmiotrace_rw *rw)
{
- struct trace_buffer *buffer = tr->array_buffer.buffer;
trace_ctx = tracing_gen_ctx_flags(0);
event = trace_buffer_lock_reserve(buffer, TRACE_MMIO_RW,
sizeof(*entry), trace_ctx);
-@@ -324,11 +328,15 @@ static void __trace_mmiotrace_map(struct trace_array *tr,
- struct trace_array_cpu *data,
+@@ -321,11 +325,15 @@ void mmio_trace_rw(struct mmiotrace_rw *rw)
+ static void __trace_mmiotrace_map(struct trace_array *tr,
struct mmiotrace_map *map)
{
- struct trace_buffer *buffer = tr->array_buffer.buffer;
--- /dev/null
+From da99b5a09c9597b09b6c1553e63bc56bf18140d4 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 5 May 2025 17:21:05 -0400
+Subject: tracing/mmiotrace: Remove reference to unused per CPU data pointer
+
+From: Steven Rostedt <rostedt@goodmis.org>
+
+[ Upstream commit 6936298393d8d8bc3cec6b704f6a774162cf9bd3 ]
+
+The mmiotracer referenced the per CPU array_buffer->data descriptor but
+never actually used it. Remove the references to it.
+
+Cc: Masami Hiramatsu <mhiramat@kernel.org>
+Cc: Mark Rutland <mark.rutland@arm.com>
+Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+Cc: Andrew Morton <akpm@linux-foundation.org>
+Link: https://lore.kernel.org/20250505212234.696945463@goodmis.org
+Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
+Stable-dep-of: 12b80cdbc54c ("tracing/mmiotrace: Add NULL check for mmio_trace_array in logging functions")
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ kernel/trace/trace_mmiotrace.c | 12 ++----------
+ 1 file changed, 2 insertions(+), 10 deletions(-)
+
+diff --git a/kernel/trace/trace_mmiotrace.c b/kernel/trace/trace_mmiotrace.c
+index 6b964471265e1..e16b15d7c84aa 100644
+--- a/kernel/trace/trace_mmiotrace.c
++++ b/kernel/trace/trace_mmiotrace.c
+@@ -292,7 +292,6 @@ __init static int init_mmio_trace(void)
+ device_initcall(init_mmio_trace);
+
+ static void __trace_mmiotrace_rw(struct trace_array *tr,
+- struct trace_array_cpu *data,
+ struct mmiotrace_rw *rw)
+ {
+ struct trace_buffer *buffer = tr->array_buffer.buffer;
+@@ -316,12 +315,10 @@ static void __trace_mmiotrace_rw(struct trace_array *tr,
+ void mmio_trace_rw(struct mmiotrace_rw *rw)
+ {
+ struct trace_array *tr = mmio_trace_array;
+- struct trace_array_cpu *data = per_cpu_ptr(tr->array_buffer.data, smp_processor_id());
+- __trace_mmiotrace_rw(tr, data, rw);
++ __trace_mmiotrace_rw(tr, rw);
+ }
+
+ static void __trace_mmiotrace_map(struct trace_array *tr,
+- struct trace_array_cpu *data,
+ struct mmiotrace_map *map)
+ {
+ struct trace_buffer *buffer = tr->array_buffer.buffer;
+@@ -345,12 +342,7 @@ static void __trace_mmiotrace_map(struct trace_array *tr,
+ void mmio_trace_mapping(struct mmiotrace_map *map)
+ {
+ struct trace_array *tr = mmio_trace_array;
+- struct trace_array_cpu *data;
+-
+- preempt_disable();
+- data = per_cpu_ptr(tr->array_buffer.data, smp_processor_id());
+- __trace_mmiotrace_map(tr, data, map);
+- preempt_enable();
++ __trace_mmiotrace_map(tr, map);
+ }
+
+ int mmio_trace_printk(const char *fmt, va_list args)
+--
+2.53.0
+
+++ /dev/null
-From d2824fa429d31c0fe8d1ceb8d348496cc4bd95da Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 25 Jul 2026 12:59:23 +0300
-Subject: Bluetooth: hci_sync: remove unnecessary hci_conn_get in
- create_conn_sync
-
-From: Pauli Virtanen <pav@iki.fi>
-
-[ Upstream commit c0a9dcd2be398eee505d4b254ec3a845aa8ab189 ]
-
-hci_conn_get() without already held reference is data race against
-concurrent deletion.
-
-In previous patches, the refcount has been changed to be taken before
-starting the hci_sync task, so remove these extra get() + put() as they
-are not needed.
-
-Fixes: 12917f591cea ("Bluetooth: hci_conn: Fix null ptr deref in hci_abort_conn()")
-Signed-off-by: Pauli Virtanen <pav@iki.fi>
-Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- net/bluetooth/hci_sync.c | 13 -------------
- 1 file changed, 13 deletions(-)
-
-diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
-index 27c5cc1457e65..1ba41e82c406e 100644
---- a/net/bluetooth/hci_sync.c
-+++ b/net/bluetooth/hci_sync.c
-@@ -6604,11 +6604,6 @@ static int hci_le_create_conn_sync(struct hci_dev *hdev, void *data)
-
- bt_dev_dbg(hdev, "conn %p", conn);
-
-- /* Hold a reference so conn stays valid for the HCI_CONN_CREATE
-- * clear_bit() at done.
-- */
-- hci_conn_get(conn);
--
- clear_bit(HCI_CONN_SCANNING, &conn->flags);
- conn->state = BT_CONNECT;
-
-@@ -6623,7 +6618,6 @@ static int hci_le_create_conn_sync(struct hci_dev *hdev, void *data)
- conn->state = BT_OPEN;
- hci_abort_conn_sync(hdev, conn,
- HCI_ERROR_REJ_LIMITED_RESOURCES);
-- hci_conn_put(conn);
- return -EBUSY;
- }
-
-@@ -6717,7 +6711,6 @@ static int hci_le_create_conn_sync(struct hci_dev *hdev, void *data)
-
- /* Re-enable advertising after the connection attempt is finished. */
- hci_resume_advertising_sync(hdev);
-- hci_conn_put(conn);
- return err;
- }
-
-@@ -6992,11 +6985,6 @@ static int hci_acl_create_conn_sync(struct hci_dev *hdev, void *data)
- else
- cp.role_switch = 0x00;
-
-- /* Hold a reference so conn stays valid for the HCI_CONN_CREATE
-- * clear_bit() below.
-- */
-- hci_conn_get(conn);
--
- /* Mark create connection in flight so hci_cancel_connect_sync() can
- * cancel it while blocking on the connection complete event.
- */
-@@ -7008,7 +6996,6 @@ static int hci_acl_create_conn_sync(struct hci_dev *hdev, void *data)
- conn->conn_timeout, NULL);
-
- clear_bit(HCI_CONN_CREATE, &conn->flags);
-- hci_conn_put(conn);
-
- return err;
- }
---
-2.53.0
-
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
-@@ -238,6 +238,7 @@ config PINCTRL_EQUILIBRIUM
- select GENERIC_PINCONF
+@@ -414,6 +414,7 @@ config PINCTRL_MICROCHIP_SGPIO
select GENERIC_PINCTRL_GROUPS
select GENERIC_PINMUX_FUNCTIONS
+ select OF_GPIO
+ select REGMAP_MMIO
help
- Equilibrium driver is a pinctrl and GPIO driver for Intel Lightning
- Mountain network processor SoC that supports both the GPIO and pin
+ Support for the serial GPIO interface used on Microsemi and
+ Microchip SoCs. By using a serial interface, the SIO
bluetooth-hci_sync-make-hci_cmd_sync_run_once-return.patch
bluetooth-hci_conn-hold-conn-reference-in-abort_conn.patch
bluetooth-hci_sync-fix-hci_conn_del-use-in-hci_le_cr.patch
-bluetooth-hci_sync-remove-unnecessary-hci_conn_get-i.patch
x86-boot-add-volatile-clobbers-and-zero-length-test-.patch
net-phylink-put-link_gpio-if-phylink_create-fails.patch
scsi-target-iblock-fix-wrong-pr-ops-null-check-for-p.patch
+++ /dev/null
-From 3d33c799bf91a0c2937cfcb3b384c76745a9159c Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 25 Jul 2026 12:59:23 +0300
-Subject: Bluetooth: hci_sync: remove unnecessary hci_conn_get in
- create_conn_sync
-
-From: Pauli Virtanen <pav@iki.fi>
-
-[ Upstream commit c0a9dcd2be398eee505d4b254ec3a845aa8ab189 ]
-
-hci_conn_get() without already held reference is data race against
-concurrent deletion.
-
-In previous patches, the refcount has been changed to be taken before
-starting the hci_sync task, so remove these extra get() + put() as they
-are not needed.
-
-Fixes: 12917f591cea ("Bluetooth: hci_conn: Fix null ptr deref in hci_abort_conn()")
-Signed-off-by: Pauli Virtanen <pav@iki.fi>
-Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- net/bluetooth/hci_sync.c | 13 -------------
- 1 file changed, 13 deletions(-)
-
-diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
-index 6a5ec74eaf25a..9dec36467fead 100644
---- a/net/bluetooth/hci_sync.c
-+++ b/net/bluetooth/hci_sync.c
-@@ -6566,11 +6566,6 @@ static int hci_le_create_conn_sync(struct hci_dev *hdev, void *data)
-
- bt_dev_dbg(hdev, "conn %p", conn);
-
-- /* Hold a reference so conn stays valid for the HCI_CONN_CREATE
-- * clear_bit() at done.
-- */
-- hci_conn_get(conn);
--
- clear_bit(HCI_CONN_SCANNING, &conn->flags);
- conn->state = BT_CONNECT;
-
-@@ -6585,7 +6580,6 @@ static int hci_le_create_conn_sync(struct hci_dev *hdev, void *data)
- conn->state = BT_OPEN;
- hci_abort_conn_sync(hdev, conn,
- HCI_ERROR_REJ_LIMITED_RESOURCES);
-- hci_conn_put(conn);
- return -EBUSY;
- }
-
-@@ -6679,7 +6673,6 @@ static int hci_le_create_conn_sync(struct hci_dev *hdev, void *data)
-
- /* Re-enable advertising after the connection attempt is finished. */
- hci_resume_advertising_sync(hdev);
-- hci_conn_put(conn);
- return err;
- }
-
-@@ -6958,11 +6951,6 @@ static int hci_acl_create_conn_sync(struct hci_dev *hdev, void *data)
- else
- cp.role_switch = 0x00;
-
-- /* Hold a reference so conn stays valid for the HCI_CONN_CREATE
-- * clear_bit() below.
-- */
-- hci_conn_get(conn);
--
- /* Mark create connection in flight so hci_cancel_connect_sync() can
- * cancel it while blocking on the connection complete event.
- */
-@@ -6974,7 +6962,6 @@ static int hci_acl_create_conn_sync(struct hci_dev *hdev, void *data)
- conn->conn_timeout, NULL);
-
- clear_bit(HCI_CONN_CREATE, &conn->flags);
-- hci_conn_put(conn);
-
- return err;
- }
---
-2.53.0
-
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
-@@ -188,6 +188,7 @@ config PINCTRL_EQUILIBRIUM
- select GENERIC_PINCONF
+@@ -326,6 +326,7 @@ config PINCTRL_MICROCHIP_SGPIO
select GENERIC_PINCTRL_GROUPS
select GENERIC_PINMUX_FUNCTIONS
+ select OF_GPIO
+ select REGMAP_MMIO
help
- Equilibrium driver is a pinctrl and GPIO driver for Intel Lightning
- Mountain network processor SoC that supports both the GPIO and pin
+ Support for the serial GPIO interface used on Microsemi and
+ Microchip SoCs. By using a serial interface, the SIO
bluetooth-hci_sync-make-hci_cmd_sync_run_once-return.patch
bluetooth-hci_conn-hold-conn-reference-in-abort_conn.patch
bluetooth-hci_sync-fix-hci_conn_del-use-in-hci_le_cr.patch
-bluetooth-hci_sync-remove-unnecessary-hci_conn_get-i.patch
net-phylink-put-link_gpio-if-phylink_create-fails.patch
scsi-target-iblock-fix-wrong-pr-ops-null-check-for-p.patch
scsi-ufs-core-cancel-rtc-work-in-active-active-suspe.patch