public inbox for stable@vger.kernel.org
 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,
	"Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>,
	Horatiu Vultur <horatiu.vultur@microchip.com>,
	Paolo Abeni <pabeni@redhat.com>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.12 034/185] net: phy: micrel: Introduce lanphy_modify_page_reg
Date: Fri, 21 Nov 2025 14:11:01 +0100	[thread overview]
Message-ID: <20251121130145.107864982@linuxfoundation.org> (raw)
In-Reply-To: <20251121130143.857798067@linuxfoundation.org>

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

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

From: Horatiu Vultur <horatiu.vultur@microchip.com>

[ Upstream commit a0de636ed7a264a329c6a9c7d50727af02138536 ]

As the name suggests this function modifies the register in an
extended page. It has the same parameters as phy_modify_mmd.
This function was introduce because there are many places in the
code where the registers was read then the value was modified and
written back. So replace all this code with this function to make
it clear.

Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Link: https://patch.msgid.link/20250818075121.1298170-3-horatiu.vultur@microchip.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Stable-dep-of: 96a9178a29a6 ("net: phy: micrel: lan8814 fix reset of the QSGMII interface")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/phy/micrel.c | 231 ++++++++++++++++++++-------------------
 1 file changed, 116 insertions(+), 115 deletions(-)

diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
index f60cf630bdb3d..0ab3f813d29e4 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -2591,6 +2591,27 @@ static int lanphy_write_page_reg(struct phy_device *phydev, int page, u16 addr,
 	return val;
 }
 
+static int lanphy_modify_page_reg(struct phy_device *phydev, int page, u16 addr,
+				  u16 mask, u16 set)
+{
+	int ret;
+
+	phy_lock_mdio_bus(phydev);
+	__phy_write(phydev, LAN_EXT_PAGE_ACCESS_CONTROL, page);
+	__phy_write(phydev, LAN_EXT_PAGE_ACCESS_ADDRESS_DATA, addr);
+	__phy_write(phydev, LAN_EXT_PAGE_ACCESS_CONTROL,
+		    (page | LAN_EXT_PAGE_ACCESS_CTRL_EP_FUNC));
+	ret = __phy_modify_changed(phydev, LAN_EXT_PAGE_ACCESS_ADDRESS_DATA,
+				   mask, set);
+	phy_unlock_mdio_bus(phydev);
+
+	if (ret < 0)
+		phydev_err(phydev, "__phy_modify_changed() failed: %pe\n",
+			   ERR_PTR(ret));
+
+	return ret;
+}
+
 static int lan8814_config_ts_intr(struct phy_device *phydev, bool enable)
 {
 	u16 val = 0;
@@ -2680,7 +2701,6 @@ static int lan8814_hwtstamp(struct mii_timestamper *mii_ts,
 	struct lan8814_ptp_rx_ts *rx_ts, *tmp;
 	int txcfg = 0, rxcfg = 0;
 	int pkt_ts_enable;
-	int tx_mod;
 
 	ptp_priv->hwts_tx_type = config->tx_type;
 	ptp_priv->rx_filter = config->rx_filter;
@@ -2727,13 +2747,14 @@ static int lan8814_hwtstamp(struct mii_timestamper *mii_ts,
 	lanphy_write_page_reg(ptp_priv->phydev, 5, PTP_RX_TIMESTAMP_EN, pkt_ts_enable);
 	lanphy_write_page_reg(ptp_priv->phydev, 5, PTP_TX_TIMESTAMP_EN, pkt_ts_enable);
 
-	tx_mod = lanphy_read_page_reg(ptp_priv->phydev, 5, PTP_TX_MOD);
 	if (ptp_priv->hwts_tx_type == HWTSTAMP_TX_ONESTEP_SYNC) {
-		lanphy_write_page_reg(ptp_priv->phydev, 5, PTP_TX_MOD,
-				      tx_mod | PTP_TX_MOD_TX_PTP_SYNC_TS_INSERT_);
+		lanphy_modify_page_reg(ptp_priv->phydev, 5, PTP_TX_MOD,
+				       PTP_TX_MOD_TX_PTP_SYNC_TS_INSERT_,
+				       PTP_TX_MOD_TX_PTP_SYNC_TS_INSERT_);
 	} else if (ptp_priv->hwts_tx_type == HWTSTAMP_TX_ON) {
-		lanphy_write_page_reg(ptp_priv->phydev, 5, PTP_TX_MOD,
-				      tx_mod & ~PTP_TX_MOD_TX_PTP_SYNC_TS_INSERT_);
+		lanphy_modify_page_reg(ptp_priv->phydev, 5, PTP_TX_MOD,
+				       PTP_TX_MOD_TX_PTP_SYNC_TS_INSERT_,
+				       0);
 	}
 
 	if (config->rx_filter != HWTSTAMP_FILTER_NONE)
@@ -3136,73 +3157,66 @@ static void lan8814_ptp_set_reload(struct phy_device *phydev, int event,
 static void lan8814_ptp_enable_event(struct phy_device *phydev, int event,
 				     int pulse_width)
 {
-	u16 val;
-
-	val = lanphy_read_page_reg(phydev, 4, LAN8814_PTP_GENERAL_CONFIG);
-	/* Set the pulse width of the event */
-	val &= ~(LAN8814_PTP_GENERAL_CONFIG_LTC_EVENT_MASK(event));
-	/* Make sure that the target clock will be incremented each time when
+	/* Set the pulse width of the event,
+	 * Make sure that the target clock will be incremented each time when
 	 * local time reaches or pass it
+	 * Set the polarity high
 	 */
-	val |= LAN8814_PTP_GENERAL_CONFIG_LTC_EVENT_SET(event, pulse_width);
-	val &= ~(LAN8814_PTP_GENERAL_CONFIG_RELOAD_ADD_X(event));
-	/* Set the polarity high */
-	val |= LAN8814_PTP_GENERAL_CONFIG_POLARITY_X(event);
-	lanphy_write_page_reg(phydev, 4, LAN8814_PTP_GENERAL_CONFIG, val);
+	lanphy_modify_page_reg(phydev, 4, LAN8814_PTP_GENERAL_CONFIG,
+			       LAN8814_PTP_GENERAL_CONFIG_LTC_EVENT_MASK(event) |
+			       LAN8814_PTP_GENERAL_CONFIG_LTC_EVENT_SET(event, pulse_width) |
+			       LAN8814_PTP_GENERAL_CONFIG_RELOAD_ADD_X(event) |
+			       LAN8814_PTP_GENERAL_CONFIG_POLARITY_X(event),
+			       LAN8814_PTP_GENERAL_CONFIG_LTC_EVENT_SET(event, pulse_width) |
+			       LAN8814_PTP_GENERAL_CONFIG_POLARITY_X(event));
 }
 
 static void lan8814_ptp_disable_event(struct phy_device *phydev, int event)
 {
-	u16 val;
-
 	/* Set target to too far in the future, effectively disabling it */
 	lan8814_ptp_set_target(phydev, event, 0xFFFFFFFF, 0);
 
 	/* And then reload once it recheas the target */
-	val = lanphy_read_page_reg(phydev, 4, LAN8814_PTP_GENERAL_CONFIG);
-	val |= LAN8814_PTP_GENERAL_CONFIG_RELOAD_ADD_X(event);
-	lanphy_write_page_reg(phydev, 4, LAN8814_PTP_GENERAL_CONFIG, val);
+	lanphy_modify_page_reg(phydev, 4, LAN8814_PTP_GENERAL_CONFIG,
+			       LAN8814_PTP_GENERAL_CONFIG_RELOAD_ADD_X(event),
+			       LAN8814_PTP_GENERAL_CONFIG_RELOAD_ADD_X(event));
 }
 
 static void lan8814_ptp_perout_off(struct phy_device *phydev, int pin)
 {
-	u16 val;
-
 	/* Disable gpio alternate function,
 	 * 1: select as gpio,
 	 * 0: select alt func
 	 */
-	val = lanphy_read_page_reg(phydev, 4, LAN8814_GPIO_EN_ADDR(pin));
-	val |= LAN8814_GPIO_EN_BIT(pin);
-	lanphy_write_page_reg(phydev, 4, LAN8814_GPIO_EN_ADDR(pin), val);
+	lanphy_modify_page_reg(phydev, 4, LAN8814_GPIO_EN_ADDR(pin),
+			       LAN8814_GPIO_EN_BIT(pin),
+			       LAN8814_GPIO_EN_BIT(pin));
 
-	val = lanphy_read_page_reg(phydev, 4, LAN8814_GPIO_DIR_ADDR(pin));
-	val &= ~LAN8814_GPIO_DIR_BIT(pin);
-	lanphy_write_page_reg(phydev, 4, LAN8814_GPIO_DIR_ADDR(pin), val);
+	lanphy_modify_page_reg(phydev, 4, LAN8814_GPIO_DIR_ADDR(pin),
+			       LAN8814_GPIO_DIR_BIT(pin),
+			       0);
 
-	val = lanphy_read_page_reg(phydev, 4, LAN8814_GPIO_BUF_ADDR(pin));
-	val &= ~LAN8814_GPIO_BUF_BIT(pin);
-	lanphy_write_page_reg(phydev, 4, LAN8814_GPIO_BUF_ADDR(pin), val);
+	lanphy_modify_page_reg(phydev, 4, LAN8814_GPIO_BUF_ADDR(pin),
+			       LAN8814_GPIO_BUF_BIT(pin),
+			       0);
 }
 
 static void lan8814_ptp_perout_on(struct phy_device *phydev, int pin)
 {
-	int val;
-
 	/* Set as gpio output */
-	val = lanphy_read_page_reg(phydev, 4, LAN8814_GPIO_DIR_ADDR(pin));
-	val |= LAN8814_GPIO_DIR_BIT(pin);
-	lanphy_write_page_reg(phydev, 4, LAN8814_GPIO_DIR_ADDR(pin), val);
+	lanphy_modify_page_reg(phydev, 4, LAN8814_GPIO_DIR_ADDR(pin),
+			       LAN8814_GPIO_DIR_BIT(pin),
+			       LAN8814_GPIO_DIR_BIT(pin));
 
 	/* Enable gpio 0:for alternate function, 1:gpio */
-	val = lanphy_read_page_reg(phydev, 4, LAN8814_GPIO_EN_ADDR(pin));
-	val &= ~LAN8814_GPIO_EN_BIT(pin);
-	lanphy_write_page_reg(phydev, 4, LAN8814_GPIO_EN_ADDR(pin), val);
+	lanphy_modify_page_reg(phydev, 4, LAN8814_GPIO_EN_ADDR(pin),
+			       LAN8814_GPIO_EN_BIT(pin),
+			       0);
 
 	/* Set buffer type to push pull */
-	val = lanphy_read_page_reg(phydev, 4, LAN8814_GPIO_BUF_ADDR(pin));
-	val |= LAN8814_GPIO_BUF_BIT(pin);
-	lanphy_write_page_reg(phydev, 4, LAN8814_GPIO_BUF_ADDR(pin), val);
+	lanphy_modify_page_reg(phydev, 4, LAN8814_GPIO_BUF_ADDR(pin),
+			       LAN8814_GPIO_BUF_BIT(pin),
+			       LAN8814_GPIO_BUF_BIT(pin));
 }
 
 static int lan8814_ptp_perout(struct ptp_clock_info *ptpci,
@@ -3321,61 +3335,59 @@ static int lan8814_ptp_perout(struct ptp_clock_info *ptpci,
 
 static void lan8814_ptp_extts_on(struct phy_device *phydev, int pin, u32 flags)
 {
-	u16 tmp;
-
 	/* Set as gpio input */
-	tmp = lanphy_read_page_reg(phydev, 4, LAN8814_GPIO_DIR_ADDR(pin));
-	tmp &= ~LAN8814_GPIO_DIR_BIT(pin);
-	lanphy_write_page_reg(phydev, 4, LAN8814_GPIO_DIR_ADDR(pin), tmp);
+	lanphy_modify_page_reg(phydev, 4, LAN8814_GPIO_DIR_ADDR(pin),
+			       LAN8814_GPIO_DIR_BIT(pin),
+			       0);
 
 	/* Map the pin to ltc pin 0 of the capture map registers */
-	tmp = lanphy_read_page_reg(phydev, 4, PTP_GPIO_CAP_MAP_LO);
-	tmp |= pin;
-	lanphy_write_page_reg(phydev, 4, PTP_GPIO_CAP_MAP_LO, tmp);
+	lanphy_modify_page_reg(phydev, 4, PTP_GPIO_CAP_MAP_LO,
+			       pin,
+			       pin);
 
 	/* Enable capture on the edges of the ltc pin */
-	tmp = lanphy_read_page_reg(phydev, 4, PTP_GPIO_CAP_EN);
 	if (flags & PTP_RISING_EDGE)
-		tmp |= PTP_GPIO_CAP_EN_GPIO_RE_CAPTURE_ENABLE(0);
+		lanphy_modify_page_reg(phydev, 4, PTP_GPIO_CAP_EN,
+				       PTP_GPIO_CAP_EN_GPIO_RE_CAPTURE_ENABLE(0),
+				       PTP_GPIO_CAP_EN_GPIO_RE_CAPTURE_ENABLE(0));
 	if (flags & PTP_FALLING_EDGE)
-		tmp |= PTP_GPIO_CAP_EN_GPIO_FE_CAPTURE_ENABLE(0);
-	lanphy_write_page_reg(phydev, 4, PTP_GPIO_CAP_EN, tmp);
+		lanphy_modify_page_reg(phydev, 4, PTP_GPIO_CAP_EN,
+				       PTP_GPIO_CAP_EN_GPIO_FE_CAPTURE_ENABLE(0),
+				       PTP_GPIO_CAP_EN_GPIO_FE_CAPTURE_ENABLE(0));
 
 	/* Enable interrupt top interrupt */
-	tmp = lanphy_read_page_reg(phydev, 4, PTP_COMMON_INT_ENA);
-	tmp |= PTP_COMMON_INT_ENA_GPIO_CAP_EN;
-	lanphy_write_page_reg(phydev, 4, PTP_COMMON_INT_ENA, tmp);
+	lanphy_modify_page_reg(phydev, 4, PTP_COMMON_INT_ENA,
+			       PTP_COMMON_INT_ENA_GPIO_CAP_EN,
+			       PTP_COMMON_INT_ENA_GPIO_CAP_EN);
 }
 
 static void lan8814_ptp_extts_off(struct phy_device *phydev, int pin)
 {
-	u16 tmp;
-
 	/* Set as gpio out */
-	tmp = lanphy_read_page_reg(phydev, 4, LAN8814_GPIO_DIR_ADDR(pin));
-	tmp |= LAN8814_GPIO_DIR_BIT(pin);
-	lanphy_write_page_reg(phydev, 4, LAN8814_GPIO_DIR_ADDR(pin), tmp);
+	lanphy_modify_page_reg(phydev, 4, LAN8814_GPIO_DIR_ADDR(pin),
+			       LAN8814_GPIO_DIR_BIT(pin),
+			       LAN8814_GPIO_DIR_BIT(pin));
 
 	/* Enable alternate, 0:for alternate function, 1:gpio */
-	tmp = lanphy_read_page_reg(phydev, 4, LAN8814_GPIO_EN_ADDR(pin));
-	tmp &= ~LAN8814_GPIO_EN_BIT(pin);
-	lanphy_write_page_reg(phydev, 4, LAN8814_GPIO_EN_ADDR(pin), tmp);
+	lanphy_modify_page_reg(phydev, 4, LAN8814_GPIO_EN_ADDR(pin),
+			       LAN8814_GPIO_EN_BIT(pin),
+			       0);
 
 	/* Clear the mapping of pin to registers 0 of the capture registers */
-	tmp = lanphy_read_page_reg(phydev, 4, PTP_GPIO_CAP_MAP_LO);
-	tmp &= ~GENMASK(3, 0);
-	lanphy_write_page_reg(phydev, 4, PTP_GPIO_CAP_MAP_LO, tmp);
+	lanphy_modify_page_reg(phydev, 4, PTP_GPIO_CAP_MAP_LO,
+			       GENMASK(3, 0),
+			       0);
 
 	/* Disable capture on both of the edges */
-	tmp = lanphy_read_page_reg(phydev, 4, PTP_GPIO_CAP_EN);
-	tmp &= ~PTP_GPIO_CAP_EN_GPIO_RE_CAPTURE_ENABLE(pin);
-	tmp &= ~PTP_GPIO_CAP_EN_GPIO_FE_CAPTURE_ENABLE(pin);
-	lanphy_write_page_reg(phydev, 4, PTP_GPIO_CAP_EN, tmp);
+	lanphy_modify_page_reg(phydev, 4, PTP_GPIO_CAP_EN,
+			       PTP_GPIO_CAP_EN_GPIO_RE_CAPTURE_ENABLE(pin) |
+			       PTP_GPIO_CAP_EN_GPIO_FE_CAPTURE_ENABLE(pin),
+			       0);
 
 	/* Disable interrupt top interrupt */
-	tmp = lanphy_read_page_reg(phydev, 4, PTP_COMMON_INT_ENA);
-	tmp &= ~PTP_COMMON_INT_ENA_GPIO_CAP_EN;
-	lanphy_write_page_reg(phydev, 4, PTP_COMMON_INT_ENA, tmp);
+	lanphy_modify_page_reg(phydev, 4, PTP_COMMON_INT_ENA,
+			       PTP_COMMON_INT_ENA_GPIO_CAP_EN,
+			       0);
 }
 
 static int lan8814_ptp_extts(struct ptp_clock_info *ptpci,
@@ -3620,9 +3632,9 @@ static int lan8814_gpio_process_cap(struct lan8814_shared_priv *shared)
 	/* This is 0 because whatever was the input pin it was mapped it to
 	 * ltc gpio pin 0
 	 */
-	tmp = lanphy_read_page_reg(phydev, 4, PTP_GPIO_SEL);
-	tmp |= PTP_GPIO_SEL_GPIO_SEL(0);
-	lanphy_write_page_reg(phydev, 4, PTP_GPIO_SEL, tmp);
+	lanphy_modify_page_reg(phydev, 4, PTP_GPIO_SEL,
+			       PTP_GPIO_SEL_GPIO_SEL(0),
+			       PTP_GPIO_SEL_GPIO_SEL(0));
 
 	tmp = lanphy_read_page_reg(phydev, 4, PTP_GPIO_CAP_STS);
 	if (!(tmp & PTP_GPIO_CAP_STS_PTP_GPIO_RE_STS(0)) &&
@@ -3669,13 +3681,10 @@ static int lan8814_handle_gpio_interrupt(struct phy_device *phydev, u16 status)
 
 static int lan8804_config_init(struct phy_device *phydev)
 {
-	int val;
-
 	/* MDI-X setting for swap A,B transmit */
-	val = lanphy_read_page_reg(phydev, 2, LAN8804_ALIGN_SWAP);
-	val &= ~LAN8804_ALIGN_TX_A_B_SWAP_MASK;
-	val |= LAN8804_ALIGN_TX_A_B_SWAP;
-	lanphy_write_page_reg(phydev, 2, LAN8804_ALIGN_SWAP, val);
+	lanphy_modify_page_reg(phydev, 2, LAN8804_ALIGN_SWAP,
+			       LAN8804_ALIGN_TX_A_B_SWAP_MASK,
+			       LAN8804_ALIGN_TX_A_B_SWAP);
 
 	/* Make sure that the PHY will not stop generating the clock when the
 	 * link partner goes down
@@ -3817,7 +3826,6 @@ static void lan8814_ptp_init(struct phy_device *phydev)
 {
 	struct kszphy_priv *priv = phydev->priv;
 	struct kszphy_ptp_priv *ptp_priv = &priv->ptp_priv;
-	u32 temp;
 
 	if (!IS_ENABLED(CONFIG_PTP_1588_CLOCK) ||
 	    !IS_ENABLED(CONFIG_NETWORK_PHY_TIMESTAMPING))
@@ -3825,13 +3833,13 @@ static void lan8814_ptp_init(struct phy_device *phydev)
 
 	lanphy_write_page_reg(phydev, 5, TSU_HARD_RESET, TSU_HARD_RESET_);
 
-	temp = lanphy_read_page_reg(phydev, 5, PTP_TX_MOD);
-	temp |= PTP_TX_MOD_BAD_UDPV4_CHKSUM_FORCE_FCS_DIS_;
-	lanphy_write_page_reg(phydev, 5, PTP_TX_MOD, temp);
+	lanphy_modify_page_reg(phydev, 5, PTP_TX_MOD,
+			       PTP_TX_MOD_BAD_UDPV4_CHKSUM_FORCE_FCS_DIS_,
+			       PTP_TX_MOD_BAD_UDPV4_CHKSUM_FORCE_FCS_DIS_);
 
-	temp = lanphy_read_page_reg(phydev, 5, PTP_RX_MOD);
-	temp |= PTP_RX_MOD_BAD_UDPV4_CHKSUM_FORCE_FCS_DIS_;
-	lanphy_write_page_reg(phydev, 5, PTP_RX_MOD, temp);
+	lanphy_modify_page_reg(phydev, 5, PTP_RX_MOD,
+			       PTP_RX_MOD_BAD_UDPV4_CHKSUM_FORCE_FCS_DIS_,
+			       PTP_RX_MOD_BAD_UDPV4_CHKSUM_FORCE_FCS_DIS_);
 
 	lanphy_write_page_reg(phydev, 5, PTP_RX_PARSE_CONFIG, 0);
 	lanphy_write_page_reg(phydev, 5, PTP_TX_PARSE_CONFIG, 0);
@@ -3953,23 +3961,21 @@ static void lan8814_setup_led(struct phy_device *phydev, int val)
 static int lan8814_config_init(struct phy_device *phydev)
 {
 	struct kszphy_priv *lan8814 = phydev->priv;
-	int val;
 
 	/* Reset the PHY */
-	val = lanphy_read_page_reg(phydev, 4, LAN8814_QSGMII_SOFT_RESET);
-	val |= LAN8814_QSGMII_SOFT_RESET_BIT;
-	lanphy_write_page_reg(phydev, 4, LAN8814_QSGMII_SOFT_RESET, val);
+	lanphy_modify_page_reg(phydev, 4, LAN8814_QSGMII_SOFT_RESET,
+			       LAN8814_QSGMII_SOFT_RESET_BIT,
+			       LAN8814_QSGMII_SOFT_RESET_BIT);
 
 	/* Disable ANEG with QSGMII PCS Host side */
-	val = lanphy_read_page_reg(phydev, 5, LAN8814_QSGMII_PCS1G_ANEG_CONFIG);
-	val &= ~LAN8814_QSGMII_PCS1G_ANEG_CONFIG_ANEG_ENA;
-	lanphy_write_page_reg(phydev, 5, LAN8814_QSGMII_PCS1G_ANEG_CONFIG, val);
+	lanphy_modify_page_reg(phydev, 4, LAN8814_QSGMII_PCS1G_ANEG_CONFIG,
+			       LAN8814_QSGMII_PCS1G_ANEG_CONFIG_ANEG_ENA,
+			       0);
 
 	/* MDI-X setting for swap A,B transmit */
-	val = lanphy_read_page_reg(phydev, 2, LAN8814_ALIGN_SWAP);
-	val &= ~LAN8814_ALIGN_TX_A_B_SWAP_MASK;
-	val |= LAN8814_ALIGN_TX_A_B_SWAP;
-	lanphy_write_page_reg(phydev, 2, LAN8814_ALIGN_SWAP, val);
+	lanphy_modify_page_reg(phydev, 2, LAN8814_ALIGN_SWAP,
+			       LAN8814_ALIGN_TX_A_B_SWAP_MASK,
+			       LAN8814_ALIGN_TX_A_B_SWAP);
 
 	if (lan8814->led_mode >= 0)
 		lan8814_setup_led(phydev, lan8814->led_mode);
@@ -4000,29 +4006,24 @@ static int lan8814_release_coma_mode(struct phy_device *phydev)
 
 static void lan8814_clear_2psp_bit(struct phy_device *phydev)
 {
-	u16 val;
-
 	/* It was noticed that when traffic is passing through the PHY and the
 	 * cable is removed then the LED was still one even though there is no
 	 * link
 	 */
-	val = lanphy_read_page_reg(phydev, 2, LAN8814_EEE_STATE);
-	val &= ~LAN8814_EEE_STATE_MASK2P5P;
-	lanphy_write_page_reg(phydev, 2, LAN8814_EEE_STATE, val);
+	lanphy_modify_page_reg(phydev, 2, LAN8814_EEE_STATE,
+			       LAN8814_EEE_STATE_MASK2P5P,
+			       0);
 }
 
 static void lan8814_update_meas_time(struct phy_device *phydev)
 {
-	u16 val;
-
 	/* By setting the measure time to a value of 0xb this will allow cables
 	 * longer than 100m to be used. This configuration can be used
 	 * regardless of the mode of operation of the PHY
 	 */
-	val = lanphy_read_page_reg(phydev, 1, LAN8814_PD_CONTROLS);
-	val &= ~LAN8814_PD_CONTROLS_PD_MEAS_TIME_MASK;
-	val |= LAN8814_PD_CONTROLS_PD_MEAS_TIME_VAL;
-	lanphy_write_page_reg(phydev, 1, LAN8814_PD_CONTROLS, val);
+	lanphy_modify_page_reg(phydev, 1, LAN8814_PD_CONTROLS,
+			       LAN8814_PD_CONTROLS_PD_MEAS_TIME_MASK,
+			       LAN8814_PD_CONTROLS_PD_MEAS_TIME_VAL);
 }
 
 static int lan8814_probe(struct phy_device *phydev)
-- 
2.51.0




  parent reply	other threads:[~2025-11-21 13:27 UTC|newest]

Thread overview: 203+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-21 13:10 [PATCH 6.12 000/185] 6.12.59-rc1 review Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 001/185] drm/mediatek: Add pm_runtime support for GCE power control Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 002/185] drm/i915: Avoid lock inversion when pinning to GGTT on CHV/BXT+VTD Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 003/185] drm/i915: Fix conversion between clock ticks and nanoseconds Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 004/185] smb: client: fix refcount leak in smb2_set_path_attr Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 005/185] iommufd: Make vfio_compats unmap succeed if the range is already empty Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 006/185] drm/amd: Fix suspend failure with secure display TA Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 007/185] drm/xe/guc: Synchronize Dead CT worker with unbind Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 008/185] drm/xe: Move declarations under conditional branch Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 009/185] drm/xe: Do clean shutdown also when using flr Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 010/185] arm64: kprobes: check the return value of set_memory_rox() Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 011/185] compiler_types: Move unused static inline functions warning to W=2 Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 012/185] riscv: Build loader.bin exclusively for Canaan K210 Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 013/185] RISC-V: clear hot-unplugged cores from all task mm_cpumasks to avoid rfence errors Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 014/185] riscv: acpi: avoid errors caused by probing DT devices when ACPI is used Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 015/185] drm/amdgpu: remove two invalid BUG_ON()s Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 016/185] drm/amd/pm: Disable MCLK switching on SI at high pixel clocks Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 017/185] drm/amdgpu: hide VRAM sysfs attributes on GPUs without VRAM Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 018/185] drm/amdgpu: Fix NULL pointer dereference in VRAM logic for APU devices Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 019/185] NFS4: Fix state renewals missing after boot Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 020/185] NFS4: Apply delay_retrans to async operations Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 021/185] HID: quirks: avoid Cooler Master MM712 dongle wakeup bug Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 022/185] HID: nintendo: Wait longer for initial probe Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 023/185] NFS: check if suid/sgid was cleared after a write as needed Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 024/185] HID: quirks: Add ALWAYS_POLL quirk for VRS R295 steering wheel Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 025/185] exfat: fix improper check of dentry.stream.valid_size Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 026/185] smb/server: fix possible memory leak in smb2_read() Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 027/185] smb/server: fix possible refcount leak in smb2_sess_setup() Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 028/185] HID: logitech-hidpp: Add HIDPP_QUIRK_RESET_HI_RES_SCROLL Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 029/185] ASoC: max98090/91: fixed max98091 ALSA widget powering up/down Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 030/185] wifi: ath11k: zero init info->status in wmi_process_mgmt_tx_comp() Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 031/185] erofs: avoid infinite loop due to incomplete zstd-compressed data Greg Kroah-Hartman
2025-11-21 13:10 ` [PATCH 6.12 032/185] selftests: net: local_termination: Wait for interfaces to come up Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 033/185] net: fec: correct rx_bytes statistic for the case SHIFT16 is set Greg Kroah-Hartman
2025-11-21 13:11 ` Greg Kroah-Hartman [this message]
2025-11-21 13:11 ` [PATCH 6.12 035/185] net: phy: micrel: Replace hardcoded pages with defines Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 036/185] net: phy: micrel: lan8814 fix reset of the QSGMII interface Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 037/185] rust: Add -fno-isolate-erroneous-paths-dereference to bindgen_skip_c_flags Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 038/185] NFSD: Skip close replay processing if XDR encoding fails Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 039/185] Bluetooth: MGMT: cancel mesh send timer when hdev removed Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 040/185] Bluetooth: btusb: reorder cleanup in btusb_disconnect to avoid UAF Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 041/185] Bluetooth: 6lowpan: reset link-local header on ipv6 recv path Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 042/185] Bluetooth: 6lowpan: fix BDADDR_LE vs ADDR_LE_DEV address type confusion Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 043/185] Bluetooth: 6lowpan: Dont hold spin lock over sleeping functions Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 044/185] sctp: prevent possible shift-out-of-bounds in sctp_transport_update_rto Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 045/185] net/smc: fix mismatch between CLC header and proposal Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 046/185] net/handshake: Fix memory leak in tls_handshake_accept() Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 047/185] net: ethernet: ti: am65-cpsw-qos: fix IET verify/response timeout Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 048/185] net: ethernet: ti: am65-cpsw-qos: fix IET verify retry mechanism Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 049/185] tipc: Fix use-after-free in tipc_mon_reinit_self() Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 050/185] net: mdio: fix resource leak in mdiobus_register_device() Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 051/185] wifi: mac80211: skip rate verification for not captured PSDUs Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 052/185] af_unix: Initialise scc_index in unix_add_edge() Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 053/185] net_sched: act_connmark: use RCU in tcf_connmark_dump() Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 054/185] net: sched: act_connmark: initialize struct tc_ife to fix kernel leak Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 055/185] net: sched: act_ife: initialize struct tc_ife to fix KMSAN kernel-infoleak Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 056/185] net/mlx5e: Fix maxrate wraparound in threshold between units Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 057/185] net/mlx5e: Fix wraparound in rate limiting for values above 255 Gbps Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 058/185] net/mlx5e: Fix potentially misleading debug message Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 059/185] net_sched: limit try_bulk_dequeue_skb() batches Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 060/185] virtio-net: fix incorrect flags recording in big mode Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 061/185] hsr: Fix supervision frame sending on HSRv0 Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 062/185] ACPI: CPPC: Detect preferred core availability on online CPUs Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 063/185] ACPI: CPPC: Check _CPC validity for only the " Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 064/185] ACPI: CPPC: Perform fast check switch only for " Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 065/185] ACPI: CPPC: Limit perf ctrs in PCC check only to " Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 066/185] Bluetooth: L2CAP: export l2cap_chan_hold for modules Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 067/185] acpi,srat: Fix incorrect device handle check for Generic Initiator Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 068/185] regulator: fixed: fix GPIO descriptor leak on register failure Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 069/185] ASoC: cs4271: Fix regulator leak on probe failure Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 070/185] ASoC: codecs: va-macro: fix resource leak in probe error path Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 071/185] drm/vmwgfx: Validate command header size against SVGA_CMD_MAX_DATASIZE Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 072/185] ASoC: tas2781: fix getting the wrong device number Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 073/185] pnfs: Fix TLS logic in _nfs4_pnfs_v4_ds_connect() Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 074/185] pnfs: Set transport security policy to RPC_XPRTSEC_NONE unless using TLS Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 075/185] simplify nfs_atomic_open_v23() Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 076/185] NFSv2/v3: Fix error handling in nfs_atomic_open_v23() Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 077/185] NFS: sysfs: fix leak when nfs_client kobject add fails Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 078/185] NFSv4: Fix an incorrect parameter when calling nfs4_call_sync() Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 079/185] NFS: Fix LTP test failures when timestamps are delegated Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 080/185] ALSA: usb-audio: Fix NULL pointer dereference in snd_usb_mixer_controls_badd Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 081/185] acpi/hmat: Fix lockdep warning for hmem_register_resource() Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 082/185] bpf: Add bpf_prog_run_data_pointers() Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 083/185] bpf: account for current allocated stack depth in widen_imprecise_scalars() Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 084/185] irqchip/riscv-intc: Add missing free() callback in riscv_intc_domain_ops Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 085/185] wifi: ath11k: Clear affinity hint before calling ath11k_pcic_free_irq() in error path Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 086/185] proc: fix the issue of proc_mem_open returning NULL Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 087/185] ext4: introduce ITAIL helper Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 088/185] lib/crypto: arm/curve25519: Disable on CPU_BIG_ENDIAN Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 089/185] ext4: fix out-of-bound read in ext4_xattr_inode_dec_ref_all() Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 090/185] Bluetooth: MGMT: Fix possible UAFs Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 091/185] f2fs: fix to avoid overflow while left shift operation Greg Kroah-Hartman
2025-11-21 13:11 ` [PATCH 6.12 092/185] hostfs: Fix only passing host root in boot stage with new mount Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 093/185] mtd: onenand: Pass correct pointer to IRQ handler Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 094/185] virtio-fs: fix incorrect check for fsvq->kobj Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 095/185] fs/namespace: correctly handle errors returned by grab_requested_mnt_ns Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 096/185] sched_ext: Fix unsafe locking in the scx_dump_state() Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 097/185] Revert "netfilter: nf_tables: Reintroduce shortened deletion notifications" Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 098/185] netfilter: nf_tables: reject duplicate device on updates Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 099/185] arm64: dts: rockchip: Set correct pinctrl for I2S1 8ch TX on odroid-m1 Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 100/185] arm64: dts: rockchip: Make RK3588 GPU OPP table naming less generic Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 101/185] ARM: dts: imx51-zii-rdu1: Fix audmux node names Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 102/185] HID: hid-ntrig: Prevent memory leak in ntrig_report_version() Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 103/185] ARM: dts: BCM53573: Fix address of Luxul XAP-1440s Ethernet PHY Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 104/185] HID: playstation: Fix memory leak in dualshock4_get_calibration_data() Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 105/185] HID: uclogic: Fix potential memory leak in error path Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 106/185] net: dsa: sja1105: fix kasan out-of-bounds warning in sja1105_table_delete_entry() Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 107/185] LoongArch: KVM: Restore guest PMU if it is enabled Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 108/185] LoongArch: KVM: Add delay until timer interrupt injected Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 109/185] KVM: SVM: Mark VMCB_LBR dirty when MSR_IA32_DEBUGCTLMSR is updated Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 110/185] nfsd: fix refcount leak in nfsd_set_fh_dentry() Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 111/185] nfsd: add missing FATTR4_WORD2_CLONE_BLKSIZE from supported attributes Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 112/185] NFSD: free copynotify stateid in nfs4_free_ol_stateid() Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 113/185] gcov: add support for GCC 15 Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 114/185] ksmbd: close accepted socket when per-IP limit rejects connection Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 115/185] ksm: use range-walk function to jump over holes in scan_get_next_rmap_item Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 116/185] strparser: Fix signed/unsigned mismatch bug Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 117/185] dma-mapping: benchmark: Restore padding to ensure uABI remained consistent Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 118/185] LoongArch: Use correct accessor to read FWPC/MWPC Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 119/185] LoongArch: Let {pte,pmd}_modify() record the status of _PAGE_DIRTY Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 120/185] ipv4: route: Prevent rt_bind_exception() from rebinding stale fnhe Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 121/185] nilfs2: avoid having an active sc_timer before freeing sci Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 122/185] selftests/tracing: Run sample events to clear page cache events Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 123/185] wifi: mac80211: reject address change while connecting Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 124/185] fs/proc: fix uaf in proc_readdir_de() Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 125/185] mm/mm_init: fix hash table order logging in alloc_large_system_hash() Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 126/185] mm/shmem: fix THP allocation and fallback loop Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 127/185] mmc: sdhci-of-dwcmshc: Change DLL_STRBIN_TAPNUM_DEFAULT to 0x4 Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 128/185] mmc: dw_mmc-rockchip: Fix wrong internal phase calculate Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 129/185] ALSA: usb-audio: Fix potential overflow of PCM transfer buffer Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 130/185] cifs: client: fix memory leak in smb3_fs_context_parse_param Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 131/185] codetag: debug: handle existing CODETAG_EMPTY in mark_objexts_empty for slabobj_ext Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 132/185] crash: fix crashkernel resource shrink Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 133/185] crypto: hisilicon/qm - Fix device reference leak in qm_get_qos_value Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 134/185] smb: client: fix cifs_pick_channel when channel needs reconnect Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 135/185] spi: Try to get ACPI GPIO IRQ earlier Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 136/185] x86/microcode/AMD: Add Zen5 model 0x44, stepping 0x1 minrev Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 137/185] selftests/user_events: fix type cast for write_index packed member in perf_test Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 138/185] ftrace: Fix BPF fexit with livepatch Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 139/185] LoongArch: Use physical addresses for CSR_MERRENTRY/CSR_TLBRENTRY Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 140/185] EDAC/altera: Handle OCRAM ECC enable after warm reset Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 141/185] EDAC/altera: Use INTTEST register for Ethernet and USB SBE injection Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 142/185] PM: hibernate: Emit an error when image writing fails Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 143/185] PM: hibernate: Use atomic64_t for compressed_size variable Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 144/185] btrfs: zoned: fix conventional zone capacity calculation Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 145/185] btrfs: scrub: put bio after errors in scrub_raid56_parity_stripe() Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 146/185] btrfs: do not update last_log_commit when logging inode due to a new name Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 147/185] btrfs: release root after error in data_reloc_print_warning_inode() Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 148/185] drm/amdkfd: relax checks for over allocation of save area Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 149/185] drm/amdgpu: disable peer-to-peer access for DCC-enabled GC12 VRAM surfaces Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 150/185] pmdomain: arm: scmi: Fix genpd leak on provider registration failure Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 151/185] pmdomain: imx: Fix reference count leak in imx_gpc_remove Greg Kroah-Hartman
2025-11-21 13:12 ` [PATCH 6.12 152/185] pmdomain: samsung: plug potential memleak during probe Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 153/185] selftests: mptcp: connect: fix fallback note due to OoO Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 154/185] selftests: mptcp: join: rm: set backup flag Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 155/185] selftests: mptcp: join: endpoints: longer transfer Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 156/185] selftests: mptcp: connect: trunc: read all recv data Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 157/185] selftests: mptcp: join: userspace: longer transfer Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 158/185] selftests: mptcp: join: properly kill background tasks Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 159/185] mptcp: fix MSG_PEEK stream corruption Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 160/185] wifi: cfg80211: add an hrtimer based delayed work item Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 161/185] wifi: mac80211: use wiphy_hrtimer_work for csa.switch_work Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 162/185] mm, percpu: do not consider sleepable allocations atomic Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 163/185] KVM: guest_memfd: Pass index, not gfn, to __kvm_gmem_get_pfn() Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 164/185] KVM: guest_memfd: Remove RCU-protected attribute from slot->gmem.file Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 165/185] KVM: guest_memfd: Remove bindings on memslot deletion when gmem is dying Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 166/185] net: netpoll: Individualize the skb pool Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 167/185] net: netpoll: flush skb pool during cleanup Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 168/185] net: netpoll: fix incorrect refcount handling causing incorrect cleanup Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 169/185] KVM: VMX: Split out guts of EPT violation to common/exposed function Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 170/185] KVM: VMX: Fix check for valid GVA on an EPT violation Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 171/185] ALSA: hda: Fix missing pointer check in hda_component_manager_init function Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 172/185] io_uring/napi: fix io_napi_entry RCU accesses Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 173/185] rust: kbuild: treat `build_error` and `rustdoc` as kernel objects Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 174/185] rust: kbuild: workaround `rustdoc` doctests modifier bug Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 175/185] uio_hv_generic: Set event for all channels on the device Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 176/185] mm/memory: do not populate page table entries beyond i_size Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 177/185] mm/truncate: unmap large folio on split failure Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 178/185] mm/secretmem: fix use-after-free race in fault handler Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 179/185] mm/huge_memory: do not change split_huge_page*() target order silently Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 180/185] mm/huge_memory: preserve PG_has_hwpoisoned if a folio is split to >0 order Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 181/185] isdn: mISDN: hfcsusb: fix memory leak in hfcsusb_probe() Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 182/185] net: phy: micrel: Fix lan8814_config_init Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 183/185] net: netpoll: ensure skb_pool list is always initialized Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 184/185] proc: proc_maps_open allow proc_mem_open to return NULL Greg Kroah-Hartman
2025-11-21 13:13 ` [PATCH 6.12 185/185] Bluetooth: MGMT: fix crash in set_mesh_sync and set_mesh_complete Greg Kroah-Hartman
2025-11-21 13:46 ` [PATCH 6.12 000/185] 6.12.59-rc1 review Pavel Machek
2025-11-21 16:28 ` Jon Hunter
2025-11-21 17:05 ` Brett Mastbergen
2025-11-21 18:22 ` Florian Fainelli
2025-11-22  4:46 ` Naresh Kamboju
2025-11-22  6:47   ` Greg Kroah-Hartman
2025-11-22  5:53 ` Brett A C Sheffield
2025-11-22  8:51 ` Pavel Machek
2025-11-22  9:05 ` Peter Schneider
2025-11-22 10:54 ` Jeffrin Thalakkottoor
2025-11-22 11:09 ` Ron Economos
2025-11-22 23:37 ` Miguel Ojeda
2025-11-23 11:53 ` Mark Brown
2025-11-25 13:20 ` Pavel Machek
2025-11-25 13:54   ` Takashi Iwai
2025-11-26 10:01     ` Pavel Machek
2025-11-26 10:06       ` Takashi Iwai

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=20251121130145.107864982@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=horatiu.vultur@microchip.com \
    --cc=pabeni@redhat.com \
    --cc=patches@lists.linux.dev \
    --cc=rmk+kernel@armlinux.org.uk \
    --cc=sashal@kernel.org \
    --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