The smc_special_locks should also be used when either softIRQs or hard
IRQs are preempted which may lead to the same problems as under SMP.
Signed-off-by: Kevin Hilman <[email protected]>
---
drivers/net/smc91x.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c
index f198c49..be62616 100644
--- a/drivers/net/smc91x.c
+++ b/drivers/net/smc91x.c
@@ -530,7 +530,8 @@ static inline void smc_rcv(struct net_device *dev)
}
}
-#ifdef CONFIG_SMP
+#if defined(CONFIG_SMP) || \
+ defined(CONFIG_PREEMPT_SOFTIRQS) || defined(CONFIG_PREEMPT_HARDIRQS)
/*
* On SMP we have the following problem:
*
--
1.5.4
On Wed, 13 Feb 2008, Kevin Hilman wrote:
> The smc_special_locks should also be used when either softIRQs or hard
> IRQs are preempted which may lead to the same problems as under SMP.
>
> Signed-off-by: Kevin Hilman <[email protected]>
Acked-by: Nicolas Pitre <[email protected]>
>
> ---
> drivers/net/smc91x.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c
> index f198c49..be62616 100644
> --- a/drivers/net/smc91x.c
> +++ b/drivers/net/smc91x.c
> @@ -530,7 +530,8 @@ static inline void smc_rcv(struct net_device *dev)
> }
> }
>
> -#ifdef CONFIG_SMP
> +#if defined(CONFIG_SMP) || \
> + defined(CONFIG_PREEMPT_SOFTIRQS) || defined(CONFIG_PREEMPT_HARDIRQS)
> /*
> * On SMP we have the following problem:
> *
> --
> 1.5.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
Nicolas