Am 28.09.2013 21:50, schrieb Aaro Koskinen: > Currently the driver assumes that CPU 0 is handling all the hard IRQs. > This is wrong in Linux SMP systems where user is allowed to assign to > hardware IRQs to any CPU. The driver will stop working if user sets > smp_affinity so that interrupts end up being handled by other than CPU > 0. The patch fixes that. > > Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> > --- > drivers/staging/octeon/ethernet-rx.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/staging/octeon/ethernet-rx.c b/drivers/staging/octeon/ethernet-rx.c > index e14a1bb..de831c1 100644 > --- a/drivers/staging/octeon/ethernet-rx.c > +++ b/drivers/staging/octeon/ethernet-rx.c > @@ -80,6 +80,8 @@ struct cvm_oct_core_state { > > static struct cvm_oct_core_state core_state __cacheline_aligned_in_smp; > > +static int cvm_irq_cpu = -1; Why are you introducing a new global variable here? Can't you pass cvm_irq_cpu as argument to cvm_oct_enable_napi()? Thanks, //richard