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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 24 Aug 2023, Bjorn Helgaas wrote:

> From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> 
> 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@xxxxxxxxxx>
> Cc: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>

-- 
 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);
>  
> 

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux