2009-10-19 08:40:50

by Li Hong

[permalink] [raw]
Subject: [PATCH] amd64_edac: fix a wrong goto clause in amd64_edac.c

In amd64_edac_init(void) in amd64_edac.c, cache_k8_northbridges() is called
before pci_register_driver. If it fails, should exit with err directly.

Signed-off-by: Li Hong <[email protected]>
---
drivers/edac/amd64_edac.c | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
index d4560d9..3ee539a 100644
--- a/drivers/edac/amd64_edac.c
+++ b/drivers/edac/amd64_edac.c
@@ -3163,7 +3163,7 @@ static int __init amd64_edac_init(void)
opstate_init();

if (cache_k8_northbridges() < 0)
- goto err_exit;
+ return err;

err = pci_register_driver(&amd64_pci_driver);
if (err)
@@ -3189,8 +3189,6 @@ static int __init amd64_edac_init(void)

err_2nd_stage:
debugf0("2nd stage failed\n");
-
-err_exit:
pci_unregister_driver(&amd64_pci_driver);

return err;
--
1.6.0.4


Subject: Re: [PATCH] amd64_edac: fix a wrong goto clause in amd64_edac.c

On Mon, Oct 19, 2009 at 04:33:29PM +0800, Li Hong wrote:
> In amd64_edac_init(void) in amd64_edac.c, cache_k8_northbridges() is called
> before pci_register_driver. If it fails, should exit with err directly.
>
> Signed-off-by: Li Hong <[email protected]>

Thanks, queued for the next .32 update.

By the way, is this something you've caught by looking at the code
or is it a condition you're hitting on a real system with a specific
workload? If it is the second, I'd like to know more wrt to why
cache_k8_northbridges() is failing in your particular case.

Thanks.

--
Regards/Gruss,
Boris.

Operating | Advanced Micro Devices GmbH
System | Karl-Hammerschmidt-Str. 34, 85609 Dornach b. M?nchen, Germany
Research | Gesch?ftsf?hrer: Andrew Bowd, Thomas M. McCoy, Giuliano Meroni
Center | Sitz: Dornach, Gemeinde Aschheim, Landkreis M?nchen
(OSRC) | Registergericht M?nchen, HRB Nr. 43632

2009-10-19 15:05:04

by Doug Thompson

[permalink] [raw]
Subject: Re: [PATCH] amd64_edac: fix a wrong goto clause in amd64_edac.c



--- On Mon, 10/19/09, Li Hong <[email protected]> wrote:

> From: Li Hong <[email protected]>
> Subject: [PATCH] amd64_edac: fix a wrong goto clause in amd64_edac.c
> To: "Borislav Petkov" <[email protected]>, "Doug Thompson" <[email protected]>, [email protected]
> Date: Monday, October 19, 2009, 2:33 AM
> In amd64_edac_init(void) in
> amd64_edac.c, cache_k8_northbridges() is called
> before pci_register_driver. If it fails, should exit with
> err directly.
>
> Signed-off-by: Li Hong <[email protected]>

Acked-by: Doug Thompson <[email protected]>


> ---
> drivers/edac/amd64_edac.c |? ? 4 +---
> 1 files changed, 1 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/edac/amd64_edac.c
> b/drivers/edac/amd64_edac.c
> index d4560d9..3ee539a 100644
> --- a/drivers/edac/amd64_edac.c
> +++ b/drivers/edac/amd64_edac.c
> @@ -3163,7 +3163,7 @@ static int __init
> amd64_edac_init(void)
> ??? opstate_init();
>
> ??? if (cache_k8_northbridges() < 0)
> -??? ??? goto err_exit;
> +??? ??? return err;
>
> ??? err =
> pci_register_driver(&amd64_pci_driver);
> ??? if (err)
> @@ -3189,8 +3189,6 @@ static int __init
> amd64_edac_init(void)
>
> err_2nd_stage:
> ??? debugf0("2nd stage failed\n");
> -
> -err_exit:
> ???
> pci_unregister_driver(&amd64_pci_driver);
>
> ??? return err;
> --
> 1.6.0.4
>
>

2009-10-20 01:39:20

by Li Hong

[permalink] [raw]
Subject: Re: [PATCH] amd64_edac: fix a wrong goto clause in amd64_edac.c

Just caught by looking at the code. Thanks.

2009/10/19 Borislav Petkov <[email protected]>:
> On Mon, Oct 19, 2009 at 04:33:29PM +0800, Li Hong wrote:
>> In amd64_edac_init(void) in amd64_edac.c, cache_k8_northbridges() is called
>> before pci_register_driver. If it fails, should exit with err directly.
>>
>> Signed-off-by: Li Hong <[email protected]>
>
> Thanks, queued for the next .32 update.
>
> By the way, is this something you've caught by looking at the code
> or is it a condition you're hitting on a real system with a specific
> workload? If it is the second, I'd like to know more wrt to why
> cache_k8_northbridges() is failing in your particular case.
>
> Thanks.
>
> --
> Regards/Gruss,
> Boris.
>
> Operating | Advanced Micro Devices GmbH
> ?System ?| Karl-Hammerschmidt-Str. 34, 85609 Dornach b. M?nchen, Germany
> ?Research | Gesch?ftsf?hrer: Andrew Bowd, Thomas M. McCoy, Giuliano Meroni
> ?Center ?| Sitz: Dornach, Gemeinde Aschheim, Landkreis M?nchen
> ?(OSRC) ?| Registergericht M?nchen, HRB Nr. 43632
>
>