[PATCH] ACPI: CPPC: Return error if _CPC is invalid on a CPU

2016-07-04 Thread Hoan Tran
Based on 8.4.7.1 section of ACPI 6.1 specification, if the platform
supports CPPC, the _CPC object must exist under all processor objects.
If cpc_desc_ptr pointer is invalid on any CPUs, acpi_get_psd_map()
should return error and CPPC cpufreq driver can not be registered.

Signed-off-by: Hoan Tran 
---
 drivers/acpi/cppc_acpi.c | 18 --
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
index 85fd8f7..2e98173 100644
--- a/drivers/acpi/cppc_acpi.c
+++ b/drivers/acpi/cppc_acpi.c
@@ -299,8 +299,10 @@ int acpi_get_psd_map(struct cpudata **all_cpu_data)
continue;
 
cpc_ptr = per_cpu(cpc_desc_ptr, i);
-   if (!cpc_ptr)
-   continue;
+   if (!cpc_ptr) {
+   retval = -EFAULT;
+   goto err_ret;
+   }
 
pdomain = &(cpc_ptr->domain_info);
cpumask_set_cpu(i, pr->shared_cpu_map);
@@ -322,8 +324,10 @@ int acpi_get_psd_map(struct cpudata **all_cpu_data)
continue;
 
match_cpc_ptr = per_cpu(cpc_desc_ptr, j);
-   if (!match_cpc_ptr)
-   continue;
+   if (!match_cpc_ptr) {
+   retval = -EFAULT;
+   goto err_ret;
+   }
 
match_pdomain = &(match_cpc_ptr->domain_info);
if (match_pdomain->domain != pdomain->domain)
@@ -353,8 +357,10 @@ int acpi_get_psd_map(struct cpudata **all_cpu_data)
continue;
 
match_cpc_ptr = per_cpu(cpc_desc_ptr, j);
-   if (!match_cpc_ptr)
-   continue;
+   if (!match_cpc_ptr) {
+   retval = -EFAULT;
+   goto err_ret;
+   }
 
match_pdomain = &(match_cpc_ptr->domain_info);
if (match_pdomain->domain != pdomain->domain)
-- 
1.9.1



[PATCH] ACPI: CPPC: Return error if _CPC is invalid on a CPU

2016-07-04 Thread Hoan Tran
Based on 8.4.7.1 section of ACPI 6.1 specification, if the platform
supports CPPC, the _CPC object must exist under all processor objects.
If cpc_desc_ptr pointer is invalid on any CPUs, acpi_get_psd_map()
should return error and CPPC cpufreq driver can not be registered.

Signed-off-by: Hoan Tran 
---
 drivers/acpi/cppc_acpi.c | 18 --
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
index 85fd8f7..2e98173 100644
--- a/drivers/acpi/cppc_acpi.c
+++ b/drivers/acpi/cppc_acpi.c
@@ -299,8 +299,10 @@ int acpi_get_psd_map(struct cpudata **all_cpu_data)
continue;
 
cpc_ptr = per_cpu(cpc_desc_ptr, i);
-   if (!cpc_ptr)
-   continue;
+   if (!cpc_ptr) {
+   retval = -EFAULT;
+   goto err_ret;
+   }
 
pdomain = &(cpc_ptr->domain_info);
cpumask_set_cpu(i, pr->shared_cpu_map);
@@ -322,8 +324,10 @@ int acpi_get_psd_map(struct cpudata **all_cpu_data)
continue;
 
match_cpc_ptr = per_cpu(cpc_desc_ptr, j);
-   if (!match_cpc_ptr)
-   continue;
+   if (!match_cpc_ptr) {
+   retval = -EFAULT;
+   goto err_ret;
+   }
 
match_pdomain = &(match_cpc_ptr->domain_info);
if (match_pdomain->domain != pdomain->domain)
@@ -353,8 +357,10 @@ int acpi_get_psd_map(struct cpudata **all_cpu_data)
continue;
 
match_cpc_ptr = per_cpu(cpc_desc_ptr, j);
-   if (!match_cpc_ptr)
-   continue;
+   if (!match_cpc_ptr) {
+   retval = -EFAULT;
+   goto err_ret;
+   }
 
match_pdomain = &(match_cpc_ptr->domain_info);
if (match_pdomain->domain != pdomain->domain)
-- 
1.9.1



Re: [PATCH] ACPI: CPPC: Return error if _CPC is invalid on a CPU

2016-06-24 Thread Rafael J. Wysocki
On Wednesday, June 22, 2016 11:01:42 AM Prakash, Prashanth wrote:
> Hi Hoan,
> 
> On 6/17/2016 4:16 PM, Hoan Tran wrote:
> > Based on 8.4.7.1 section of ACPI 6.1 specification, if the platform
> > supports CPPC, the _CPC object must exist under all processor objects.
> > If cpc_desc_ptr pointer is invalid on any CPUs, acpi_get_psd_map()
> > should return error and CPPC cpufreq driver can not be registered.
> >
> > Signed-off-by: Hoan Tran 
> This patch looks good to me. So,
> 
> Reviewed-by: Prashanth Prakash 

Patch applied, thanks!



Re: [PATCH] ACPI: CPPC: Return error if _CPC is invalid on a CPU

2016-06-24 Thread Rafael J. Wysocki
On Wednesday, June 22, 2016 11:01:42 AM Prakash, Prashanth wrote:
> Hi Hoan,
> 
> On 6/17/2016 4:16 PM, Hoan Tran wrote:
> > Based on 8.4.7.1 section of ACPI 6.1 specification, if the platform
> > supports CPPC, the _CPC object must exist under all processor objects.
> > If cpc_desc_ptr pointer is invalid on any CPUs, acpi_get_psd_map()
> > should return error and CPPC cpufreq driver can not be registered.
> >
> > Signed-off-by: Hoan Tran 
> This patch looks good to me. So,
> 
> Reviewed-by: Prashanth Prakash 

Patch applied, thanks!



Re: [PATCH] ACPI: CPPC: Return error if _CPC is invalid on a CPU

2016-06-22 Thread Prakash, Prashanth
Hi Hoan,

On 6/17/2016 4:16 PM, Hoan Tran wrote:
> Based on 8.4.7.1 section of ACPI 6.1 specification, if the platform
> supports CPPC, the _CPC object must exist under all processor objects.
> If cpc_desc_ptr pointer is invalid on any CPUs, acpi_get_psd_map()
> should return error and CPPC cpufreq driver can not be registered.
>
> Signed-off-by: Hoan Tran 
This patch looks good to me. So,

Reviewed-by: Prashanth Prakash 

Thanks,
Prashanth


Re: [PATCH] ACPI: CPPC: Return error if _CPC is invalid on a CPU

2016-06-22 Thread Prakash, Prashanth
Hi Hoan,

On 6/17/2016 4:16 PM, Hoan Tran wrote:
> Based on 8.4.7.1 section of ACPI 6.1 specification, if the platform
> supports CPPC, the _CPC object must exist under all processor objects.
> If cpc_desc_ptr pointer is invalid on any CPUs, acpi_get_psd_map()
> should return error and CPPC cpufreq driver can not be registered.
>
> Signed-off-by: Hoan Tran 
This patch looks good to me. So,

Reviewed-by: Prashanth Prakash 

Thanks,
Prashanth


[PATCH] ACPI: CPPC: Return error if _CPC is invalid on a CPU

2016-06-17 Thread Hoan Tran
Based on 8.4.7.1 section of ACPI 6.1 specification, if the platform
supports CPPC, the _CPC object must exist under all processor objects.
If cpc_desc_ptr pointer is invalid on any CPUs, acpi_get_psd_map()
should return error and CPPC cpufreq driver can not be registered.

Signed-off-by: Hoan Tran 
---
 drivers/acpi/cppc_acpi.c | 18 --
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
index 85fd8f7..2e98173 100644
--- a/drivers/acpi/cppc_acpi.c
+++ b/drivers/acpi/cppc_acpi.c
@@ -299,8 +299,10 @@ int acpi_get_psd_map(struct cpudata **all_cpu_data)
continue;
 
cpc_ptr = per_cpu(cpc_desc_ptr, i);
-   if (!cpc_ptr)
-   continue;
+   if (!cpc_ptr) {
+   retval = -EFAULT;
+   goto err_ret;
+   }
 
pdomain = &(cpc_ptr->domain_info);
cpumask_set_cpu(i, pr->shared_cpu_map);
@@ -322,8 +324,10 @@ int acpi_get_psd_map(struct cpudata **all_cpu_data)
continue;
 
match_cpc_ptr = per_cpu(cpc_desc_ptr, j);
-   if (!match_cpc_ptr)
-   continue;
+   if (!match_cpc_ptr) {
+   retval = -EFAULT;
+   goto err_ret;
+   }
 
match_pdomain = &(match_cpc_ptr->domain_info);
if (match_pdomain->domain != pdomain->domain)
@@ -353,8 +357,10 @@ int acpi_get_psd_map(struct cpudata **all_cpu_data)
continue;
 
match_cpc_ptr = per_cpu(cpc_desc_ptr, j);
-   if (!match_cpc_ptr)
-   continue;
+   if (!match_cpc_ptr) {
+   retval = -EFAULT;
+   goto err_ret;
+   }
 
match_pdomain = &(match_cpc_ptr->domain_info);
if (match_pdomain->domain != pdomain->domain)
-- 
1.9.1



[PATCH] ACPI: CPPC: Return error if _CPC is invalid on a CPU

2016-06-17 Thread Hoan Tran
Based on 8.4.7.1 section of ACPI 6.1 specification, if the platform
supports CPPC, the _CPC object must exist under all processor objects.
If cpc_desc_ptr pointer is invalid on any CPUs, acpi_get_psd_map()
should return error and CPPC cpufreq driver can not be registered.

Signed-off-by: Hoan Tran 
---
 drivers/acpi/cppc_acpi.c | 18 --
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
index 85fd8f7..2e98173 100644
--- a/drivers/acpi/cppc_acpi.c
+++ b/drivers/acpi/cppc_acpi.c
@@ -299,8 +299,10 @@ int acpi_get_psd_map(struct cpudata **all_cpu_data)
continue;
 
cpc_ptr = per_cpu(cpc_desc_ptr, i);
-   if (!cpc_ptr)
-   continue;
+   if (!cpc_ptr) {
+   retval = -EFAULT;
+   goto err_ret;
+   }
 
pdomain = &(cpc_ptr->domain_info);
cpumask_set_cpu(i, pr->shared_cpu_map);
@@ -322,8 +324,10 @@ int acpi_get_psd_map(struct cpudata **all_cpu_data)
continue;
 
match_cpc_ptr = per_cpu(cpc_desc_ptr, j);
-   if (!match_cpc_ptr)
-   continue;
+   if (!match_cpc_ptr) {
+   retval = -EFAULT;
+   goto err_ret;
+   }
 
match_pdomain = &(match_cpc_ptr->domain_info);
if (match_pdomain->domain != pdomain->domain)
@@ -353,8 +357,10 @@ int acpi_get_psd_map(struct cpudata **all_cpu_data)
continue;
 
match_cpc_ptr = per_cpu(cpc_desc_ptr, j);
-   if (!match_cpc_ptr)
-   continue;
+   if (!match_cpc_ptr) {
+   retval = -EFAULT;
+   goto err_ret;
+   }
 
match_pdomain = &(match_cpc_ptr->domain_info);
if (match_pdomain->domain != pdomain->domain)
-- 
1.9.1