Archive-only list for patches
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Damien Le Moal <dlemoal@kernel.org>,
	Hannes Reinecke <hare@suse.de>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	"Martin K. Petersen" <martin.petersen@oracle.com>
Subject: [PATCH 6.1 012/131] ata: libata-scsi: Disable scsi device manage_system_start_stop
Date: Mon, 16 Oct 2023 10:39:55 +0200	[thread overview]
Message-ID: <20231016084000.373135404@linuxfoundation.org> (raw)
In-Reply-To: <20231016084000.050926073@linuxfoundation.org>

6.1-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Damien Le Moal <dlemoal@kernel.org>

commit aa3998dbeb3abce63653b7f6d4542e7dcd022590 upstream.

The introduction of a device link to create a consumer/supplier
relationship between the scsi device of an ATA device and the ATA port
of that ATA device fixes the ordering of system suspend and resume
operations. For suspend, the scsi device is suspended first and the ata
port after it. This is fine as this allows the synchronize cache and
START STOP UNIT commands issued by the scsi disk driver to be executed
before the ata port is disabled.

For resume operations, the ata port is resumed first, followed
by the scsi device. This allows having the request queue of the scsi
device to be unfrozen after the ata port resume is scheduled in EH,
thus avoiding to see new requests prematurely issued to the ATA device.
Since libata sets manage_system_start_stop to 1, the scsi disk resume
operation also results in issuing a START STOP UNIT command to the
device being resumed so that the device exits standby power mode.

However, restoring the ATA device to the active power mode must be
synchronized with libata EH processing of the port resume operation to
avoid either 1) seeing the start stop unit command being received too
early when the port is not yet resumed and ready to accept commands, or
after the port resume process issues commands such as IDENTIFY to
revalidate the device. In this last case, the risk is that the device
revalidation fails with timeout errors as the drive is still spun down.

Commit 0a8589055936 ("ata,scsi: do not issue START STOP UNIT on resume")
disabled issuing the START STOP UNIT command to avoid issues with it.
But this is incorrect as transitioning a device to the active power
mode from the standby power mode set on suspend requires a media access
command. The IDENTIFY, READ LOG and SET FEATURES commands executed in
libata EH context triggered by the ata port resume operation may thus
fail.

Fix these synchronization issues is by handling a device power mode
transitions for system suspend and resume directly in libata EH context,
without relying on the scsi disk driver management triggered with the
manage_system_start_stop flag.

To do this, the following libata helper functions are introduced:

1) ata_dev_power_set_standby():

This function issues a STANDBY IMMEDIATE command to transitiom a device
to the standby power mode. For HDDs, this spins down the disks. This
function applies only to ATA and ZAC devices and does nothing otherwise.
This function also does nothing for devices that have the
ATA_FLAG_NO_POWEROFF_SPINDOWN or ATA_FLAG_NO_HIBERNATE_SPINDOWN flag
set.

For suspend, call ata_dev_power_set_standby() in
ata_eh_handle_port_suspend() before the port is disabled and frozen.
ata_eh_unload() is also modified to transition all enabled devices to
the standby power mode when the system is shutdown or devices removed.

2) ata_dev_power_set_active() and

This function applies to ATA or ZAC devices and issues a VERIFY command
for 1 sector at LBA 0 to transition the device to the active power mode.
For HDDs, since this function will complete only once the disk spin up.
Its execution uses the same timeouts as for reset, to give the drive
enough time to complete spinup without triggering a command timeout.

For resume, call ata_dev_power_set_active() in
ata_eh_revalidate_and_attach() after the port has been enabled and
before any other command is issued to the device.

With these changes, the manage_system_start_stop and no_start_on_resume
scsi device flags do not need to be set in ata_scsi_dev_config(). The
flag manage_runtime_start_stop is still set to allow the sd driver to
spinup/spindown a disk through the sd runtime operations.

Fixes: 0a8589055936 ("ata,scsi: do not issue START STOP UNIT on resume")
Cc: stable@vger.kernel.org
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/ata/libata-core.c |   90 ++++++++++++++++++++++++++++++++++++++++++++++
 drivers/ata/libata-eh.c   |   54 +++++++++++++++++++++++++++
 drivers/ata/libata-scsi.c |   16 +++-----
 drivers/ata/libata.h      |    2 +
 include/linux/libata.h    |    7 ++-
 5 files changed, 157 insertions(+), 12 deletions(-)

--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -1944,6 +1944,96 @@ retry:
 }
 
 /**
+ *	ata_dev_power_set_standby - Set a device power mode to standby
+ *	@dev: target device
+ *
+ *	Issue a STANDBY IMMEDIATE command to set a device power mode to standby.
+ *	For an HDD device, this spins down the disks.
+ *
+ *	LOCKING:
+ *	Kernel thread context (may sleep).
+ */
+void ata_dev_power_set_standby(struct ata_device *dev)
+{
+	unsigned long ap_flags = dev->link->ap->flags;
+	struct ata_taskfile tf;
+	unsigned int err_mask;
+
+	/* Issue STANDBY IMMEDIATE command only if supported by the device */
+	if (dev->class != ATA_DEV_ATA && dev->class != ATA_DEV_ZAC)
+		return;
+
+	/*
+	 * Some odd clown BIOSes issue spindown on power off (ACPI S4 or S5)
+	 * causing some drives to spin up and down again. For these, do nothing
+	 * if we are being called on shutdown.
+	 */
+	if ((ap_flags & ATA_FLAG_NO_POWEROFF_SPINDOWN) &&
+	    system_state == SYSTEM_POWER_OFF)
+		return;
+
+	if ((ap_flags & ATA_FLAG_NO_HIBERNATE_SPINDOWN) &&
+	    system_entering_hibernation())
+		return;
+
+	ata_tf_init(dev, &tf);
+	tf.flags |= ATA_TFLAG_DEVICE | ATA_TFLAG_ISADDR;
+	tf.protocol = ATA_PROT_NODATA;
+	tf.command = ATA_CMD_STANDBYNOW1;
+
+	ata_dev_notice(dev, "Entering standby power mode\n");
+
+	err_mask = ata_exec_internal(dev, &tf, NULL, DMA_NONE, NULL, 0, 0);
+	if (err_mask)
+		ata_dev_err(dev, "STANDBY IMMEDIATE failed (err_mask=0x%x)\n",
+			    err_mask);
+}
+
+/**
+ *	ata_dev_power_set_active -  Set a device power mode to active
+ *	@dev: target device
+ *
+ *	Issue a VERIFY command to enter to ensure that the device is in the
+ *	active power mode. For a spun-down HDD (standby or idle power mode),
+ *	the VERIFY command will complete after the disk spins up.
+ *
+ *	LOCKING:
+ *	Kernel thread context (may sleep).
+ */
+void ata_dev_power_set_active(struct ata_device *dev)
+{
+	struct ata_taskfile tf;
+	unsigned int err_mask;
+
+	/*
+	 * Issue READ VERIFY SECTORS command for 1 sector at lba=0 only
+	 * if supported by the device.
+	 */
+	if (dev->class != ATA_DEV_ATA && dev->class != ATA_DEV_ZAC)
+		return;
+
+	ata_tf_init(dev, &tf);
+	tf.flags |= ATA_TFLAG_DEVICE | ATA_TFLAG_ISADDR;
+	tf.protocol = ATA_PROT_NODATA;
+	tf.command = ATA_CMD_VERIFY;
+	tf.nsect = 1;
+	if (dev->flags & ATA_DFLAG_LBA) {
+		tf.flags |= ATA_TFLAG_LBA;
+		tf.device |= ATA_LBA;
+	} else {
+		/* CHS */
+		tf.lbal = 0x1; /* sect */
+	}
+
+	ata_dev_notice(dev, "Entering active power mode\n");
+
+	err_mask = ata_exec_internal(dev, &tf, NULL, DMA_NONE, NULL, 0, 0);
+	if (err_mask)
+		ata_dev_err(dev, "VERIFY failed (err_mask=0x%x)\n",
+			    err_mask);
+}
+
+/**
  *	ata_read_log_page - read a specific log page
  *	@dev: target device
  *	@log: log to read
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -106,6 +106,14 @@ static const unsigned int ata_eh_flush_t
 	UINT_MAX,
 };
 
+static const unsigned int ata_eh_pm_timeouts[] = {
+	10000,	/* most drives spin up by 10sec */
+	10000,	/* > 99% working drives spin up before 20sec */
+	35000,	/* give > 30 secs of idleness for outlier devices */
+	 5000,	/* and sweet one last chance */
+	UINT_MAX, /* > 1 min has elapsed, give up */
+};
+
 static const unsigned int ata_eh_other_timeouts[] = {
 	 5000,	/* same rationale as identify timeout */
 	10000,	/* ditto */
@@ -147,6 +155,8 @@ ata_eh_cmd_timeout_table[ATA_EH_CMD_TIME
 	  .timeouts = ata_eh_other_timeouts, },
 	{ .commands = CMDS(ATA_CMD_FLUSH, ATA_CMD_FLUSH_EXT),
 	  .timeouts = ata_eh_flush_timeouts },
+	{ .commands = CMDS(ATA_CMD_VERIFY),
+	  .timeouts = ata_eh_pm_timeouts },
 };
 #undef CMDS
 
@@ -498,7 +508,19 @@ static void ata_eh_unload(struct ata_por
 	struct ata_device *dev;
 	unsigned long flags;
 
-	/* Restore SControl IPM and SPD for the next driver and
+	/*
+	 * Unless we are restarting, transition all enabled devices to
+	 * standby power mode.
+	 */
+	if (system_state != SYSTEM_RESTART) {
+		ata_for_each_link(link, ap, PMP_FIRST) {
+			ata_for_each_dev(dev, link, ENABLED)
+				ata_dev_power_set_standby(dev);
+		}
+	}
+
+	/*
+	 * Restore SControl IPM and SPD for the next driver and
 	 * disable attached devices.
 	 */
 	ata_for_each_link(link, ap, PMP_FIRST) {
@@ -687,6 +709,10 @@ void ata_scsi_port_error_handler(struct
 				ehc->saved_xfer_mode[devno] = dev->xfer_mode;
 				if (ata_ncq_enabled(dev))
 					ehc->saved_ncq_enabled |= 1 << devno;
+
+				/* If we are resuming, wake up the device */
+				if (ap->pflags & ATA_PFLAG_RESUMING)
+					ehc->i.dev_action[devno] |= ATA_EH_SET_ACTIVE;
 			}
 		}
 
@@ -750,6 +776,8 @@ void ata_scsi_port_error_handler(struct
 	/* clean up */
 	spin_lock_irqsave(ap->lock, flags);
 
+	ap->pflags &= ~ATA_PFLAG_RESUMING;
+
 	if (ap->pflags & ATA_PFLAG_LOADING)
 		ap->pflags &= ~ATA_PFLAG_LOADING;
 	else if ((ap->pflags & ATA_PFLAG_SCSI_HOTPLUG) &&
@@ -1241,6 +1269,13 @@ void ata_eh_detach_dev(struct ata_device
 	struct ata_eh_context *ehc = &link->eh_context;
 	unsigned long flags;
 
+	/*
+	 * If the device is still enabled, transition it to standby power mode
+	 * (i.e. spin down HDDs).
+	 */
+	if (ata_dev_enabled(dev))
+		ata_dev_power_set_standby(dev);
+
 	ata_dev_disable(dev);
 
 	spin_lock_irqsave(ap->lock, flags);
@@ -2927,6 +2962,15 @@ static int ata_eh_revalidate_and_attach(
 		if (ehc->i.flags & ATA_EHI_DID_RESET)
 			readid_flags |= ATA_READID_POSTRESET;
 
+		/*
+		 * When resuming, before executing any command, make sure to
+		 * transition the device to the active power mode.
+		 */
+		if ((action & ATA_EH_SET_ACTIVE) && ata_dev_enabled(dev)) {
+			ata_dev_power_set_active(dev);
+			ata_eh_done(link, dev, ATA_EH_SET_ACTIVE);
+		}
+
 		if ((action & ATA_EH_REVALIDATE) && ata_dev_enabled(dev)) {
 			WARN_ON(dev->class == ATA_DEV_PMP);
 
@@ -3886,6 +3930,7 @@ static void ata_eh_handle_port_suspend(s
 	unsigned long flags;
 	int rc = 0;
 	struct ata_device *dev;
+	struct ata_link *link;
 
 	/* are we suspending? */
 	spin_lock_irqsave(ap->lock, flags);
@@ -3898,6 +3943,12 @@ static void ata_eh_handle_port_suspend(s
 
 	WARN_ON(ap->pflags & ATA_PFLAG_SUSPENDED);
 
+	/* Set all devices attached to the port in standby mode */
+	ata_for_each_link(link, ap, HOST_FIRST) {
+		ata_for_each_dev(dev, link, ENABLED)
+			ata_dev_power_set_standby(dev);
+	}
+
 	/*
 	 * If we have a ZPODD attached, check its zero
 	 * power ready status before the port is frozen.
@@ -3980,6 +4031,7 @@ static void ata_eh_handle_port_resume(st
 	/* update the flags */
 	spin_lock_irqsave(ap->lock, flags);
 	ap->pflags &= ~(ATA_PFLAG_PM_PENDING | ATA_PFLAG_SUSPENDED);
+	ap->pflags |= ATA_PFLAG_RESUMING;
 	spin_unlock_irqrestore(ap->lock, flags);
 }
 #endif /* CONFIG_PM */
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -1081,15 +1081,13 @@ int ata_scsi_dev_config(struct scsi_devi
 		}
 	} else {
 		sdev->sector_size = ata_id_logical_sector_size(dev->id);
+
 		/*
-		 * Stop the drive on suspend but do not issue START STOP UNIT
-		 * on resume as this is not necessary and may fail: the device
-		 * will be woken up by ata_port_pm_resume() with a port reset
-		 * and device revalidation.
+		 * Ask the sd driver to issue START STOP UNIT on runtime suspend
+		 * and resume only. For system level suspend/resume, devices
+		 * power state is handled directly by libata EH.
 		 */
-		sdev->manage_system_start_stop = true;
 		sdev->manage_runtime_start_stop = true;
-		sdev->no_start_on_resume = 1;
 	}
 
 	/*
@@ -1265,7 +1263,7 @@ static unsigned int ata_scsi_start_stop_
 	}
 
 	if (cdb[4] & 0x1) {
-		tf->nsect = 1;	/* 1 sector, lba=0 */
+		tf->nsect = 1;  /* 1 sector, lba=0 */
 
 		if (qc->dev->flags & ATA_DFLAG_LBA) {
 			tf->flags |= ATA_TFLAG_LBA;
@@ -1281,7 +1279,7 @@ static unsigned int ata_scsi_start_stop_
 			tf->lbah = 0x0; /* cyl high */
 		}
 
-		tf->command = ATA_CMD_VERIFY;	/* READ VERIFY */
+		tf->command = ATA_CMD_VERIFY;   /* READ VERIFY */
 	} else {
 		/* Some odd clown BIOSen issue spindown on power off (ACPI S4
 		 * or S5) causing some drives to spin up and down again.
@@ -1291,7 +1289,7 @@ static unsigned int ata_scsi_start_stop_
 			goto skip;
 
 		if ((qc->ap->flags & ATA_FLAG_NO_HIBERNATE_SPINDOWN) &&
-		     system_entering_hibernation())
+		    system_entering_hibernation())
 			goto skip;
 
 		/* Issue ATA STANDBY IMMEDIATE command */
--- a/drivers/ata/libata.h
+++ b/drivers/ata/libata.h
@@ -62,6 +62,8 @@ extern int ata_dev_reread_id(struct ata_
 extern int ata_dev_revalidate(struct ata_device *dev, unsigned int new_class,
 			      unsigned int readid_flags);
 extern int ata_dev_configure(struct ata_device *dev);
+extern void ata_dev_power_set_standby(struct ata_device *dev);
+extern void ata_dev_power_set_active(struct ata_device *dev);
 extern int sata_down_spd_limit(struct ata_link *link, u32 spd_limit);
 extern int ata_down_xfermask_limit(struct ata_device *dev, unsigned int sel);
 extern unsigned int ata_dev_set_feature(struct ata_device *dev,
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -189,6 +189,7 @@ enum {
 	ATA_PFLAG_UNLOADING	= (1 << 9), /* driver is being unloaded */
 	ATA_PFLAG_UNLOADED	= (1 << 10), /* driver is unloaded */
 
+	ATA_PFLAG_RESUMING	= (1 << 16),  /* port is being resumed */
 	ATA_PFLAG_SUSPENDED	= (1 << 17), /* port is suspended (power) */
 	ATA_PFLAG_PM_PENDING	= (1 << 18), /* PM operation pending */
 	ATA_PFLAG_INIT_GTM_VALID = (1 << 19), /* initial gtm data valid */
@@ -311,8 +312,10 @@ enum {
 	ATA_EH_RESET		= ATA_EH_SOFTRESET | ATA_EH_HARDRESET,
 	ATA_EH_ENABLE_LINK	= (1 << 3),
 	ATA_EH_PARK		= (1 << 5), /* unload heads and stop I/O */
+	ATA_EH_SET_ACTIVE	= (1 << 6), /* Set a device to active power mode */
 
-	ATA_EH_PERDEV_MASK	= ATA_EH_REVALIDATE | ATA_EH_PARK,
+	ATA_EH_PERDEV_MASK	= ATA_EH_REVALIDATE | ATA_EH_PARK |
+				  ATA_EH_SET_ACTIVE,
 	ATA_EH_ALL_ACTIONS	= ATA_EH_REVALIDATE | ATA_EH_RESET |
 				  ATA_EH_ENABLE_LINK,
 
@@ -350,7 +353,7 @@ enum {
 	/* This should match the actual table size of
 	 * ata_eh_cmd_timeout_table in libata-eh.c.
 	 */
-	ATA_EH_CMD_TIMEOUT_TABLE_SIZE = 7,
+	ATA_EH_CMD_TIMEOUT_TABLE_SIZE = 8,
 
 	/* Horkage types. May be set by libata or controller on drives
 	   (some horkage may be drive/controller pair dependent */



  parent reply	other threads:[~2023-10-16  8:54 UTC|newest]

Thread overview: 152+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-16  8:39 [PATCH 6.1 000/131] 6.1.59-rc1 review Greg Kroah-Hartman
2023-10-16  8:39 ` [PATCH 6.1 001/131] net: mana: Fix TX CQE error handling Greg Kroah-Hartman
2023-10-16 14:35   ` Haiyang Zhang
2023-10-16 14:46     ` Greg Kroah-Hartman
2023-10-16 15:35       ` Haiyang Zhang
2023-10-16 17:02         ` Greg Kroah-Hartman
2023-10-16 17:55           ` Haiyang Zhang
2023-10-16  8:39 ` [PATCH 6.1 002/131] mptcp: fix delegated action races Greg Kroah-Hartman
2023-10-16  8:39 ` [PATCH 6.1 003/131] drm/i915: Dont set PIPE_CONTROL_FLUSH_L3 for aux inval Greg Kroah-Hartman
2023-10-16  8:39 ` [PATCH 6.1 004/131] RDMA/cxgb4: Check skb value for failure to allocate Greg Kroah-Hartman
2023-10-16  8:39 ` [PATCH 6.1 005/131] perf/arm-cmn: Fix the unhandled overflow status of counter 4 to 7 Greg Kroah-Hartman
2023-10-16  8:39 ` [PATCH 6.1 006/131] platform/x86: think-lmi: Fix reference leak Greg Kroah-Hartman
2023-10-16  8:39 ` [PATCH 6.1 007/131] platform/x86: hp-wmi:: Mark driver struct with __refdata to prevent section mismatch warning Greg Kroah-Hartman
2023-10-16  8:39 ` [PATCH 6.1 008/131] scsi: Do not rescan devices with a suspended queue Greg Kroah-Hartman
2023-10-16  8:39 ` [PATCH 6.1 009/131] HID: logitech-hidpp: Fix kernel crash on receiver USB disconnect Greg Kroah-Hartman
2023-10-16  8:39 ` [PATCH 6.1 010/131] quota: Fix slow quotaoff Greg Kroah-Hartman
2023-10-16  8:39 ` [PATCH 6.1 011/131] ASoC: amd: yc: Fix non-functional mic on Lenovo 82YM Greg Kroah-Hartman
2023-10-16  8:39 ` Greg Kroah-Hartman [this message]
2023-10-16  8:39 ` [PATCH 6.1 013/131] net: prevent address rewrite in kernel_bind() Greg Kroah-Hartman
2023-10-16  8:39 ` [PATCH 6.1 014/131] arm64: dts: qcom: sm8150: extend the size of the PDC resource Greg Kroah-Hartman
2023-10-16  8:39 ` [PATCH 6.1 015/131] dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Update description for #interrupt-cells property Greg Kroah-Hartman
2023-10-16  8:39 ` [PATCH 6.1 016/131] irqchip: renesas-rzg2l: Fix logic to clear TINT interrupt source Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 017/131] KEYS: trusted: Remove redundant static calls usage Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 018/131] ALSA: usb-audio: Fix microphone sound on Opencomm2 Headset Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 019/131] ALSA: usb-audio: Fix microphone sound on Nexigo webcam Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 020/131] ALSA: hda/realtek: Change model for Intel RVP board Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 021/131] ASoC: SOF: amd: fix for firmware reload failure after playback Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 022/131] ASoC: simple-card-utils: fixup simple_util_startup() error handling Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 023/131] ASoC: Intel: soc-acpi: Add entry for HDMI_In capture support in MTL match table Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 024/131] ASoC: Intel: sof_sdw: add support for SKU 0B14 Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 025/131] ASoC: Intel: soc-acpi: Add entry for sof_es8336 in MTL match table Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 026/131] ASoC: Use of_property_read_bool() for boolean properties Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 027/131] ASoC: fsl_sai: MCLK bind with TX/RX enable bit Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 028/131] ASoC: fsl_sai: Dont disable bitclock for i.MX8MP Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 029/131] ALSA: hda/realtek: Add quirk for HP Victus 16-d1xxx to enable mute LED Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 030/131] ALSA: hda/realtek: Add quirk for mute LEDs on HP ENVY x360 15-eu0xxx Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 031/131] ALSA: hda/realtek - ALC287 I2S speaker platform support Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 032/131] ALSA: hda/realtek - ALC287 merge RTK codec with CS CS35L41 AMP Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 033/131] pinctrl: nuvoton: wpcm450: fix out of bounds write Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 034/131] drm/msm/dp: do not reinitialize phy unless retry during link training Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 035/131] drm/msm/dsi: skip the wait for video mode done if not applicable Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 036/131] drm/msm/dsi: fix irq_of_parse_and_map() error checking Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 037/131] drm/msm/dpu: change _dpu_plane_calc_bw() to use u64 to avoid overflow Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 038/131] drm/msm/dp: Add newlines to debug printks Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 039/131] phy: lynx-28g: cancel the CDR check work item on the remove path Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 040/131] phy: lynx-28g: lock PHY while performing CDR lock workaround Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 041/131] phy: lynx-28g: serialize concurrent phy_set_mode_ext() calls to shared registers Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 042/131] net: dsa: qca8k: fix potential MDIO bus conflict when accessing internal PHYs via management frames Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 043/131] can: isotp: isotp_sendmsg(): fix TX state detection and wait behavior Greg Kroah-Hartman
2023-10-24 18:34   ` Oliver Hartkopp
2023-10-25 18:52     ` Lukas Magel
2023-10-27 12:16     ` Greg Kroah-Hartman
2023-10-30 11:36       ` Oliver Hartkopp
2023-10-16  8:40 ` [PATCH 6.1 044/131] can: sun4i_can: Only show Kconfig if ARCH_SUNXI is set Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 045/131] arm64: dts: mediatek: mt8195: Set DSU PMU status to fail Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 046/131] ravb: Fix up dma_free_coherent() call in ravb_remove() Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 047/131] ravb: Fix use-after-free issue in ravb_tx_timeout_work() Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 048/131] ieee802154: ca8210: Fix a potential UAF in ca8210_probe Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 049/131] mlxsw: fix mlxsw_sp2_nve_vxlan_learning_set() return type Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 050/131] xen-netback: use default TX queue size for vifs Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 051/131] riscv, bpf: Factor out emit_call for kernel and bpf context Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 052/131] riscv, bpf: Sign-extend return values Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 053/131] drm/vmwgfx: fix typo of sizeof argument Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 054/131] bpf: Fix verifier log for async callback return values Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 055/131] net: refine debug info in skb_checksum_help() Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 056/131] net: macsec: indicate next pn update when offloading Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 057/131] net: phy: mscc: macsec: reject PN update requests Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 058/131] net/mlx5e: macsec: use update_pn flag instead of PN comparation Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 059/131] ixgbe: fix crash with empty VF macvlan list Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 060/131] net/mlx5e: Again mutually exclude RX-FCS and RX-port-timestamp Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 061/131] net: nfc: fix races in nfc_llcp_sock_get() and nfc_llcp_sock_get_sn() Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 062/131] ethtool: Fix mod state of verbose no_mask bitset Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 063/131] net/smc: Fix pos miscalculation in statistics Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 064/131] pinctrl: renesas: rzn1: Enable missing PINMUX Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 065/131] nfc: nci: assert requested protocol is valid Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 066/131] workqueue: Override implicit ordered attribute in workqueue_apply_unbound_cpumask() Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 067/131] tcp: enforce receive buffer memory limits by allowing the tcp window to shrink Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 068/131] dmaengine: stm32-mdma: abort resume if no ongoing transfer Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 069/131] dmaengine: stm32-dma: fix stm32_dma_prep_slave_sg in case of MDMA chaining Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 070/131] dmaengine: stm32-dma: fix residue " Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 071/131] dmaengine: stm32-mdma: use Link Address Register to compute residue Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 072/131] dmaengine: stm32-mdma: set in_flight_bytes in case CRQA flag is set Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 073/131] usb: xhci: xhci-ring: Use sysdev for mapping bounce buffer Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 074/131] net: usb: dm9601: fix uninitialized variable use in dm9601_mdio_read Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 075/131] usb: dwc3: Soft reset phy on probe for host Greg Kroah-Hartman
2023-10-16  8:40 ` [PATCH 6.1 076/131] usb: cdns3: Modify the return value of cdns_set_active () to void when CONFIG_PM_SLEEP is disabled Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 077/131] usb: hub: Guard against accesses to uninitialized BOS descriptors Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 078/131] usb: musb: Get the musb_qh poniter after musb_giveback Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 079/131] usb: musb: Modify the "HWVers" register address Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 080/131] iio: pressure: bmp280: Fix NULL pointer exception Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 081/131] iio: imu: bno055: Fix missing Kconfig dependencies Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 082/131] iio: adc: imx8qxp: Fix address for command buffer registers Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 083/131] iio: dac: ad3552r: Correct device IDs Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 084/131] iio: admv1013: add mixer_vgate corner cases Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 085/131] iio: pressure: dps310: Adjust Timeout Settings Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 086/131] iio: pressure: ms5611: ms5611_prom_is_valid false negative bug Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 087/131] iio: addac: Kconfig: update ad74413r selections Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 088/131] arm64: dts: mediatek: mt8195-demo: fix the memory size to 8GB Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 089/131] arm64: dts: mediatek: mt8195-demo: update and reorder reserved memory regions Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 090/131] drm/atomic-helper: relax unregistered connector check Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 091/131] drm/amdgpu: add missing NULL check Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 092/131] drm/amd/display: Dont set dpms_off for seamless boot Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 093/131] ACPI: resource: Skip IRQ override on ASUS ExpertBook B1402CBA Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 094/131] ACPI: EC: Add quirk for the HP Pavilion Gaming 15-dk1xxx Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 095/131] ksmbd: not allow to open file if delelete on close bit is set Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 096/131] perf/x86/lbr: Filter vsyscall addresses Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 097/131] x86/cpu: Fix AMD erratum #1485 on Zen4-based CPUs Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 098/131] mcb: remove is_added flag from mcb_device struct Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 099/131] thunderbolt: Workaround an IOMMU fault on certain systems with Intel Maple Ridge Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 100/131] thunderbolt: Check that lane 1 is in CL0 before enabling lane bonding Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 101/131] thunderbolt: Restart XDomain discovery handshake after failure Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 102/131] powerpc/47x: Fix 47x syscall return crash Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 103/131] libceph: use kernel_connect() Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 104/131] ceph: fix incorrect revoked caps assert in ceph_fill_file_size() Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 105/131] ceph: fix type promotion bug on 32bit systems Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 106/131] Input: powermate - fix use-after-free in powermate_config_complete Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 107/131] Input: psmouse - fix fast_reconnect function for PS/2 mode Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 108/131] Input: xpad - add PXN V900 support Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 109/131] Input: i8042 - add Fujitsu Lifebook E5411 to i8042 quirk table Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 110/131] Input: goodix - ensure int GPIO is in input for gpio_count == 1 && gpio_int_idx == 0 case Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 111/131] tee: amdtee: fix use-after-free vulnerability in amdtee_close_session Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 112/131] mctp: perform route lookups under a RCU read-side lock Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 113/131] nfp: flower: avoid rmmod nfp crash issues Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 114/131] usb: typec: ucsi: Use GET_CAPABILITY attributes data to set power supply scope Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 115/131] cgroup: Remove duplicates in cgroup v1 tasks file Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 116/131] dma-buf: add dma_fence_timestamp helper Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 117/131] pinctrl: avoid unsafe code pattern in find_pinctrl() Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 118/131] scsi: ufs: core: Correct clear TM error log Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 119/131] counter: chrdev: fix getting array extensions Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 120/131] counter: microchip-tcb-capture: Fix the use of internal GCLK logic Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 121/131] usb: typec: altmodes/displayport: Signal hpd low when exiting mode Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 122/131] usb: typec: ucsi: Clear EVENT_PENDING bit if ucsi_send_command fails Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 123/131] usb: gadget: udc-xilinx: replace memcpy with memcpy_toio Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 124/131] usb: gadget: ncm: Handle decoding of multiple NTBs in unwrap call Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 125/131] usb: cdnsp: Fixes issue with dequeuing not queued requests Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 126/131] x86/alternatives: Disable KASAN in apply_alternatives() Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 127/131] dmaengine: idxd: use spin_lock_irqsave before wait_event_lock_irq Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 128/131] dmaengine: mediatek: Fix deadlock caused by synchronize_irq() Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 129/131] powerpc/8xx: Fix pte_access_permitted() for PAGE_NONE Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 130/131] powerpc/64e: Fix wrong test in __ptep_test_and_clear_young() Greg Kroah-Hartman
2023-10-16  8:41 ` [PATCH 6.1 131/131] ALSA: hda/realtek - Fixed two speaker platform Greg Kroah-Hartman
2023-10-16 11:40 ` [PATCH 6.1 000/131] 6.1.59-rc1 review Ricardo B. Marliere
2023-10-16 12:56 ` Jon Hunter
2023-10-16 18:18 ` Florian Fainelli
2023-10-16 18:37 ` SeongJae Park
2023-10-16 21:31 ` Shuah Khan
2023-10-17  3:03 ` Bagas Sanjaya
2023-10-17  7:35 ` Ron Economos
2023-10-17  8:26 ` Naresh Kamboju
2023-10-17 10:03 ` Pavel Machek
2023-10-17 11:50 ` Takeshi Ogasawara
2023-10-25 19:11 ` Jon Hunter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231016084000.373135404@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=dlemoal@kernel.org \
    --cc=geert+renesas@glider.be \
    --cc=hare@suse.de \
    --cc=martin.petersen@oracle.com \
    --cc=patches@lists.linux.dev \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox