On Tue, Feb 09, 2010 at 06:26:02PM +0100, Oliver Hartkopp wrote:
> Wolfgang Grandegger wrote:
[...]
> > Index: 2.6/drivers/net/can/sja1000/sja1000.c
> > ===================================================================
> > --- 2.6.orig/drivers/net/can/sja1000/sja1000.c
> > +++ 2.6/drivers/net/can/sja1000/sja1000.c
> > @@ -133,9 +133,13 @@ static void set_normal_mode(struct net_d
> >     for (i = 0; i < 100; i++) {
> >             /* check reset bit */
> >             if ((status & MOD_RM) == 0) {
> > +                   u8 reg_ier = IRQ_ALL;
> > +
> > +                   if (!(priv->can.ctrlmode & CAN_CTRLMODE_BUS_ERROR))
> > +                           reg_ier &= ~IRQ_BEI;
> >                     priv->can.state = CAN_STATE_ERROR_ACTIVE;
> > -                   /* enable all interrupts */
> > -                   priv->write_reg(priv, REG_IER, IRQ_ALL);
> > +                   /* enable interrupts */
> > +                   priv->write_reg(priv, REG_IER, reg_ier);
> >                     return;
> >             }
> 
> 
> Why did you introduce the extra variable here?
> 
>               priv->can.state = CAN_STATE_ERROR_ACTIVE;
>               /* enable interrupts */
>               if (!(priv->can.ctrlmode & CAN_CTRLMODE_BUS_ERROR))
>                       priv->write_reg(priv, REG_IER, (IRQ_ALL & ~IRQ_BEI));
>               else
>                       priv->write_reg(priv, REG_IER, IRQ_ALL);
> 
> Won't this work also?
Just a question: is stack space an issue over code space?
> 
> Regards,
> Oliver

Kurt
_______________________________________________
Socketcan-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/socketcan-users

Reply via email to