[PATCH 12/12] PCI: Simplify pcie_capability_clear_and_set_word() control flow

Bjorn Helgaas posted 12 patches 2 years, 3 months ago
[PATCH 12/12] PCI: Simplify pcie_capability_clear_and_set_word() control flow
Posted by Bjorn Helgaas 2 years, 3 months ago
From: Bjorn Helgaas <bhelgaas@google.com>

Return early for errors in pcie_capability_clear_and_set_word_unlocked()
and pcie_capability_clear_and_set_dword() to simplify the control flow.

No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/pci/access.c | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/drivers/pci/access.c b/drivers/pci/access.c
index 0b2e90d2f04f..6554a2e89d36 100644
--- a/drivers/pci/access.c
+++ b/drivers/pci/access.c
@@ -504,13 +504,12 @@ int pcie_capability_clear_and_set_word_unlocked(struct pci_dev *dev, int pos,
 	u16 val;
 
 	ret = pcie_capability_read_word(dev, pos, &val);
-	if (!ret) {
-		val &= ~clear;
-		val |= set;
-		ret = pcie_capability_write_word(dev, pos, val);
-	}
+	if (ret)
+		return ret;
 
-	return ret;
+	val &= ~clear;
+	val |= set;
+	return pcie_capability_write_word(dev, pos, val);
 }
 EXPORT_SYMBOL(pcie_capability_clear_and_set_word_unlocked);
 
@@ -535,13 +534,12 @@ int pcie_capability_clear_and_set_dword(struct pci_dev *dev, int pos,
 	u32 val;
 
 	ret = pcie_capability_read_dword(dev, pos, &val);
-	if (!ret) {
-		val &= ~clear;
-		val |= set;
-		ret = pcie_capability_write_dword(dev, pos, val);
-	}
+	if (ret)
+		return ret;
 
-	return ret;
+	val &= ~clear;
+	val |= set;
+	return pcie_capability_write_dword(dev, pos, val);
 }
 EXPORT_SYMBOL(pcie_capability_clear_and_set_dword);
 
-- 
2.34.1

Re: [PATCH 12/12] PCI: Simplify pcie_capability_clear_and_set_word() control flow
Posted by Ilpo Järvinen 2 years, 3 months ago
On Thu, 24 Aug 2023, Bjorn Helgaas wrote:

> From: Bjorn Helgaas <bhelgaas@google.com>
> 
> Return early for errors in pcie_capability_clear_and_set_word_unlocked()
> and pcie_capability_clear_and_set_dword() to simplify the control flow.
> 
> No functional change intended.
> 
> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
> Cc: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

-- 
 i.

> ---
>  drivers/pci/access.c | 22 ++++++++++------------
>  1 file changed, 10 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/pci/access.c b/drivers/pci/access.c
> index 0b2e90d2f04f..6554a2e89d36 100644
> --- a/drivers/pci/access.c
> +++ b/drivers/pci/access.c
> @@ -504,13 +504,12 @@ int pcie_capability_clear_and_set_word_unlocked(struct pci_dev *dev, int pos,
>  	u16 val;
>  
>  	ret = pcie_capability_read_word(dev, pos, &val);
> -	if (!ret) {
> -		val &= ~clear;
> -		val |= set;
> -		ret = pcie_capability_write_word(dev, pos, val);
> -	}
> +	if (ret)
> +		return ret;
>  
> -	return ret;
> +	val &= ~clear;
> +	val |= set;
> +	return pcie_capability_write_word(dev, pos, val);
>  }
>  EXPORT_SYMBOL(pcie_capability_clear_and_set_word_unlocked);
>  
> @@ -535,13 +534,12 @@ int pcie_capability_clear_and_set_dword(struct pci_dev *dev, int pos,
>  	u32 val;
>  
>  	ret = pcie_capability_read_dword(dev, pos, &val);
> -	if (!ret) {
> -		val &= ~clear;
> -		val |= set;
> -		ret = pcie_capability_write_dword(dev, pos, val);
> -	}
> +	if (ret)
> +		return ret;
>  
> -	return ret;
> +	val &= ~clear;
> +	val |= set;
> +	return pcie_capability_write_dword(dev, pos, val);
>  }
>  EXPORT_SYMBOL(pcie_capability_clear_and_set_dword);
>  
>