diff mbox

[v2] soc: ti: qmss: fix the case when !SMP

Message ID 20161130165351.1154-1-grygorii.strashko@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Grygorii Strashko Nov. 30, 2016, 4:53 p.m. UTC
The irq_set_affinity_hint() will always fail when !SMP and
Networking will fail on Keystone 2 devices in this case.
Hence, fix by ignoring IRQ affinity settings when !SMP.

Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
---
 drivers/soc/ti/knav_qmss_queue.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Grygorii Strashko Nov. 30, 2016, 5:09 p.m. UTC | #1
+ Santosh Shilimkar <santosh.shilimkar@oracle.com>

On 11/30/2016 10:53 AM, Grygorii Strashko wrote:
> The irq_set_affinity_hint() will always fail when !SMP and
> Networking will fail on Keystone 2 devices in this case.
> Hence, fix by ignoring IRQ affinity settings when !SMP.
>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
> ---
>  drivers/soc/ti/knav_qmss_queue.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/soc/ti/knav_qmss_queue.c b/drivers/soc/ti/knav_qmss_queue.c
> index b73e353..eacad57 100644
> --- a/drivers/soc/ti/knav_qmss_queue.c
> +++ b/drivers/soc/ti/knav_qmss_queue.c
> @@ -1228,7 +1228,7 @@ static int knav_setup_queue_range(struct knav_device *kdev,
>
>  		range->num_irqs++;
>
> -		if (oirq.args_count == 3)
> +		if (IS_ENABLED(CONFIG_SMP) && oirq.args_count == 3)
>  			range->irqs[i].cpu_map =
>  				(oirq.args[2] & 0x0000ff00) >> 8;
>  	}
>
Santosh Shilimkar Nov. 30, 2016, 5:13 p.m. UTC | #2
Hi Anrd,

Can you apply this to your non critical fixes queue ?

On 11/30/2016 9:09 AM, Grygorii Strashko wrote:
> + Santosh Shilimkar <santosh.shilimkar@oracle.com>
>
> On 11/30/2016 10:53 AM, Grygorii Strashko wrote:
>> The irq_set_affinity_hint() will always fail when !SMP and
>> Networking will fail on Keystone 2 devices in this case.
>> Hence, fix by ignoring IRQ affinity settings when !SMP.
>>
>> Cc: Arnd Bergmann <arnd@arndb.de>
>> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
>> ---
Acked-by: Santosh Shilimkar <ssantosh@kernel.org>

>>  drivers/soc/ti/knav_qmss_queue.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/soc/ti/knav_qmss_queue.c
>> b/drivers/soc/ti/knav_qmss_queue.c
>> index b73e353..eacad57 100644
>> --- a/drivers/soc/ti/knav_qmss_queue.c
>> +++ b/drivers/soc/ti/knav_qmss_queue.c
>> @@ -1228,7 +1228,7 @@ static int knav_setup_queue_range(struct
>> knav_device *kdev,
>>
>>          range->num_irqs++;
>>
>> -        if (oirq.args_count == 3)
>> +        if (IS_ENABLED(CONFIG_SMP) && oirq.args_count == 3)
>>              range->irqs[i].cpu_map =
>>                  (oirq.args[2] & 0x0000ff00) >> 8;
>>      }
>>
>
Arnd Bergmann Nov. 30, 2016, 9:11 p.m. UTC | #3
On Wednesday, November 30, 2016 9:13:44 AM CET Santosh Shilimkar wrote:
> 
> Can you apply this to your non critical fixes queue ?
> 
> On 11/30/2016 9:09 AM, Grygorii Strashko wrote:
> > + Santosh Shilimkar <santosh.shilimkar@oracle.com>
> >
> > On 11/30/2016 10:53 AM, Grygorii Strashko wrote:
> >> The irq_set_affinity_hint() will always fail when !SMP and
> >> Networking will fail on Keystone 2 devices in this case.
> >> Hence, fix by ignoring IRQ affinity settings when !SMP.
> >>
> >> Cc: Arnd Bergmann <arnd@arndb.de>
> >> Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
> >> ---
> Acked-by: Santosh Shilimkar <ssantosh@kernel.org>
> 
> 

Applied, thanks!

	Arnd
diff mbox

Patch

diff --git a/drivers/soc/ti/knav_qmss_queue.c b/drivers/soc/ti/knav_qmss_queue.c
index b73e353..eacad57 100644
--- a/drivers/soc/ti/knav_qmss_queue.c
+++ b/drivers/soc/ti/knav_qmss_queue.c
@@ -1228,7 +1228,7 @@  static int knav_setup_queue_range(struct knav_device *kdev,
 
 		range->num_irqs++;
 
-		if (oirq.args_count == 3)
+		if (IS_ENABLED(CONFIG_SMP) && oirq.args_count == 3)
 			range->irqs[i].cpu_map =
 				(oirq.args[2] & 0x0000ff00) >> 8;
 	}