diff mbox

[U-Boot,01/10] x86: Return -1 when reading a PCI config register fails

Message ID 1439431779-16857-2-git-send-email-sjg@chromium.org
State Accepted
Delegated to: Simon Glass
Headers show

Commit Message

Simon Glass Aug. 13, 2015, 2:09 a.m. UTC
This can fail for internal reasons, so return a sensible value rather than
a random one.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/x86/cpu/pci.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Comments

Bin Meng Aug. 13, 2015, 2:44 a.m. UTC | #1
On Thu, Aug 13, 2015 at 10:09 AM, Simon Glass <sjg@chromium.org> wrote:
> This can fail for internal reasons, so return a sensible value rather than
> a random one.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
>  arch/x86/cpu/pci.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/cpu/pci.c b/arch/x86/cpu/pci.c
> index f8da080..d2ec45a 100644
> --- a/arch/x86/cpu/pci.c
> +++ b/arch/x86/cpu/pci.c
> @@ -76,7 +76,8 @@ unsigned int x86_pci_read_config8(pci_dev_t dev, unsigned where)
>  {
>         uint8_t value;
>
> -       pci_hose_read_config_byte(get_hose(), dev, where, &value);
> +       if (pci_hose_read_config_byte(get_hose(), dev, where, &value))
> +               return -1U;
>
>         return value;
>  }
> @@ -85,7 +86,8 @@ unsigned int x86_pci_read_config16(pci_dev_t dev, unsigned where)
>  {
>         uint16_t value;
>
> -       pci_hose_read_config_word(get_hose(), dev, where, &value);
> +       if (pci_hose_read_config_word(get_hose(), dev, where, &value))
> +               return -1U;
>
>         return value;
>  }
> @@ -94,7 +96,8 @@ unsigned int x86_pci_read_config32(pci_dev_t dev, unsigned where)
>  {
>         uint32_t value;
>
> -       pci_hose_read_config_dword(get_hose(), dev, where, &value);
> +       if (pci_hose_read_config_dword(get_hose(), dev, where, &value))
> +               return -1U;
>
>         return value;
>  }
> --

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Simon Glass Aug. 14, 2015, 4:49 p.m. UTC | #2
On 12 August 2015 at 20:44, Bin Meng <bmeng.cn@gmail.com> wrote:
> On Thu, Aug 13, 2015 at 10:09 AM, Simon Glass <sjg@chromium.org> wrote:
>> This can fail for internal reasons, so return a sensible value rather than
>> a random one.
>>
>> Signed-off-by: Simon Glass <sjg@chromium.org>
>> ---
>>
>>  arch/x86/cpu/pci.c | 9 ++++++---
>>  1 file changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git a/arch/x86/cpu/pci.c b/arch/x86/cpu/pci.c
>> index f8da080..d2ec45a 100644
>> --- a/arch/x86/cpu/pci.c
>> +++ b/arch/x86/cpu/pci.c
>> @@ -76,7 +76,8 @@ unsigned int x86_pci_read_config8(pci_dev_t dev, unsigned where)
>>  {
>>         uint8_t value;
>>
>> -       pci_hose_read_config_byte(get_hose(), dev, where, &value);
>> +       if (pci_hose_read_config_byte(get_hose(), dev, where, &value))
>> +               return -1U;
>>
>>         return value;
>>  }
>> @@ -85,7 +86,8 @@ unsigned int x86_pci_read_config16(pci_dev_t dev, unsigned where)
>>  {
>>         uint16_t value;
>>
>> -       pci_hose_read_config_word(get_hose(), dev, where, &value);
>> +       if (pci_hose_read_config_word(get_hose(), dev, where, &value))
>> +               return -1U;
>>
>>         return value;
>>  }
>> @@ -94,7 +96,8 @@ unsigned int x86_pci_read_config32(pci_dev_t dev, unsigned where)
>>  {
>>         uint32_t value;
>>
>> -       pci_hose_read_config_dword(get_hose(), dev, where, &value);
>> +       if (pci_hose_read_config_dword(get_hose(), dev, where, &value))
>> +               return -1U;
>>
>>         return value;
>>  }
>> --
>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

Applied to u-boot-x86.
diff mbox

Patch

diff --git a/arch/x86/cpu/pci.c b/arch/x86/cpu/pci.c
index f8da080..d2ec45a 100644
--- a/arch/x86/cpu/pci.c
+++ b/arch/x86/cpu/pci.c
@@ -76,7 +76,8 @@  unsigned int x86_pci_read_config8(pci_dev_t dev, unsigned where)
 {
 	uint8_t value;
 
-	pci_hose_read_config_byte(get_hose(), dev, where, &value);
+	if (pci_hose_read_config_byte(get_hose(), dev, where, &value))
+		return -1U;
 
 	return value;
 }
@@ -85,7 +86,8 @@  unsigned int x86_pci_read_config16(pci_dev_t dev, unsigned where)
 {
 	uint16_t value;
 
-	pci_hose_read_config_word(get_hose(), dev, where, &value);
+	if (pci_hose_read_config_word(get_hose(), dev, where, &value))
+		return -1U;
 
 	return value;
 }
@@ -94,7 +96,8 @@  unsigned int x86_pci_read_config32(pci_dev_t dev, unsigned where)
 {
 	uint32_t value;
 
-	pci_hose_read_config_dword(get_hose(), dev, where, &value);
+	if (pci_hose_read_config_dword(get_hose(), dev, where, &value))
+		return -1U;
 
 	return value;
 }