public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Pavel Skripkin <paskripkin@gmail.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.19 261/365] staging: r8188eu: add error handling of rtw_read8
Date: Tue, 23 Aug 2022 10:02:42 +0200	[thread overview]
Message-ID: <20220823080129.107624496@linuxfoundation.org> (raw)
In-Reply-To: <20220823080118.128342613@linuxfoundation.org>

From: Pavel Skripkin <paskripkin@gmail.com>

[ Upstream commit 857fe9e5efc09833fe1110e99d8baba954a86abb ]

rtw_read8() reads data from device via USB API which may fail. In case
of any failure previous code returned stack data to callers, which is
wrong.

Fix it by changing rtw_read8() prototype and prevent caller from
touching random stack data

Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
Link: https://lore.kernel.org/r/c8f8ef4f14db3ba2478a87d5be6eb768a093dfaf.1654629778.git.paskripkin@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/staging/r8188eu/core/rtw_efuse.c      |  13 +-
 drivers/staging/r8188eu/core/rtw_fw.c         |  56 ++++--
 drivers/staging/r8188eu/core/rtw_led.c        |  16 +-
 drivers/staging/r8188eu/core/rtw_mlme_ext.c   |  48 ++++-
 drivers/staging/r8188eu/core/rtw_wlan_util.c  |  20 +-
 drivers/staging/r8188eu/hal/HalPhyRf_8188e.c  |  18 +-
 drivers/staging/r8188eu/hal/HalPwrSeqCmd.c    |   9 +-
 drivers/staging/r8188eu/hal/hal_com.c         |  27 ++-
 drivers/staging/r8188eu/hal/rtl8188e_cmd.c    |  37 +++-
 drivers/staging/r8188eu/hal/rtl8188e_dm.c     |   6 +-
 .../staging/r8188eu/hal/rtl8188e_hal_init.c   |  69 +++++--
 drivers/staging/r8188eu/hal/rtl8188e_phycfg.c |  10 +-
 drivers/staging/r8188eu/hal/usb_halinit.c     | 171 +++++++++++++++---
 drivers/staging/r8188eu/hal/usb_ops_linux.c   |   7 +-
 drivers/staging/r8188eu/include/rtw_io.h      |   2 +-
 drivers/staging/r8188eu/os_dep/ioctl_linux.c  |  11 +-
 16 files changed, 418 insertions(+), 102 deletions(-)

diff --git a/drivers/staging/r8188eu/core/rtw_efuse.c b/drivers/staging/r8188eu/core/rtw_efuse.c
index 0e0e60638880..a2691c7f96f6 100644
--- a/drivers/staging/r8188eu/core/rtw_efuse.c
+++ b/drivers/staging/r8188eu/core/rtw_efuse.c
@@ -28,14 +28,21 @@ ReadEFuseByte(
 	u32 value32;
 	u8 readbyte;
 	u16 retry;
+	int res;
 
 	/* Write Address */
 	rtw_write8(Adapter, EFUSE_CTRL + 1, (_offset & 0xff));
-	readbyte = rtw_read8(Adapter, EFUSE_CTRL + 2);
+	res = rtw_read8(Adapter, EFUSE_CTRL + 2, &readbyte);
+	if (res)
+		return;
+
 	rtw_write8(Adapter, EFUSE_CTRL + 2, ((_offset >> 8) & 0x03) | (readbyte & 0xfc));
 
 	/* Write bit 32 0 */
-	readbyte = rtw_read8(Adapter, EFUSE_CTRL + 3);
+	res = rtw_read8(Adapter, EFUSE_CTRL + 3, &readbyte);
+	if (res)
+		return;
+
 	rtw_write8(Adapter, EFUSE_CTRL + 3, (readbyte & 0x7f));
 
 	/* Check bit 32 read-ready */
@@ -54,6 +61,8 @@ ReadEFuseByte(
 	value32 = rtw_read32(Adapter, EFUSE_CTRL);
 
 	*pbuf = (u8)(value32 & 0xff);
+
+	/* FIXME: return an error to caller */
 }
 
 /*-----------------------------------------------------------------------------
diff --git a/drivers/staging/r8188eu/core/rtw_fw.c b/drivers/staging/r8188eu/core/rtw_fw.c
index 0451e5177644..7cf8525595c6 100644
--- a/drivers/staging/r8188eu/core/rtw_fw.c
+++ b/drivers/staging/r8188eu/core/rtw_fw.c
@@ -44,18 +44,28 @@ static_assert(sizeof(struct rt_firmware_hdr) == 32);
 static void fw_download_enable(struct adapter *padapter, bool enable)
 {
 	u8 tmp;
+	int res;
 
 	if (enable) {
 		/*  MCU firmware download enable. */
-		tmp = rtw_read8(padapter, REG_MCUFWDL);
+		res = rtw_read8(padapter, REG_MCUFWDL, &tmp);
+		if (res)
+			return;
+
 		rtw_write8(padapter, REG_MCUFWDL, tmp | 0x01);
 
 		/*  8051 reset */
-		tmp = rtw_read8(padapter, REG_MCUFWDL + 2);
+		res = rtw_read8(padapter, REG_MCUFWDL + 2, &tmp);
+		if (res)
+			return;
+
 		rtw_write8(padapter, REG_MCUFWDL + 2, tmp & 0xf7);
 	} else {
 		/*  MCU firmware download disable. */
-		tmp = rtw_read8(padapter, REG_MCUFWDL);
+		res = rtw_read8(padapter, REG_MCUFWDL, &tmp);
+		if (res)
+			return;
+
 		rtw_write8(padapter, REG_MCUFWDL, tmp & 0xfe);
 
 		/*  Reserved for fw extension. */
@@ -125,8 +135,13 @@ static int page_write(struct adapter *padapter, u32 page, u8 *buffer, u32 size)
 {
 	u8 value8;
 	u8 u8Page = (u8)(page & 0x07);
+	int res;
+
+	res = rtw_read8(padapter, REG_MCUFWDL + 2, &value8);
+	if (res)
+		return _FAIL;
 
-	value8 = (rtw_read8(padapter, REG_MCUFWDL + 2) & 0xF8) | u8Page;
+	value8 = (value8 & 0xF8) | u8Page;
 	rtw_write8(padapter, REG_MCUFWDL + 2, value8);
 
 	return block_write(padapter, buffer, size);
@@ -165,8 +180,12 @@ static int write_fw(struct adapter *padapter, u8 *buffer, u32 size)
 void rtw_reset_8051(struct adapter *padapter)
 {
 	u8 val8;
+	int res;
+
+	res = rtw_read8(padapter, REG_SYS_FUNC_EN + 1, &val8);
+	if (res)
+		return;
 
-	val8 = rtw_read8(padapter, REG_SYS_FUNC_EN + 1);
 	rtw_write8(padapter, REG_SYS_FUNC_EN + 1, val8 & (~BIT(2)));
 	rtw_write8(padapter, REG_SYS_FUNC_EN + 1, val8 | (BIT(2)));
 }
@@ -239,7 +258,7 @@ static int load_firmware(struct rt_firmware *rtfw, struct device *device)
 int rtl8188e_firmware_download(struct adapter *padapter)
 {
 	int ret = _SUCCESS;
-	u8 write_fw_retry = 0;
+	u8 reg;
 	unsigned long fwdl_timeout;
 	struct dvobj_priv *dvobj = adapter_to_dvobj(padapter);
 	struct device *device = dvobj_to_dev(dvobj);
@@ -269,23 +288,34 @@ int rtl8188e_firmware_download(struct adapter *padapter)
 
 	/*  Suggested by Filen. If 8051 is running in RAM code, driver should inform Fw to reset by itself, */
 	/*  or it will cause download Fw fail. 2010.02.01. by tynli. */
-	if (rtw_read8(padapter, REG_MCUFWDL) & RAM_DL_SEL) { /* 8051 RAM code */
+	ret = rtw_read8(padapter, REG_MCUFWDL, &reg);
+	if (ret) {
+		ret = _FAIL;
+		goto exit;
+	}
+
+	if (reg & RAM_DL_SEL) { /* 8051 RAM code */
 		rtw_write8(padapter, REG_MCUFWDL, 0x00);
 		rtw_reset_8051(padapter);
 	}
 
 	fw_download_enable(padapter, true);
 	fwdl_timeout = jiffies + msecs_to_jiffies(500);
-	while (1) {
+	do {
 		/* reset the FWDL chksum */
-		rtw_write8(padapter, REG_MCUFWDL, rtw_read8(padapter, REG_MCUFWDL) | FWDL_CHKSUM_RPT);
+		ret = rtw_read8(padapter, REG_MCUFWDL, &reg);
+		if (ret) {
+			ret = _FAIL;
+			continue;
+		}
 
-		ret = write_fw(padapter, fw_data, fw_size);
+		rtw_write8(padapter, REG_MCUFWDL, reg | FWDL_CHKSUM_RPT);
 
-		if (ret == _SUCCESS ||
-		    (time_after(jiffies, fwdl_timeout) && write_fw_retry++ >= 3))
+		ret = write_fw(padapter, fw_data, fw_size);
+		if (ret == _SUCCESS)
 			break;
-	}
+	} while (!time_after(jiffies, fwdl_timeout));
+
 	fw_download_enable(padapter, false);
 	if (ret != _SUCCESS)
 		goto exit;
diff --git a/drivers/staging/r8188eu/core/rtw_led.c b/drivers/staging/r8188eu/core/rtw_led.c
index 2f3000428af7..25989acf5259 100644
--- a/drivers/staging/r8188eu/core/rtw_led.c
+++ b/drivers/staging/r8188eu/core/rtw_led.c
@@ -35,11 +35,15 @@ static void ResetLedStatus(struct LED_871x *pLed)
 static void SwLedOn(struct adapter *padapter, struct LED_871x *pLed)
 {
 	u8	LedCfg;
+	int res;
 
 	if (padapter->bSurpriseRemoved || padapter->bDriverStopped)
 		return;
 
-	LedCfg = rtw_read8(padapter, REG_LEDCFG2);
+	res = rtw_read8(padapter, REG_LEDCFG2, &LedCfg);
+	if (res)
+		return;
+
 	rtw_write8(padapter, REG_LEDCFG2, (LedCfg & 0xf0) | BIT(5) | BIT(6)); /*  SW control led0 on. */
 	pLed->bLedOn = true;
 }
@@ -47,15 +51,21 @@ static void SwLedOn(struct adapter *padapter, struct LED_871x *pLed)
 static void SwLedOff(struct adapter *padapter, struct LED_871x *pLed)
 {
 	u8	LedCfg;
+	int res;
 
 	if (padapter->bSurpriseRemoved || padapter->bDriverStopped)
 		goto exit;
 
-	LedCfg = rtw_read8(padapter, REG_LEDCFG2);/* 0x4E */
+	res = rtw_read8(padapter, REG_LEDCFG2, &LedCfg);/* 0x4E */
+	if (res)
+		goto exit;
 
 	LedCfg &= 0x90; /*  Set to software control. */
 	rtw_write8(padapter, REG_LEDCFG2, (LedCfg | BIT(3)));
-	LedCfg = rtw_read8(padapter, REG_MAC_PINMUX_CFG);
+	res = rtw_read8(padapter, REG_MAC_PINMUX_CFG, &LedCfg);
+	if (res)
+		goto exit;
+
 	LedCfg &= 0xFE;
 	rtw_write8(padapter, REG_MAC_PINMUX_CFG, LedCfg);
 exit:
diff --git a/drivers/staging/r8188eu/core/rtw_mlme_ext.c b/drivers/staging/r8188eu/core/rtw_mlme_ext.c
index faf23fc950c5..fdb5a8cb9d69 100644
--- a/drivers/staging/r8188eu/core/rtw_mlme_ext.c
+++ b/drivers/staging/r8188eu/core/rtw_mlme_ext.c
@@ -5667,14 +5667,28 @@ unsigned int send_beacon(struct adapter *padapter)
 
 bool get_beacon_valid_bit(struct adapter *adapter)
 {
+	int res;
+	u8 reg;
+
+	res = rtw_read8(adapter, REG_TDECTRL + 2, &reg);
+	if (res)
+		return false;
+
 	/* BIT(16) of REG_TDECTRL = BIT(0) of REG_TDECTRL+2 */
-	return BIT(0) & rtw_read8(adapter, REG_TDECTRL + 2);
+	return BIT(0) & reg;
 }
 
 void clear_beacon_valid_bit(struct adapter *adapter)
 {
+	int res;
+	u8 reg;
+
+	res = rtw_read8(adapter, REG_TDECTRL + 2, &reg);
+	if (res)
+		return;
+
 	/* BIT(16) of REG_TDECTRL = BIT(0) of REG_TDECTRL+2, write 1 to clear, Clear by sw */
-	rtw_write8(adapter, REG_TDECTRL + 2, rtw_read8(adapter, REG_TDECTRL + 2) | BIT(0));
+	rtw_write8(adapter, REG_TDECTRL + 2, reg | BIT(0));
 }
 
 /****************************************************************************
@@ -6002,7 +6016,8 @@ static void rtw_set_bssid(struct adapter *adapter, u8 *bssid)
 static void mlme_join(struct adapter *adapter, int type)
 {
 	struct mlme_priv *mlmepriv = &adapter->mlmepriv;
-	u8 retry_limit = 0x30;
+	u8 retry_limit = 0x30, reg;
+	int res;
 
 	switch (type) {
 	case 0:
@@ -6027,7 +6042,11 @@ static void mlme_join(struct adapter *adapter, int type)
 	case 2:
 		/* sta add event call back */
 		/* enable update TSF */
-		rtw_write8(adapter, REG_BCN_CTRL, rtw_read8(adapter, REG_BCN_CTRL) & (~BIT(4)));
+		res = rtw_read8(adapter, REG_BCN_CTRL, &reg);
+		if (res)
+			return;
+
+		rtw_write8(adapter, REG_BCN_CTRL, reg & (~BIT(4)));
 
 		if (check_fwstate(mlmepriv, WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE))
 			retry_limit = 0x7;
@@ -6748,6 +6767,9 @@ void mlmeext_sta_add_event_callback(struct adapter *padapter, struct sta_info *p
 
 static void mlme_disconnect(struct adapter *adapter)
 {
+	int res;
+	u8 reg;
+
 	/* Set RCR to not to receive data frame when NO LINK state */
 	/* reject all data frames */
 	rtw_write16(adapter, REG_RXFLTMAP2, 0x00);
@@ -6756,7 +6778,12 @@ static void mlme_disconnect(struct adapter *adapter)
 	rtw_write8(adapter, REG_DUAL_TSF_RST, (BIT(0) | BIT(1)));
 
 	/* disable update TSF */
-	rtw_write8(adapter, REG_BCN_CTRL, rtw_read8(adapter, REG_BCN_CTRL) | BIT(4));
+
+	res = rtw_read8(adapter, REG_BCN_CTRL, &reg);
+	if (res)
+		return;
+
+	rtw_write8(adapter, REG_BCN_CTRL, reg | BIT(4));
 }
 
 void mlmeext_sta_del_event_callback(struct adapter *padapter)
@@ -6810,14 +6837,15 @@ static u8 chk_ap_is_alive(struct sta_info *psta)
 	return ret;
 }
 
-static void rtl8188e_sreset_linked_status_check(struct adapter *padapter)
+static int rtl8188e_sreset_linked_status_check(struct adapter *padapter)
 {
 	u32 rx_dma_status =  rtw_read32(padapter, REG_RXDMA_STATUS);
+	u8 reg;
 
 	if (rx_dma_status != 0x00)
 		rtw_write32(padapter, REG_RXDMA_STATUS, rx_dma_status);
 
-	rtw_read8(padapter, REG_FMETHR);
+	return rtw_read8(padapter, REG_FMETHR, &reg);
 }
 
 void linked_status_chk(struct adapter *padapter)
@@ -7219,6 +7247,7 @@ u8 disconnect_hdl(struct adapter *padapter, unsigned char *pbuf)
 	struct mlme_ext_info	*pmlmeinfo = &pmlmeext->mlmext_info;
 	struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)(&pmlmeinfo->network);
 	u8 val8;
+	int res;
 
 	if (is_client_associated_to_ap(padapter))
 		issue_deauth_ex(padapter, pnetwork->MacAddress, WLAN_REASON_DEAUTH_LEAVING, param->deauth_timeout_ms / 100, 100);
@@ -7231,7 +7260,10 @@ u8 disconnect_hdl(struct adapter *padapter, unsigned char *pbuf)
 
 	if (((pmlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE) || ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE)) {
 		/* Stop BCN */
-		val8 = rtw_read8(padapter, REG_BCN_CTRL);
+		res = rtw_read8(padapter, REG_BCN_CTRL, &val8);
+		if (res)
+			return H2C_DROPPED;
+
 		rtw_write8(padapter, REG_BCN_CTRL, val8 & (~(EN_BCN_FUNCTION | EN_TXBCN_RPT)));
 	}
 
diff --git a/drivers/staging/r8188eu/core/rtw_wlan_util.c b/drivers/staging/r8188eu/core/rtw_wlan_util.c
index 392a65783f32..9bd059b86d0c 100644
--- a/drivers/staging/r8188eu/core/rtw_wlan_util.c
+++ b/drivers/staging/r8188eu/core/rtw_wlan_util.c
@@ -279,8 +279,13 @@ void Restore_DM_Func_Flag(struct adapter *padapter)
 void Set_MSR(struct adapter *padapter, u8 type)
 {
 	u8 val8;
+	int res;
 
-	val8 = rtw_read8(padapter, MSR) & 0x0c;
+	res = rtw_read8(padapter, MSR, &val8);
+	if (res)
+		return;
+
+	val8 &= 0x0c;
 	val8 |= type;
 	rtw_write8(padapter, MSR, val8);
 }
@@ -505,7 +510,11 @@ int WMM_param_handler(struct adapter *padapter, struct ndis_802_11_var_ie *pIE)
 
 static void set_acm_ctrl(struct adapter *adapter, u8 acm_mask)
 {
-	u8 acmctrl = rtw_read8(adapter, REG_ACMHWCTRL);
+	u8 acmctrl;
+	int res = rtw_read8(adapter, REG_ACMHWCTRL, &acmctrl);
+
+	if (res)
+		return;
 
 	if (acm_mask > 1)
 		acmctrl = acmctrl | 0x1;
@@ -765,6 +774,7 @@ void HT_info_handler(struct adapter *padapter, struct ndis_802_11_var_ie *pIE)
 static void set_min_ampdu_spacing(struct adapter *adapter, u8 spacing)
 {
 	u8 sec_spacing;
+	int res;
 
 	if (spacing <= 7) {
 		switch (adapter->securitypriv.dot11PrivacyAlgrthm) {
@@ -786,8 +796,12 @@ static void set_min_ampdu_spacing(struct adapter *adapter, u8 spacing)
 		if (spacing < sec_spacing)
 			spacing = sec_spacing;
 
+		res = rtw_read8(adapter, REG_AMPDU_MIN_SPACE, &sec_spacing);
+		if (res)
+			return;
+
 		rtw_write8(adapter, REG_AMPDU_MIN_SPACE,
-			   (rtw_read8(adapter, REG_AMPDU_MIN_SPACE) & 0xf8) | spacing);
+			   (sec_spacing & 0xf8) | spacing);
 	}
 }
 
diff --git a/drivers/staging/r8188eu/hal/HalPhyRf_8188e.c b/drivers/staging/r8188eu/hal/HalPhyRf_8188e.c
index b944c8071a3b..a5b7980dfcee 100644
--- a/drivers/staging/r8188eu/hal/HalPhyRf_8188e.c
+++ b/drivers/staging/r8188eu/hal/HalPhyRf_8188e.c
@@ -463,6 +463,7 @@ void _PHY_SaveADDARegisters(struct adapter *adapt, u32 *ADDAReg, u32 *ADDABackup
 	}
 }
 
+/* FIXME: return an error to caller */
 static void _PHY_SaveMACRegisters(
 		struct adapter *adapt,
 		u32 *MACReg,
@@ -470,9 +471,17 @@ static void _PHY_SaveMACRegisters(
 	)
 {
 	u32 i;
+	int res;
 
-	for (i = 0; i < (IQK_MAC_REG_NUM - 1); i++)
-		MACBackup[i] = rtw_read8(adapt, MACReg[i]);
+	for (i = 0; i < (IQK_MAC_REG_NUM - 1); i++) {
+		u8 reg;
+
+		res = rtw_read8(adapt, MACReg[i], &reg);
+		if (res)
+			return;
+
+		MACBackup[i] = reg;
+	}
 
 	MACBackup[i] = rtw_read32(adapt, MACReg[i]);
 }
@@ -739,9 +748,12 @@ static void phy_LCCalibrate_8188E(struct adapter *adapt)
 {
 	u8 tmpreg;
 	u32 RF_Amode = 0, LC_Cal;
+	int res;
 
 	/* Check continuous TX and Packet TX */
-	tmpreg = rtw_read8(adapt, 0xd03);
+	res = rtw_read8(adapt, 0xd03, &tmpreg);
+	if (res)
+		return;
 
 	if ((tmpreg & 0x70) != 0)			/* Deal with contisuous TX case */
 		rtw_write8(adapt, 0xd03, tmpreg & 0x8F);	/* disable all continuous TX */
diff --git a/drivers/staging/r8188eu/hal/HalPwrSeqCmd.c b/drivers/staging/r8188eu/hal/HalPwrSeqCmd.c
index 150ea380c39e..4a4563b900b3 100644
--- a/drivers/staging/r8188eu/hal/HalPwrSeqCmd.c
+++ b/drivers/staging/r8188eu/hal/HalPwrSeqCmd.c
@@ -12,6 +12,7 @@ u8 HalPwrSeqCmdParsing(struct adapter *padapter, struct wl_pwr_cfg pwrseqcmd[])
 	u32 offset = 0;
 	u32 poll_count = 0; /*  polling autoload done. */
 	u32 max_poll_count = 5000;
+	int res;
 
 	do {
 		pwrcfgcmd = pwrseqcmd[aryidx];
@@ -21,7 +22,9 @@ u8 HalPwrSeqCmdParsing(struct adapter *padapter, struct wl_pwr_cfg pwrseqcmd[])
 			offset = GET_PWR_CFG_OFFSET(pwrcfgcmd);
 
 			/*  Read the value from system register */
-			value = rtw_read8(padapter, offset);
+			res = rtw_read8(padapter, offset, &value);
+			if (res)
+				return false;
 
 			value &= ~(GET_PWR_CFG_MASK(pwrcfgcmd));
 			value |= (GET_PWR_CFG_VALUE(pwrcfgcmd) & GET_PWR_CFG_MASK(pwrcfgcmd));
@@ -33,7 +36,9 @@ u8 HalPwrSeqCmdParsing(struct adapter *padapter, struct wl_pwr_cfg pwrseqcmd[])
 			poll_bit = false;
 			offset = GET_PWR_CFG_OFFSET(pwrcfgcmd);
 			do {
-				value = rtw_read8(padapter, offset);
+				res = rtw_read8(padapter, offset, &value);
+				if (res)
+					return false;
 
 				value &= GET_PWR_CFG_MASK(pwrcfgcmd);
 				if (value == (GET_PWR_CFG_VALUE(pwrcfgcmd) & GET_PWR_CFG_MASK(pwrcfgcmd)))
diff --git a/drivers/staging/r8188eu/hal/hal_com.c b/drivers/staging/r8188eu/hal/hal_com.c
index 910cc07f656c..e9a32dd84a8e 100644
--- a/drivers/staging/r8188eu/hal/hal_com.c
+++ b/drivers/staging/r8188eu/hal/hal_com.c
@@ -303,7 +303,9 @@ s32 c2h_evt_read(struct adapter *adapter, u8 *buf)
 	if (!buf)
 		goto exit;
 
-	trigger = rtw_read8(adapter, REG_C2HEVT_CLEAR);
+	ret = rtw_read8(adapter, REG_C2HEVT_CLEAR, &trigger);
+	if (ret)
+		return _FAIL;
 
 	if (trigger == C2H_EVT_HOST_CLOSE)
 		goto exit; /* Not ready */
@@ -314,13 +316,26 @@ s32 c2h_evt_read(struct adapter *adapter, u8 *buf)
 
 	memset(c2h_evt, 0, 16);
 
-	*buf = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL);
-	*(buf + 1) = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL + 1);
+	ret = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL, buf);
+	if (ret) {
+		ret = _FAIL;
+		goto clear_evt;
+	}
 
+	ret = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL + 1, buf + 1);
+	if (ret) {
+		ret = _FAIL;
+		goto clear_evt;
+	}
 	/* Read the content */
-	for (i = 0; i < c2h_evt->plen; i++)
-		c2h_evt->payload[i] = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL +
-						sizeof(*c2h_evt) + i);
+	for (i = 0; i < c2h_evt->plen; i++) {
+		ret = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL +
+						sizeof(*c2h_evt) + i, c2h_evt->payload + i);
+		if (ret) {
+			ret = _FAIL;
+			goto clear_evt;
+		}
+	}
 
 	ret = _SUCCESS;
 
diff --git a/drivers/staging/r8188eu/hal/rtl8188e_cmd.c b/drivers/staging/r8188eu/hal/rtl8188e_cmd.c
index 475650dc7301..b01ee1695fee 100644
--- a/drivers/staging/r8188eu/hal/rtl8188e_cmd.c
+++ b/drivers/staging/r8188eu/hal/rtl8188e_cmd.c
@@ -18,13 +18,18 @@
 
 static u8 _is_fw_read_cmd_down(struct adapter *adapt, u8 msgbox_num)
 {
-	u8 read_down = false;
+	u8 read_down = false, reg;
 	int	retry_cnts = 100;
+	int res;
 
 	u8 valid;
 
 	do {
-		valid = rtw_read8(adapt, REG_HMETFR) & BIT(msgbox_num);
+		res = rtw_read8(adapt, REG_HMETFR, &reg);
+		if (res)
+			continue;
+
+		valid = reg & BIT(msgbox_num);
 		if (0 == valid)
 			read_down = true;
 	} while ((!read_down) && (retry_cnts--));
@@ -533,6 +538,8 @@ void rtl8188e_set_FwJoinBssReport_cmd(struct adapter *adapt, u8 mstatus)
 	bool	bcn_valid = false;
 	u8 DLBcnCount = 0;
 	u32 poll = 0;
+	u8 reg;
+	int res;
 
 	if (mstatus == 1) {
 		/*  We should set AID, correct TSF, HW seq enable before set JoinBssReport to Fw in 88/92C. */
@@ -547,8 +554,17 @@ void rtl8188e_set_FwJoinBssReport_cmd(struct adapter *adapt, u8 mstatus)
 		/*  Disable Hw protection for a time which revserd for Hw sending beacon. */
 		/*  Fix download reserved page packet fail that access collision with the protection time. */
 		/*  2010.05.11. Added by tynli. */
-		rtw_write8(adapt, REG_BCN_CTRL, rtw_read8(adapt, REG_BCN_CTRL) & (~BIT(3)));
-		rtw_write8(adapt, REG_BCN_CTRL, rtw_read8(adapt, REG_BCN_CTRL) | BIT(4));
+		res = rtw_read8(adapt, REG_BCN_CTRL, &reg);
+		if (res)
+			return;
+
+		rtw_write8(adapt, REG_BCN_CTRL, reg & (~BIT(3)));
+
+		res = rtw_read8(adapt, REG_BCN_CTRL, &reg);
+		if (res)
+			return;
+
+		rtw_write8(adapt, REG_BCN_CTRL, reg | BIT(4));
 
 		if (haldata->RegFwHwTxQCtrl & BIT(6))
 			bSendBeacon = true;
@@ -581,8 +597,17 @@ void rtl8188e_set_FwJoinBssReport_cmd(struct adapter *adapt, u8 mstatus)
 		/*  */
 
 		/*  Enable Bcn */
-		rtw_write8(adapt, REG_BCN_CTRL, rtw_read8(adapt, REG_BCN_CTRL) | BIT(3));
-		rtw_write8(adapt, REG_BCN_CTRL, rtw_read8(adapt, REG_BCN_CTRL) & (~BIT(4)));
+		res = rtw_read8(adapt, REG_BCN_CTRL, &reg);
+		if (res)
+			return;
+
+		rtw_write8(adapt, REG_BCN_CTRL, reg | BIT(3));
+
+		res = rtw_read8(adapt, REG_BCN_CTRL, &reg);
+		if (res)
+			return;
+
+		rtw_write8(adapt, REG_BCN_CTRL, reg & (~BIT(4)));
 
 		/*  To make sure that if there exists an adapter which would like to send beacon. */
 		/*  If exists, the origianl value of 0x422[6] will be 1, we should check this to */
diff --git a/drivers/staging/r8188eu/hal/rtl8188e_dm.c b/drivers/staging/r8188eu/hal/rtl8188e_dm.c
index 6d28e3dc0d26..0399872c4546 100644
--- a/drivers/staging/r8188eu/hal/rtl8188e_dm.c
+++ b/drivers/staging/r8188eu/hal/rtl8188e_dm.c
@@ -12,8 +12,12 @@
 static void dm_InitGPIOSetting(struct adapter *Adapter)
 {
 	u8	tmp1byte;
+	int res;
+
+	res = rtw_read8(Adapter, REG_GPIO_MUXCFG, &tmp1byte);
+	if (res)
+		return;
 
-	tmp1byte = rtw_read8(Adapter, REG_GPIO_MUXCFG);
 	tmp1byte &= (GPIOSEL_GPIO | ~GPIOSEL_ENBT);
 
 	rtw_write8(Adapter, REG_GPIO_MUXCFG, tmp1byte);
diff --git a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c
index e17375a74f17..e67ecbd1ba79 100644
--- a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c
+++ b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c
@@ -13,10 +13,14 @@
 static void iol_mode_enable(struct adapter *padapter, u8 enable)
 {
 	u8 reg_0xf0 = 0;
+	int res;
 
 	if (enable) {
 		/* Enable initial offload */
-		reg_0xf0 = rtw_read8(padapter, REG_SYS_CFG);
+		res = rtw_read8(padapter, REG_SYS_CFG, &reg_0xf0);
+		if (res)
+			return;
+
 		rtw_write8(padapter, REG_SYS_CFG, reg_0xf0 | SW_OFFLOAD_EN);
 
 		if (!padapter->bFWReady)
@@ -24,7 +28,10 @@ static void iol_mode_enable(struct adapter *padapter, u8 enable)
 
 	} else {
 		/* disable initial offload */
-		reg_0xf0 = rtw_read8(padapter, REG_SYS_CFG);
+		res = rtw_read8(padapter, REG_SYS_CFG, &reg_0xf0);
+		if (res)
+			return;
+
 		rtw_write8(padapter, REG_SYS_CFG, reg_0xf0 & ~SW_OFFLOAD_EN);
 	}
 }
@@ -34,17 +41,31 @@ static s32 iol_execute(struct adapter *padapter, u8 control)
 	s32 status = _FAIL;
 	u8 reg_0x88 = 0;
 	unsigned long timeout;
+	int res;
 
 	control = control & 0x0f;
-	reg_0x88 = rtw_read8(padapter, REG_HMEBOX_E0);
+	res = rtw_read8(padapter, REG_HMEBOX_E0, &reg_0x88);
+	if (res)
+		return _FAIL;
+
 	rtw_write8(padapter, REG_HMEBOX_E0,  reg_0x88 | control);
 
 	timeout = jiffies + msecs_to_jiffies(1000);
-	while ((reg_0x88 = rtw_read8(padapter, REG_HMEBOX_E0)) & control &&
-		time_before(jiffies, timeout))
-		;
 
-	reg_0x88 = rtw_read8(padapter, REG_HMEBOX_E0);
+	do {
+		res = rtw_read8(padapter, REG_HMEBOX_E0, &reg_0x88);
+		if (res)
+			continue;
+
+		if (!(reg_0x88 & control))
+			break;
+
+	} while (time_before(jiffies, timeout));
+
+	res = rtw_read8(padapter, REG_HMEBOX_E0, &reg_0x88);
+	if (res)
+		return _FAIL;
+
 	status = (reg_0x88 & control) ? _FAIL : _SUCCESS;
 	if (reg_0x88 & control << 4)
 		status = _FAIL;
@@ -190,13 +211,18 @@ static void efuse_read_phymap_from_txpktbuf(
 	u16 dbg_addr = 0;
 	__le32 lo32 = 0, hi32 = 0;
 	u16 len = 0, count = 0;
-	int i = 0;
+	int i = 0, res;
 	u16 limit = *size;
-
+	u8 reg;
 	u8 *pos = content;
 
-	if (bcnhead < 0) /* if not valid */
-		bcnhead = rtw_read8(adapter, REG_TDECTRL + 1);
+	if (bcnhead < 0) { /* if not valid */
+		res = rtw_read8(adapter, REG_TDECTRL + 1, &reg);
+		if (res)
+			return;
+
+		bcnhead = reg;
+	}
 
 	rtw_write8(adapter, REG_PKT_BUFF_ACCESS_CTRL, TXPKT_BUF_SELECT);
 
@@ -207,8 +233,16 @@ static void efuse_read_phymap_from_txpktbuf(
 
 		rtw_write8(adapter, REG_TXPKTBUF_DBG, 0);
 		timeout = jiffies + msecs_to_jiffies(1000);
-		while (!rtw_read8(adapter, REG_TXPKTBUF_DBG) && time_before(jiffies, timeout))
+		do {
+			res = rtw_read8(adapter, REG_TXPKTBUF_DBG, &reg);
+			if (res)
+				continue;
+
+			if (reg)
+				break;
+
 			rtw_usleep_os(100);
+		} while (time_before(jiffies, timeout));
 
 		/* data from EEPROM needs to be in LE */
 		lo32 = cpu_to_le32(rtw_read32(adapter, REG_PKTBUF_DBG_DATA_L));
@@ -525,10 +559,17 @@ void rtl8188e_SetHalODMVar(struct adapter *Adapter, void *pValue1, bool bSet)
 
 void hal_notch_filter_8188e(struct adapter *adapter, bool enable)
 {
+	int res;
+	u8 reg;
+
+	res = rtw_read8(adapter, rOFDM0_RxDSP + 1, &reg);
+	if (res)
+		return;
+
 	if (enable)
-		rtw_write8(adapter, rOFDM0_RxDSP + 1, rtw_read8(adapter, rOFDM0_RxDSP + 1) | BIT(1));
+		rtw_write8(adapter, rOFDM0_RxDSP + 1, reg | BIT(1));
 	else
-		rtw_write8(adapter, rOFDM0_RxDSP + 1, rtw_read8(adapter, rOFDM0_RxDSP + 1) & ~BIT(1));
+		rtw_write8(adapter, rOFDM0_RxDSP + 1, reg & ~BIT(1));
 }
 
 /*  */
diff --git a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c b/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c
index 4864dafd887b..985339a974fc 100644
--- a/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c
+++ b/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c
@@ -594,6 +594,7 @@ _PHY_SetBWMode92C(
 	struct hal_data_8188e *pHalData = &Adapter->haldata;
 	u8 regBwOpMode;
 	u8 regRRSR_RSC;
+	int res;
 
 	if (Adapter->bDriverStopped)
 		return;
@@ -602,8 +603,13 @@ _PHY_SetBWMode92C(
 	/* 3<1>Set MAC register */
 	/* 3 */
 
-	regBwOpMode = rtw_read8(Adapter, REG_BWOPMODE);
-	regRRSR_RSC = rtw_read8(Adapter, REG_RRSR + 2);
+	res = rtw_read8(Adapter, REG_BWOPMODE, &regBwOpMode);
+	if (res)
+		return;
+
+	res = rtw_read8(Adapter, REG_RRSR + 2, &regRRSR_RSC);
+	if (res)
+		return;
 
 	switch (pHalData->CurrentChannelBW) {
 	case HT_CHANNEL_WIDTH_20:
diff --git a/drivers/staging/r8188eu/hal/usb_halinit.c b/drivers/staging/r8188eu/hal/usb_halinit.c
index a217272a07f8..01422d548748 100644
--- a/drivers/staging/r8188eu/hal/usb_halinit.c
+++ b/drivers/staging/r8188eu/hal/usb_halinit.c
@@ -81,6 +81,7 @@ static void _InitInterrupt(struct adapter *Adapter)
 {
 	u32 imr, imr_ex;
 	u8  usb_opt;
+	int res;
 
 	/* HISR write one to clear */
 	rtw_write32(Adapter, REG_HISR_88E, 0xFFFFFFFF);
@@ -94,7 +95,9 @@ static void _InitInterrupt(struct adapter *Adapter)
 	/*  REG_USB_SPECIAL_OPTION - BIT(4) */
 	/*  0; Use interrupt endpoint to upload interrupt pkt */
 	/*  1; Use bulk endpoint to upload interrupt pkt, */
-	usb_opt = rtw_read8(Adapter, REG_USB_SPECIAL_OPTION);
+	res = rtw_read8(Adapter, REG_USB_SPECIAL_OPTION, &usb_opt);
+	if (res)
+		return;
 
 	if (adapter_to_dvobj(Adapter)->pusbdev->speed == USB_SPEED_HIGH)
 		usb_opt = usb_opt | (INT_BULK_SEL);
@@ -363,8 +366,12 @@ static void _InitEDCA(struct adapter *Adapter)
 static void _InitRetryFunction(struct adapter *Adapter)
 {
 	u8 value8;
+	int res;
+
+	res = rtw_read8(Adapter, REG_FWHW_TXQ_CTRL, &value8);
+	if (res)
+		return;
 
-	value8 = rtw_read8(Adapter, REG_FWHW_TXQ_CTRL);
 	value8 |= EN_AMPDU_RTY_NEW;
 	rtw_write8(Adapter, REG_FWHW_TXQ_CTRL, value8);
 
@@ -423,9 +430,15 @@ usb_AggSettingRxUpdate(
 {
 	u8 valueDMA;
 	u8 valueUSB;
+	int res;
 
-	valueDMA = rtw_read8(Adapter, REG_TRXDMA_CTRL);
-	valueUSB = rtw_read8(Adapter, REG_USB_SPECIAL_OPTION);
+	res = rtw_read8(Adapter, REG_TRXDMA_CTRL, &valueDMA);
+	if (res)
+		return;
+
+	res = rtw_read8(Adapter, REG_USB_SPECIAL_OPTION, &valueUSB);
+	if (res)
+		return;
 
 	valueDMA |= RXDMA_AGG_EN;
 	valueUSB &= ~USB_AGG_EN;
@@ -446,9 +459,11 @@ static void InitUsbAggregationSetting(struct adapter *Adapter)
 	usb_AggSettingRxUpdate(Adapter);
 }
 
-static void _InitBeaconParameters(struct adapter *Adapter)
+/* FIXME: add error handling in callers */
+static int _InitBeaconParameters(struct adapter *Adapter)
 {
 	struct hal_data_8188e *haldata = &Adapter->haldata;
+	int res;
 
 	rtw_write16(Adapter, REG_BCN_CTRL, 0x1010);
 
@@ -461,9 +476,19 @@ static void _InitBeaconParameters(struct adapter *Adapter)
 	/*  beacause test chip does not contension before sending beacon. by tynli. 2009.11.03 */
 	rtw_write16(Adapter, REG_BCNTCFG, 0x660F);
 
-	haldata->RegFwHwTxQCtrl = rtw_read8(Adapter, REG_FWHW_TXQ_CTRL + 2);
-	haldata->RegReg542 = rtw_read8(Adapter, REG_TBTT_PROHIBIT + 2);
-	haldata->RegCR_1 = rtw_read8(Adapter, REG_CR + 1);
+	res = rtw_read8(Adapter, REG_FWHW_TXQ_CTRL + 2, &haldata->RegFwHwTxQCtrl);
+	if (res)
+		return res;
+
+	res = rtw_read8(Adapter, REG_TBTT_PROHIBIT + 2, &haldata->RegReg542);
+	if (res)
+		return res;
+
+	res = rtw_read8(Adapter, REG_CR + 1, &haldata->RegCR_1);
+	if (res)
+		return res;
+
+	return 0;
 }
 
 static void _BeaconFunctionEnable(struct adapter *Adapter,
@@ -514,6 +539,7 @@ u32 rtl8188eu_hal_init(struct adapter *Adapter)
 	u16  value16;
 	u8 txpktbuf_bndy;
 	u32 status = _SUCCESS;
+	int res;
 	struct hal_data_8188e *haldata = &Adapter->haldata;
 	struct pwrctrl_priv		*pwrctrlpriv = &Adapter->pwrctrlpriv;
 	struct registry_priv	*pregistrypriv = &Adapter->registrypriv;
@@ -620,7 +646,10 @@ u32 rtl8188eu_hal_init(struct adapter *Adapter)
 
 	/* Enable TX Report */
 	/* Enable Tx Report Timer */
-	value8 = rtw_read8(Adapter, REG_TX_RPT_CTRL);
+	res = rtw_read8(Adapter, REG_TX_RPT_CTRL, &value8);
+	if (res)
+		return _FAIL;
+
 	rtw_write8(Adapter,  REG_TX_RPT_CTRL, (value8 | BIT(1) | BIT(0)));
 	/* Set MAX RPT MACID */
 	rtw_write8(Adapter,  REG_TX_RPT_CTRL + 1, 2);/* FOR sta mode ,0: bc/mc ,1:AP */
@@ -714,9 +743,13 @@ static void CardDisableRTL8188EU(struct adapter *Adapter)
 {
 	u8 val8;
 	struct hal_data_8188e *haldata = &Adapter->haldata;
+	int res;
 
 	/* Stop Tx Report Timer. 0x4EC[Bit1]=b'0 */
-	val8 = rtw_read8(Adapter, REG_TX_RPT_CTRL);
+	res = rtw_read8(Adapter, REG_TX_RPT_CTRL, &val8);
+	if (res)
+		return;
+
 	rtw_write8(Adapter, REG_TX_RPT_CTRL, val8 & (~BIT(1)));
 
 	/*  stop rx */
@@ -727,10 +760,16 @@ static void CardDisableRTL8188EU(struct adapter *Adapter)
 
 	/*  2. 0x1F[7:0] = 0		turn off RF */
 
-	val8 = rtw_read8(Adapter, REG_MCUFWDL);
+	res = rtw_read8(Adapter, REG_MCUFWDL, &val8);
+	if (res)
+		return;
+
 	if ((val8 & RAM_DL_SEL) && Adapter->bFWReady) { /* 8051 RAM code */
 		/*  Reset MCU 0x2[10]=0. */
-		val8 = rtw_read8(Adapter, REG_SYS_FUNC_EN + 1);
+		res = rtw_read8(Adapter, REG_SYS_FUNC_EN + 1, &val8);
+		if (res)
+			return;
+
 		val8 &= ~BIT(2);	/*  0x2[10], FEN_CPUEN */
 		rtw_write8(Adapter, REG_SYS_FUNC_EN + 1, val8);
 	}
@@ -740,26 +779,45 @@ static void CardDisableRTL8188EU(struct adapter *Adapter)
 
 	/* YJ,add,111212 */
 	/* Disable 32k */
-	val8 = rtw_read8(Adapter, REG_32K_CTRL);
+	res = rtw_read8(Adapter, REG_32K_CTRL, &val8);
+	if (res)
+		return;
+
 	rtw_write8(Adapter, REG_32K_CTRL, val8 & (~BIT(0)));
 
 	/*  Card disable power action flow */
 	HalPwrSeqCmdParsing(Adapter, Rtl8188E_NIC_DISABLE_FLOW);
 
 	/*  Reset MCU IO Wrapper */
-	val8 = rtw_read8(Adapter, REG_RSV_CTRL + 1);
+	res = rtw_read8(Adapter, REG_RSV_CTRL + 1, &val8);
+	if (res)
+		return;
+
 	rtw_write8(Adapter, REG_RSV_CTRL + 1, (val8 & (~BIT(3))));
-	val8 = rtw_read8(Adapter, REG_RSV_CTRL + 1);
+
+	res = rtw_read8(Adapter, REG_RSV_CTRL + 1, &val8);
+	if (res)
+		return;
+
 	rtw_write8(Adapter, REG_RSV_CTRL + 1, val8 | BIT(3));
 
 	/* YJ,test add, 111207. For Power Consumption. */
-	val8 = rtw_read8(Adapter, GPIO_IN);
+	res = rtw_read8(Adapter, GPIO_IN, &val8);
+	if (res)
+		return;
+
 	rtw_write8(Adapter, GPIO_OUT, val8);
 	rtw_write8(Adapter, GPIO_IO_SEL, 0xFF);/* Reg0x46 */
 
-	val8 = rtw_read8(Adapter, REG_GPIO_IO_SEL);
+	res = rtw_read8(Adapter, REG_GPIO_IO_SEL, &val8);
+	if (res)
+		return;
+
 	rtw_write8(Adapter, REG_GPIO_IO_SEL, (val8 << 4));
-	val8 = rtw_read8(Adapter, REG_GPIO_IO_SEL + 1);
+	res = rtw_read8(Adapter, REG_GPIO_IO_SEL + 1, &val8);
+	if (res)
+		return;
+
 	rtw_write8(Adapter, REG_GPIO_IO_SEL + 1, val8 | 0x0F);/* Reg0x43 */
 	rtw_write32(Adapter, REG_BB_PAD_CTRL, 0x00080808);/* set LNA ,TRSW,EX_PA Pin to output mode */
 	haldata->bMacPwrCtrlOn = false;
@@ -830,9 +888,13 @@ void ReadAdapterInfo8188EU(struct adapter *Adapter)
 	struct eeprom_priv *eeprom = &Adapter->eeprompriv;
 	struct led_priv *ledpriv = &Adapter->ledpriv;
 	u8 eeValue;
+	int res;
 
 	/* check system boot selection */
-	eeValue = rtw_read8(Adapter, REG_9346CR);
+	res = rtw_read8(Adapter, REG_9346CR, &eeValue);
+	if (res)
+		return;
+
 	eeprom->EepromOrEfuse		= (eeValue & BOOT_FROM_EEPROM);
 	eeprom->bautoload_fail_flag	= !(eeValue & EEPROM_EN);
 
@@ -887,12 +949,21 @@ static void hw_var_set_opmode(struct adapter *Adapter, u8 *val)
 {
 	u8 val8;
 	u8 mode = *((u8 *)val);
+	int res;
 
 	/*  disable Port0 TSF update */
-	rtw_write8(Adapter, REG_BCN_CTRL, rtw_read8(Adapter, REG_BCN_CTRL) | BIT(4));
+	res = rtw_read8(Adapter, REG_BCN_CTRL, &val8);
+	if (res)
+		return;
+
+	rtw_write8(Adapter, REG_BCN_CTRL, val8 | BIT(4));
 
 	/*  set net_type */
-	val8 = rtw_read8(Adapter, MSR) & 0x0c;
+	res = rtw_read8(Adapter, MSR, &val8);
+	if (res)
+		return;
+
+	val8 &= 0x0c;
 	val8 |= mode;
 	rtw_write8(Adapter, MSR, val8);
 
@@ -927,14 +998,22 @@ static void hw_var_set_opmode(struct adapter *Adapter, u8 *val)
 		rtw_write8(Adapter, REG_DUAL_TSF_RST, BIT(0));
 
 		/* BIT(3) - If set 0, hw will clr bcnq when tx becon ok/fail or port 0 */
-		rtw_write8(Adapter, REG_MBID_NUM, rtw_read8(Adapter, REG_MBID_NUM) | BIT(3) | BIT(4));
+		res = rtw_read8(Adapter, REG_MBID_NUM, &val8);
+		if (res)
+			return;
+
+		rtw_write8(Adapter, REG_MBID_NUM, val8 | BIT(3) | BIT(4));
 
 		/* enable BCN0 Function for if1 */
 		/* don't enable update TSF0 for if1 (due to TSF update when beacon/probe rsp are received) */
 		rtw_write8(Adapter, REG_BCN_CTRL, (DIS_TSF_UDT0_NORMAL_CHIP | EN_BCN_FUNCTION | BIT(1)));
 
 		/* dis BCN1 ATIM  WND if if2 is station */
-		rtw_write8(Adapter, REG_BCN_CTRL_1, rtw_read8(Adapter, REG_BCN_CTRL_1) | BIT(0));
+		res = rtw_read8(Adapter, REG_BCN_CTRL_1, &val8);
+		if (res)
+			return;
+
+		rtw_write8(Adapter, REG_BCN_CTRL_1, val8 | BIT(0));
 	}
 }
 
@@ -943,6 +1022,8 @@ void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
 	struct hal_data_8188e *haldata = &Adapter->haldata;
 	struct dm_priv	*pdmpriv = &haldata->dmpriv;
 	struct odm_dm_struct *podmpriv = &haldata->odmpriv;
+	u8 reg;
+	int res;
 
 	switch (variable) {
 	case HW_VAR_SET_OPMODE:
@@ -970,7 +1051,11 @@ void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
 			/*  Set RRSR rate table. */
 			rtw_write8(Adapter, REG_RRSR, BrateCfg & 0xff);
 			rtw_write8(Adapter, REG_RRSR + 1, (BrateCfg >> 8) & 0xff);
-			rtw_write8(Adapter, REG_RRSR + 2, rtw_read8(Adapter, REG_RRSR + 2) & 0xf0);
+			res = rtw_read8(Adapter, REG_RRSR + 2, &reg);
+			if (res)
+				return;
+
+			rtw_write8(Adapter, REG_RRSR + 2, reg & 0xf0);
 
 			/*  Set RTS initial rate */
 			while (BrateCfg > 0x1) {
@@ -994,13 +1079,21 @@ void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
 				StopTxBeacon(Adapter);
 
 			/* disable related TSF function */
-			rtw_write8(Adapter, REG_BCN_CTRL, rtw_read8(Adapter, REG_BCN_CTRL) & (~BIT(3)));
+			res = rtw_read8(Adapter, REG_BCN_CTRL, &reg);
+			if (res)
+				return;
+
+			rtw_write8(Adapter, REG_BCN_CTRL, reg & (~BIT(3)));
 
 			rtw_write32(Adapter, REG_TSFTR, tsf);
 			rtw_write32(Adapter, REG_TSFTR + 4, tsf >> 32);
 
 			/* enable related TSF function */
-			rtw_write8(Adapter, REG_BCN_CTRL, rtw_read8(Adapter, REG_BCN_CTRL) | BIT(3));
+			res = rtw_read8(Adapter, REG_BCN_CTRL, &reg);
+			if (res)
+				return;
+
+			rtw_write8(Adapter, REG_BCN_CTRL, reg | BIT(3));
 
 			if (((pmlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE) || ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE))
 				ResumeTxBeacon(Adapter);
@@ -1016,7 +1109,11 @@ void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
 			rtw_write16(Adapter, REG_RXFLTMAP2, 0x00);
 
 			/* disable update TSF */
-			rtw_write8(Adapter, REG_BCN_CTRL, rtw_read8(Adapter, REG_BCN_CTRL) | BIT(4));
+			res = rtw_read8(Adapter, REG_BCN_CTRL, &reg);
+			if (res)
+				return;
+
+			rtw_write8(Adapter, REG_BCN_CTRL, reg | BIT(4));
 		} else { /* sitesurvey done */
 			struct mlme_ext_priv	*pmlmeext = &Adapter->mlmeextpriv;
 			struct mlme_ext_info	*pmlmeinfo = &pmlmeext->mlmext_info;
@@ -1027,11 +1124,19 @@ void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
 				rtw_write16(Adapter, REG_RXFLTMAP2, 0xFFFF);
 
 				/* enable update TSF */
-				rtw_write8(Adapter, REG_BCN_CTRL, rtw_read8(Adapter, REG_BCN_CTRL) & (~BIT(4)));
+				res = rtw_read8(Adapter, REG_BCN_CTRL, &reg);
+				if (res)
+					return;
+
+				rtw_write8(Adapter, REG_BCN_CTRL, reg & (~BIT(4)));
 			} else if ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE) {
 				rtw_write16(Adapter, REG_RXFLTMAP2, 0xFFFF);
 				/* enable update TSF */
-				rtw_write8(Adapter, REG_BCN_CTRL, rtw_read8(Adapter, REG_BCN_CTRL) & (~BIT(4)));
+				res = rtw_read8(Adapter, REG_BCN_CTRL, &reg);
+				if (res)
+					return;
+
+				rtw_write8(Adapter, REG_BCN_CTRL, reg & (~BIT(4)));
 			}
 			rtw_write32(Adapter, REG_RCR, rtw_read32(Adapter, REG_RCR) | RCR_CBSSID_BCN);
 		}
@@ -1190,6 +1295,8 @@ void SetBeaconRelatedRegisters8188EUsb(struct adapter *adapt)
 	struct mlme_ext_priv	*pmlmeext = &adapt->mlmeextpriv;
 	struct mlme_ext_info	*pmlmeinfo = &pmlmeext->mlmext_info;
 	u32 bcn_ctrl_reg			= REG_BCN_CTRL;
+	int res;
+	u8 reg;
 	/* reset TSF, enable update TSF, correcting TSF On Beacon */
 
 	/* BCN interval */
@@ -1215,7 +1322,11 @@ void SetBeaconRelatedRegisters8188EUsb(struct adapter *adapt)
 
 	ResumeTxBeacon(adapt);
 
-	rtw_write8(adapt, bcn_ctrl_reg, rtw_read8(adapt, bcn_ctrl_reg) | BIT(1));
+	res = rtw_read8(adapt, bcn_ctrl_reg, &reg);
+	if (res)
+		return;
+
+	rtw_write8(adapt, bcn_ctrl_reg, reg | BIT(1));
 }
 
 void rtl8188eu_init_default_value(struct adapter *adapt)
diff --git a/drivers/staging/r8188eu/hal/usb_ops_linux.c b/drivers/staging/r8188eu/hal/usb_ops_linux.c
index d5e674542a78..f399a7fd8b97 100644
--- a/drivers/staging/r8188eu/hal/usb_ops_linux.c
+++ b/drivers/staging/r8188eu/hal/usb_ops_linux.c
@@ -94,16 +94,13 @@ static int usb_write(struct intf_hdl *intf, u16 value, void *data, u8 size)
 	return status;
 }
 
-u8 rtw_read8(struct adapter *adapter, u32 addr)
+int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data)
 {
 	struct io_priv *io_priv = &adapter->iopriv;
 	struct intf_hdl *intf = &io_priv->intf;
 	u16 value = addr & 0xffff;
-	u8 data;
 
-	usb_read(intf, value, &data, 1);
-
-	return data;
+	return usb_read(intf, value, data, 1);
 }
 
 u16 rtw_read16(struct adapter *adapter, u32 addr)
diff --git a/drivers/staging/r8188eu/include/rtw_io.h b/drivers/staging/r8188eu/include/rtw_io.h
index 6910e2b430e2..1198d3850a6d 100644
--- a/drivers/staging/r8188eu/include/rtw_io.h
+++ b/drivers/staging/r8188eu/include/rtw_io.h
@@ -220,7 +220,7 @@ void unregister_intf_hdl(struct intf_hdl *pintfhdl);
 void _rtw_attrib_read(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
 void _rtw_attrib_write(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
 
-u8 rtw_read8(struct adapter *adapter, u32 addr);
+int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data);
 u16 rtw_read16(struct adapter *adapter, u32 addr);
 u32 rtw_read32(struct adapter *adapter, u32 addr);
 void _rtw_read_mem(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
diff --git a/drivers/staging/r8188eu/os_dep/ioctl_linux.c b/drivers/staging/r8188eu/os_dep/ioctl_linux.c
index 8dd280e2739a..19a60d47f7c0 100644
--- a/drivers/staging/r8188eu/os_dep/ioctl_linux.c
+++ b/drivers/staging/r8188eu/os_dep/ioctl_linux.c
@@ -3178,6 +3178,7 @@ static void rtw_set_dynamic_functions(struct adapter *adapter, u8 dm_func)
 {
 	struct hal_data_8188e *haldata = &adapter->haldata;
 	struct odm_dm_struct *odmpriv = &haldata->odmpriv;
+	int res;
 
 	switch (dm_func) {
 	case 0:
@@ -3193,7 +3194,9 @@ static void rtw_set_dynamic_functions(struct adapter *adapter, u8 dm_func)
 		if (!(odmpriv->SupportAbility & DYNAMIC_BB_DIG)) {
 			struct rtw_dig *digtable = &odmpriv->DM_DigTable;
 
-			digtable->CurIGValue = rtw_read8(adapter, 0xc50);
+			res = rtw_read8(adapter, 0xc50, &digtable->CurIGValue);
+			(void)res;
+			/* FIXME: return an error to caller */
 		}
 		odmpriv->SupportAbility = DYNAMIC_ALL_FUNC_ENABLE;
 		break;
@@ -3329,8 +3332,9 @@ static int rtw_dbg_port(struct net_device *dev,
 			u16 reg = arg;
 			u16 start_value = 0;
 			u32 write_num = extra_arg;
-			int i;
+			int i, res;
 			struct xmit_frame	*xmit_frame;
+			u8 val8;
 
 			xmit_frame = rtw_IOL_accquire_xmit_frame(padapter);
 			if (!xmit_frame) {
@@ -3343,7 +3347,8 @@ static int rtw_dbg_port(struct net_device *dev,
 			if (rtl8188e_IOL_exec_cmds_sync(padapter, xmit_frame, 5000, 0) != _SUCCESS)
 				ret = -EPERM;
 
-			rtw_read8(padapter, reg);
+			/* FIXME: is this read necessary? */
+			res = rtw_read8(padapter, reg, &val8);
 		}
 			break;
 
-- 
2.35.1




  parent reply	other threads:[~2022-08-23  9:10 UTC|newest]

Thread overview: 384+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-23  7:58 [PATCH 5.19 000/365] 5.19.4-rc1 review Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 001/365] ALSA: info: Fix llseek return value when using callback Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 002/365] ALSA: hda/realtek: Add quirk for Clevo NS50PU, NS70PU Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 003/365] RDMA: Handle the return code from dma_resv_wait_timeout() properly Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 004/365] KVM: Unconditionally get a ref to /dev/kvm module when creating a VM Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 005/365] x86/mm: Use proper mask when setting PUD mapping Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 006/365] rds: add missing barrier to release_refill Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 007/365] drm/i915/gem: Remove shared locking on freeing objects Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 008/365] locking/atomic: Make test_and_*_bit() ordered on failure Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 009/365] drm/nouveau: recognise GA103 Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 010/365] drm/ttm: Fix dummy res NULL ptr deref bug Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 011/365] drm/amdgpu: Only disable prefer_shadow on hawaii Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 012/365] drm/amd/display: Check correct bounds for stream encoder instances for DCN303 Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 013/365] s390/ap: fix crash on older machines based on QCI info missing Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 014/365] ata: libata-eh: Add missing command name Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 015/365] mmc: pxamci: Fix another error handling path in pxamci_probe() Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 016/365] mmc: pxamci: Fix an " Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 017/365] mmc: meson-gx: Fix an error handling path in meson_mmc_probe() Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 018/365] btrfs: unset reloc control if transaction commit fails in prepare_to_relocate() Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 019/365] btrfs: reset RO counter on block group if we fail to relocate Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 020/365] btrfs: fix lost error handling when looking up extended ref on log replay Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 021/365] btrfs: fix warning during log replay when bumping inode link count Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 022/365] drm/amdgpu: change vram width algorithm for vram_info v3_0 Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 023/365] drm/i915/gt: Ignore TLB invalidations on idle engines Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 024/365] drm/i915/gt: Invalidate TLB of the OA unit at TLB invalidations Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 025/365] drm/i915/gt: Skip TLB invalidations once wedged Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 026/365] drm/i915/gt: Batch TLB invalidations Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 027/365] drm/i915: pass a pointer for tlb seqno at vma_invalidate_tlb() Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 028/365] cifs: Fix memory leak on the deferred close Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 029/365] x86/kprobes: Fix JNG/JNLE emulation Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 030/365] tracing/perf: Fix double put of trace event when init fails Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 031/365] tracing/eprobes: Do not allow eprobes to use $stack, or % for regs Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 032/365] tracing/eprobes: Do not hardcode $comm as a string Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 033/365] tracing/eprobes: Fix reading of string fields Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 034/365] tracing/eprobes: Have event probes be consistent with kprobes and uprobes Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 035/365] tracing/probes: Have kprobes and uprobes use $COMM too Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 036/365] tracing: Have filter accept "common_cpu" to be consistent Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 037/365] ALSA: usb-audio: More comprehensive mixer map for ASUS ROG Zenith II Greg Kroah-Hartman
2022-08-23  7:58 ` [PATCH 5.19 038/365] ALSA: hda: Fix crash due to jack poll in suspend Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 039/365] dt-bindings: usb: mtk-xhci: Allow wakeup interrupt-names to be optional Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 040/365] can: ems_usb: fix clangs -Wunaligned-access warning Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 041/365] apparmor: fix quiet_denied for file rules Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 042/365] apparmor: fix absroot causing audited secids to begin with = Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 043/365] apparmor: Fix failed mount permission check error message Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 044/365] apparmor: fix aa_label_asxprint return check Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 045/365] apparmor: fix setting unconfined mode on a loaded profile Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 046/365] apparmor: fix overlapping attachment computation Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 047/365] apparmor: fix reference count leak in aa_pivotroot() Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 048/365] apparmor: Fix memleak in aa_simple_write_to_buffer() Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 049/365] Documentation: ACPI: EINJ: Fix obsolete example Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 050/365] netfilter: nf_tables: fix crash when nf_trace is enabled Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 051/365] net: tap: NULL pointer derefence in dev_parse_header_protocol when skb->dev is null Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 052/365] NFSv4.1: Dont decrease the value of seq_nr_highest_sent Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 053/365] NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 054/365] NFSv4: Fix races in the legacy idmapper upcall Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 055/365] NFSv4.1: RECLAIM_COMPLETE must handle EACCES Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 056/365] NFSv4/pnfs: Fix a use-after-free bug in open Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 057/365] mptcp, btf: Add struct mptcp_sock definition when CONFIG_MPTCP is disabled Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 058/365] mptcp: move subflow cleanup in mptcp_destroy_common() Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 059/365] mptcp: do not queue data on closed subflows Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 060/365] selftests: mptcp: make sendfile selftest work Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 061/365] BPF: Fix potential bad pointer dereference in bpf_sys_bpf() Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 062/365] bpf: Disallow bpf programs call prog_run command Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 063/365] bpf: Dont reinit map value in prealloc_lru_pop Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 064/365] bpf: Acquire map uref in .init_seq_private for array map iterator Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 065/365] bpf: Acquire map uref in .init_seq_private for hash " Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 066/365] bpf: Acquire map uref in .init_seq_private for sock local storage " Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 067/365] bpf: Acquire map uref in .init_seq_private for sock{map,hash} iterator Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 068/365] bpf: Check the validity of max_rdwr_access for sock local storage map iterator Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 069/365] can: mcp251x: Fix race condition on receive interrupt Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 070/365] can: j1939: j1939_session_destroy(): fix memory leak of skbs Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 071/365] net: atlantic: fix aq_vec index out of range error Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 072/365] m68k: coldfire/device.c: protect FLEXCAN blocks Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 073/365] sunrpc: fix expiry of auth creds Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 074/365] SUNRPC: Fix xdr_encode_bool() Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 075/365] SUNRPC: Reinitialise the backchannel request buffers before reuse Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 076/365] SUNRPC: Dont reuse bvec on retransmission of the request Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 077/365] ASoC: qdsp6: q6apm-dai: unprepare stream if its already prepared Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 078/365] virtio: VIRTIO_HARDEN_NOTIFICATION is broken Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 079/365] virtio_net: fix memory leak inside XPD_TX with mergeable Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 080/365] virtio-blk: Avoid use-after-free on suspend/resume Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 081/365] devlink: Fix use-after-free after a failed reload Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 082/365] net: phy: Warn about incorrect mdio_bus_phy_resume() state Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 083/365] net: bcmgenet: Indicate MAC is in charge of PHY PM Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 084/365] net: phy: c45 baset1: do not skip aneg configuration if clock role is not specified Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 085/365] net: dsa: felix: suppress non-changes to the tagging protocol Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 086/365] net: bgmac: Fix a BUG triggered by wrong bytes_compl Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 087/365] net: atm: bring back zatm uAPI Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 088/365] selftests: forwarding: Fix failing tests with old libnet Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 089/365] dt-bindings: arm: qcom: fix Alcatel OneTouch Idol 3 compatibles Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 090/365] pinctrl: renesas: rzg2l: Return -EINVAL for pins which have input disabled Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 091/365] dt-bindings: pinctrl: mt8192: Add drive-strength-microamp Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 092/365] dt-bindings: pinctrl: mt8192: Use generic bias instead of pull-*-adv Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 093/365] pinctrl: nomadik: Fix refcount leak in nmk_pinctrl_dt_subnode_to_map Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 094/365] pinctrl: qcom: msm8916: Allow CAMSS GP clocks to be muxed Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 095/365] pinctrl: amd: Dont save/restore interrupt status and wake status bits Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 096/365] dt-bindings: pinctrl: mt8195: Fix name for mediatek,rsel-resistance-in-si-unit Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 097/365] dt-bindings: pinctrl: mt8195: Add and use drive-strength-microamp Greg Kroah-Hartman
2022-08-23  7:59 ` [PATCH 5.19 098/365] pinctrl: sunxi: Add I/O bias setting for H6 R-PIO Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 099/365] dt-bindings: pinctrl: mt8186: Add and use drive-strength-microamp Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 100/365] pinctrl: qcom: sm8250: Fix PDC map Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 101/365] rtc: spear: set range max Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 102/365] Input: exc3000 - fix return value check of wait_for_completion_timeout Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 103/365] Input: mt6779-keypad - match hardware matrix organization Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 104/365] Input: iqs7222 - correct slider event disable logic Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 105/365] Input: iqs7222 - fortify slider event reporting Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 106/365] Input: iqs7222 - protect volatile registers Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 107/365] Input: iqs7222 - acknowledge reset before writing registers Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 108/365] Input: iqs7222 - handle reset during ATI Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 109/365] Input: iqs7222 - remove support for RF filter Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 110/365] dt-bindings: input: iqs7222: Remove " Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 111/365] dt-bindings: input: iqs7222: Correct bottom speed step size Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 112/365] dt-bindings: input: iqs7222: Extend slider-mapped GPIO to IQS7222C Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 113/365] um: Add missing apply_returns() Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 114/365] octeontx2-pf: Fix NIX_AF_TL3_TL2X_LINKX_CFG register configuration Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 115/365] octeontx2-af: Apply tx nibble fixup always Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 116/365] octeontx2-af: suppress external profile loading warning Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 117/365] octeontx2-af: Fix mcam entry resource leak Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 118/365] octeontx2-af: Fix key checking for source mac Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 119/365] ACPI: property: Return type of acpi_add_nondev_subnodes() should be bool Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 120/365] geneve: do not use RT_TOS for IPv6 flowlabel Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 121/365] vxlan: " Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 122/365] mlx5: " Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 123/365] ipv6: " Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 124/365] plip: avoid rcu debug splat Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 125/365] vsock: Fix memory leak in vsock_connect() Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 126/365] vsock: Set socket state back to SS_UNCONNECTED in vsock_connect_timeout() Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 127/365] dt-bindings: gpio: zynq: Add missing compatible strings Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 128/365] dt-bindings: arm: qcom: fix Longcheer L8150 compatibles Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 129/365] dt-bindings: arm: qcom: fix MSM8916 MTP compatibles Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 130/365] dt-bindings: arm: qcom: fix MSM8994 boards compatibles Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 131/365] dt-bindings: clock: qcom,gcc-msm8996: add more GCC clock sources Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 132/365] dt-bindings: PCI: qcom: Fix reset conditional Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 133/365] spi: dt-bindings: cadence: add missing required Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 134/365] spi: dt-bindings: zynqmp-qspi: " Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 135/365] dt-bindings: opp: opp-v2-kryo-cpu: Fix example binding checks Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 136/365] spi: dt-bindings: qcom,spi-geni-qcom: allow three interconnects Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 137/365] ceph: use correct index when encoding client supported features Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 138/365] tools/testing/cxl: Fix decoder default state Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 139/365] tools/vm/slabinfo: use alphabetic order when two values are equal Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 140/365] ceph: dont leak snap_rwsem in handle_cap_grant Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 141/365] clk: imx93: Correct the edma1s parent clock Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 142/365] vdpa_sim: use max_iotlb_entries as a limit in vhost_iotlb_init Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 143/365] vdpa_sim_blk: set number of address spaces and virtqueue groups Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 144/365] tools/testing/cxl: Fix cxl_hdm_decode_init() calling convention Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 145/365] kbuild: dummy-tools: avoid tmpdir leak in dummy gcc Greg Kroah-Hartman
2022-08-27  7:51   ` Jiri Slaby
2022-08-27  8:34     ` Ondrej Mosnacek
2022-08-29  7:12       ` Jiri Slaby
2022-08-29  8:05         ` Greg Kroah-Hartman
2022-08-29  9:33           ` Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 146/365] tools build: Switch to new openssl API for test-libcrypto Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 147/365] NTB: ntb_tool: uninitialized heap data in tool_fn_write() Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 148/365] nfp: ethtool: fix the display error of `ethtool -m DEVNAME` Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 149/365] xen/xenbus: fix return type in xenbus_file_read() Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 150/365] tsnep: Fix tsnep_tx_unmap() error path usage Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 151/365] atm: idt77252: fix use-after-free bugs caused by tst_timer Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 152/365] fscache: dont leak cookie access refs if invalidation is in progress or failed Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 153/365] geneve: fix TOS inheriting for ipv4 Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 154/365] nvme-fc: fix the fc_appid_store return value Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 155/365] perf probe: Fix an error handling path in parse_perf_probe_command() Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 156/365] i2c: qcom-geni: Fix GPI DMA buffer sync-back Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 157/365] perf parse-events: Fix segfault when event parser gets an error Greg Kroah-Hartman
2022-08-23  8:00 ` [PATCH 5.19 158/365] perf tests: Fix Track with sched_switch test for hybrid case Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 159/365] dpaa2-eth: trace the allocated address instead of page struct Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 160/365] fs/ntfs3: Fix using uninitialized value n when calling indx_read Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 161/365] fs/ntfs3: Fix NULL deref in ntfs_update_mftmirr Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 162/365] fs/ntfs3: Dont clear upper bits accidentally in log_replay() Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 163/365] fs/ntfs3: Fix double free on remount Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 164/365] fs/ntfs3: Do not change mode if ntfs_set_ea failed Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 165/365] fs/ntfs3: Fix missing i_op in ntfs_read_mft Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 166/365] nios2: page fault et.al. are *not* restartable syscalls Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 167/365] nios2: dont leave NULLs in sys_call_table[] Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 168/365] nios2: traced syscall does need to check the syscall number Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 169/365] nios2: fix syscall restart checks Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 170/365] nios2: restarts apply only to the first sigframe we build Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 171/365] nios2: add force_successful_syscall_return() Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 172/365] iavf: Fix adminq error handling Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 173/365] iavf: Fix NULL pointer dereference in iavf_get_link_ksettings Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 174/365] iavf: Fix reset error handling Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 175/365] iavf: Fix deadlock in initialization Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 176/365] ASoC: Intel: avs: Fix potential buffer overflow by snprintf() Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 177/365] ASoC: SOF: debug: " Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 178/365] ASoC: SOF: Intel: hda: " Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 179/365] ASoC: DPCM: Dont pick up BE without substream Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 180/365] ASoC: tas2770: Set correct FSYNC polarity Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 181/365] ASoC: tas2770: Allow mono streams Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 182/365] ASoC: tas2770: Drop conflicting set_bias_level power setting Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 183/365] ASoC: tas2770: Fix handling of mute/unmute Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 184/365] ASoC: codec: tlv320aic32x4: fix mono playback via I2S Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 185/365] IB/iser: Fix login with authentication Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 186/365] RDMA/mlx5: Use the proper number of ports Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 187/365] RDMA/cxgb4: fix accept failure due to increased cpl_t5_pass_accept_rpl size Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 188/365] netfilter: nfnetlink: re-enable conntrack expectation events Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 189/365] netfilter: nf_tables: use READ_ONCE and WRITE_ONCE for shared generation id access Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 190/365] fs/ntfs3: uninitialized variable in ntfs_set_acl_ex() Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 191/365] netfilter: nf_tables: disallow NFTA_SET_ELEM_KEY_END with NFT_SET_ELEM_INTERVAL_END flag Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 192/365] netfilter: nf_ct_sane: remove pseudo skb linearization Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 193/365] netfilter: nf_ct_h323: cap packet size at 64k Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 194/365] netfilter: nf_ct_ftp: prefer skb_linearize Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 195/365] netfilter: nf_ct_irc: cap packet search space to 4k Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 196/365] netfilter: nf_tables: possible module reference underflow in error path Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 197/365] netfilter: nf_tables: really skip inactive sets when allocating name Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 198/365] netfilter: nf_tables: fix scheduling-while-atomic splat Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 199/365] netfilter: nf_tables: validate NFTA_SET_ELEM_OBJREF based on NFT_SET_OBJECT flag Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 200/365] netfilter: nf_tables: NFTA_SET_ELEM_KEY_END requires concat and interval flags Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 201/365] netfilter: nf_tables: disallow NFT_SET_ELEM_CATCHALL and NFT_SET_ELEM_INTERVAL_END Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 202/365] netfilter: nf_tables: check NFT_SET_CONCAT flag if field_count is specified Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 203/365] powerpc/pci: Fix get_phb_number() locking Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 204/365] spi: meson-spicc: add local pow2 clock ops to preserve rate between messages Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 205/365] net/sunrpc: fix potential memory leaks in rpc_sysfs_xprt_state_change() Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 206/365] net: dsa: mv88e6060: prevent crash on an unused port Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 207/365] net: qrtr: start MHI channel after endpoit creation Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 208/365] virtio_net: fix endian-ness for RSS Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 209/365] mlxsw: spectrum: Clear PTP configuration after unregistering the netdevice Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 210/365] net: moxa: pass pdev instead of ndev to DMA functions Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 211/365] net: fix potential refcount leak in ndisc_router_discovery() Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 212/365] net: rtnetlink: fix module reference count leak issue in rtnetlink_rcv_msg Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 213/365] net: sched: fix misuse of qcpu->backlog in gnet_stats_add_queue_cpu Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 214/365] net: dsa: microchip: ksz9477: fix fdb_dump last invalid entry Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 215/365] net: dsa: felix: fix ethtool 256-511 and 512-1023 TX packet counters Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 216/365] net: mscc: ocelot: fix incorrect ndo_get_stats64 " Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 217/365] net: mscc: ocelot: fix address of SYS_COUNT_TX_AGING counter Greg Kroah-Hartman
2022-08-23  8:01 ` [PATCH 5.19 218/365] net: genl: fix error path memory leak in policy dumping Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 219/365] net: dsa: dont warn in dsa_port_set_state_now() when driver doesnt support it Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 220/365] net: dsa: sja1105: fix buffer overflow in sja1105_setup_devlink_regions() Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 221/365] ice: Fix VSI rebuild WARN_ON check for VF Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 222/365] ice: Fix call trace with null VSI during VF reset Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 223/365] ice: Fix VF not able to send tagged traffic with no VLAN filters Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 224/365] ice: Fix double VLAN error when entering promisc mode Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 225/365] ice: Ignore EEXIST when setting " Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 226/365] ice: Fix clearing of promisc mode with bridge over bond Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 227/365] ice: Ignore error message when setting same promiscuous mode Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 228/365] modpost: fix module versioning when a symbol lacks valid CRC Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 229/365] i2c: imx: Make sure to unregister adapter on remove() Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 230/365] i40e: Fix tunnel checksum offload with fragmented traffic Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 231/365] regulator: pca9450: Remove restrictions for regulator-name Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 232/365] i40e: Fix to stop tx_timeout recovery if GLOBR fails Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 233/365] blk-mq: run queue no matter whether the request is the last request Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 234/365] tools/rtla: Fix command symlinks Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 235/365] fec: Fix timer capture timing in `fec_ptp_enable_pps()` Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 236/365] dt-bindings: display: sun4i: Add D1 TCONs to conditionals Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 237/365] stmmac: intel: Add a missing clk_disable_unprepare() call in intel_eth_pci_remove() Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 238/365] igb: Add lock to avoid data race Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 239/365] kbuild: fix the modules order between drivers and libs Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 240/365] gcc-plugins: Undefine LATENT_ENTROPY_PLUGIN when plugin disabled for a file Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 241/365] can: j1939: j1939_sk_queue_activate_next_locked(): replace WARN_ON_ONCE with netdev_warn_once() Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 242/365] drm/imx/dcss: get rid of HPD warning message Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 243/365] drm/meson: Fix refcount bugs in meson_vpu_has_available_connectors() Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 244/365] drm/i915/ttm: dont leak the ccs state Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 245/365] drm/amdgpu: Avoid another list of reset devices Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 246/365] drm/bridge: lvds-codec: Fix error checking of drm_of_lvds_get_data_mapping() Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 247/365] drm/sun4i: dsi: Prevent underflow when computing packet sizes Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 248/365] drm/amdgpu: Fix use-after-free on amdgpu_bo_list mutex Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 249/365] KVM: arm64: Treat PMCR_EL1.LC as RES1 on asymmetric systems Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 250/365] KVM: arm64: Reject 32bit user PSTATE " Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 251/365] net: mscc: ocelot: turn stats_lock into a spinlock Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 252/365] net: mscc: ocelot: fix race between ndo_get_stats64 and ocelot_check_stats_work Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 253/365] net: mscc: ocelot: make struct ocelot_stat_layout array indexable Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 254/365] net: mscc: ocelot: report ndo_get_stats64 from the wraparound-resistant ocelot->stats Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 255/365] x86/ibt, objtool: Add IBT_NOSEAL() Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 256/365] x86/kvm: Fix "missing ENDBR" BUG for fastop functions Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 257/365] thunderbolt: Change downstream routers TMU rate in both TMU uni/bidir mode Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 258/365] HID: multitouch: new device class fix Lenovo X12 trackpad sticky Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 259/365] PCI: Add ACS quirk for Broadcom BCM5750x NICs Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 260/365] platform/chrome: cros_ec_proto: dont show MKBP version if unsupported Greg Kroah-Hartman
2022-08-23  8:02 ` Greg Kroah-Hartman [this message]
2022-08-23  8:02 ` [PATCH 5.19 262/365] staging: r8188eu: add error handling of rtw_read16 Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 263/365] staging: r8188eu: add error handling of rtw_read32 Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 264/365] usb: cdns3 fix use-after-free at workaround 2 Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 265/365] usb: gadget: uvc: calculate the number of request depending on framesize Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 266/365] usb: gadget: uvc: call uvc uvcg_warn on completed status instead of uvcg_info Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 267/365] PCI: aardvark: Fix reporting Slot capabilities on emulated bridge Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 268/365] scsi: ufs: core: Add UFSHCD_QUIRK_BROKEN_64BIT_ADDRESS Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 269/365] scsi: ufs: core: Add UFSHCD_QUIRK_HIBERN_FASTAUTO Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 270/365] irqchip/tegra: Fix overflow implicit truncation warnings Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 271/365] drm/meson: " Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 272/365] clk: ti: Stop using legacy clkctrl names for omap4 and 5 Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 273/365] scsi: ufs: ufs-mediatek: Fix the timing of configuring device regulators Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 274/365] usb: typec: mux: Add CONFIG guards for functions Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 275/365] usb: host: ohci-ppc-of: Fix refcount leak bug Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 276/365] usb: renesas: " Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 277/365] scsi: iscsi: Fix HW conn removal use after free Greg Kroah-Hartman
2022-08-23  8:02 ` [PATCH 5.19 278/365] usb: dwc2: gadget: remove D+ pull-up while no vbus with usb-role-switch Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 279/365] vboxguest: Do not use devm for irq Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 280/365] clk: qcom: ipq8074: dont disable gcc_sleep_clk_src Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 281/365] uacce: Handle parent device removal or parent driver module rmmod Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 282/365] zram: do not lookup algorithm in backends table Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 283/365] clk: qcom: clk-alpha-pll: fix clk_trion_pll_configure description Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 284/365] scsi: lpfc: Prevent buffer overflow crashes in debugfs with malformed user input Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 285/365] scsi: lpfc: Fix possible memory leak when failing to issue CMF WQE Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 286/365] gadgetfs: ep_io - wait until IRQ finishes Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 287/365] coresight: etm4x: avoid build failure with unrolled loops Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 288/365] habanalabs: add terminating NULL to attrs arrays Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 289/365] habanalabs/gaudi: invoke device reset from one code block Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 290/365] habanalabs/gaudi: fix shift out of bounds Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 291/365] habanalabs/gaudi: mask constant value before cast Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 292/365] mmc: tmio: avoid glitches when resetting Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 293/365] scsi: ufs: ufs-exynos: Change ufs phy control sequence Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 294/365] pinctrl: intel: Check against matching data instead of ACPI companion Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 295/365] cxl: Fix a memory leak in an error handling path Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 296/365] PCI/ACPI: Guard ARM64-specific mcfg_quirks Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 297/365] um: add "noreboot" command line option for PANIC_TIMEOUT=-1 setups Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 298/365] of: overlay: Move devicetree_corrupt() check up Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 299/365] dmaengine: dw-axi-dmac: do not print NULL LLI during error Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 300/365] dmaengine: dw-axi-dmac: ignore interrupt if no descriptor Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 301/365] mmc: renesas_sdhi: newer SoCs dont need manual tap correction Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 302/365] ACPI: PPTT: Leave the table mapped for the runtime usage Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 303/365] RDMA/rxe: Limit the number of calls to each tasklet Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 304/365] csky/kprobe: reclaim insn_slot on kprobe unregistration Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 305/365] selftests/kprobe: Do not test for GRP/ without event failures Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 306/365] dmaengine: tegra: Add terminate() for Tegra234 Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 307/365] dmaengine: sprd: Cleanup in .remove() after pm_runtime_get_sync() failed Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 308/365] Revert "RDMA/rxe: Create duplicate mapping tables for FMRs" Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 309/365] openrisc: io: Define iounmap argument as volatile Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 310/365] phy: samsung: phy-exynos-pcie: sanitize init/power_on callbacks Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 311/365] md: Notify sysfs sync_completed in md_reap_sync_thread() Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 312/365] md/raid5: Make logic blocking check consistent with logic that blocks Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 313/365] nvmet-tcp: fix lockdep complaint on nvmet_tcp_wq flush during queue teardown Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 314/365] drivers:md:fix a potential use-after-free bug Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 315/365] ext4: avoid remove directory when directory is corrupted Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 316/365] ext4: block range must be validated before use in ext4_mb_clear_bb() Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 317/365] ext4: avoid resizing to a partial cluster size Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 318/365] lib/list_debug.c: Detect uninitialized lists Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 319/365] swiotlb: panic if nslabs is too small Greg Kroah-Hartman
2022-08-23 17:25   ` Dongli Zhang
2022-08-23 17:51     ` Yu Zhao
2022-08-23 18:22       ` Dongli Zhang
2022-08-24  6:56     ` Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 320/365] tty: serial: Fix refcount leak bug in ucc_uart.c Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 321/365] KVM: PPC: Book3S HV: Fix "rm_exit" entry in debugfs timings Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 322/365] vfio: Clear the caps->buf to NULL after free Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 323/365] mips: cavium-octeon: Fix missing of_node_put() in octeon2_usb_clocks_start Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 324/365] iommu/io-pgtable-arm-v7s: Add a quirk to allow pgtable PA up to 35bit Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 325/365] ASoC: Intel: avs: Set max DMA segment size Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 326/365] ALSA: hda: Fix page fault in snd_hda_codec_shutdown() Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 327/365] modules: Ensure natural alignment for .altinstructions and __bug_table sections Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 328/365] ASoC: SOF: Intel: cnl: Do not process IPC reply before firmware boot Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 329/365] ASoC: SOF: Intel: hda-ipc: " Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 330/365] ASoC: SOF: sof-client-probes: Only load the driver if IPC3 is used Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 331/365] ASoC: rsnd: care default case on rsnd_ssiu_busif_err_irq_ctrl() Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 332/365] riscv: dts: sifive: Add fu540 topology information Greg Kroah-Hartman
2022-08-23  9:49   ` Conor.Dooley
2022-08-23 11:10     ` Greg KH
2022-08-23  8:03 ` [PATCH 5.19 333/365] riscv: dts: sifive: Add fu740 " Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 334/365] riscv: dts: canaan: Add k210 " Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 335/365] ASoC: nau8821: Dont unconditionally free interrupt Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 336/365] riscv: mmap with PROT_WRITE but no PROT_READ is invalid Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 337/365] RISC-V: Add fast call path of crash_kexec() Greg Kroah-Hartman
2022-08-23  8:03 ` [PATCH 5.19 338/365] ALSA: hda/realtek: Enable speaker and mute LEDs for HP laptops Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 339/365] ASoC: SOF: Intel: hda: add sanity check on SSP index reported by NHLT Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 340/365] ASoC: Intel: sof_es8336: Fix GPIO quirks set via module option Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 341/365] ASoC: Intel: sof_es8336: ignore GpioInt when looking for speaker/headset GPIO lines Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 342/365] ASoC: Intel: sof_nau8825: Move quirk check to the front in late probe Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 343/365] watchdog: export lockup_detector_reconfigure Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 344/365] powerpc/watchdog: introduce a NMI watchdogs factor Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 345/365] powerpc/pseries/mobility: set NMI watchdog factor during an LPM Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 346/365] powerpc/32: Set an IBAT covering up to _einittext during init Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 347/365] powerpc/32: Dont always pass -mcpu=powerpc to the compiler Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 348/365] ASoC: codecs: va-macro: use fsgen as clock Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 349/365] ovl: warn if trusted xattr creation fails Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 350/365] powerpc/ioda/iommu/debugfs: Generate unique debugfs entries Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 351/365] ALSA: core: Add async signal helpers Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 352/365] ALSA: timer: Use deferred fasync helper Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 353/365] ALSA: pcm: " Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 354/365] ALSA: control: " Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 355/365] f2fs: fix to avoid use f2fs_bug_on() in f2fs_new_node_page() Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 356/365] f2fs: fix to do sanity check on segment type in build_sit_entries() Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 357/365] smb3: check xattr value length earlier Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 358/365] powerpc/64: Init jump labels before parse_early_param() Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 359/365] venus: pm_helpers: Fix warning in OPP during probe Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 360/365] video: fbdev: i740fb: Check the argument of i740_calc_vclk() Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 361/365] MIPS: tlbex: Explicitly compare _PAGE_NO_EXEC against 0 Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 362/365] f2fs: revive F2FS_IOC_ABORT_VOLATILE_WRITE Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 363/365] f2fs: fix null-ptr-deref in f2fs_get_dnode_of_data Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 364/365] scsi: ufs: ufs-mediatek: Fix build error and type mismatch Greg Kroah-Hartman
2022-08-23  8:04 ` [PATCH 5.19 365/365] Revert "ALSA: hda: Fix page fault in snd_hda_codec_shutdown()" Greg Kroah-Hartman
2022-08-23 17:02 ` [PATCH 5.19 000/365] 5.19.4-rc1 review Justin Forbes
2022-08-23 21:16 ` Guenter Roeck
2022-08-24  6:06   ` Greg Kroah-Hartman
2022-08-24  6:56     ` Greg Kroah-Hartman
2022-08-23 21:33 ` Shuah Khan
2022-08-23 22:38 ` Rudi Heitbaum
2022-08-23 22:43 ` Ron Economos

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=20220823080129.107624496@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paskripkin@gmail.com \
    --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