Re: [PATCH 5/14] drivers/net/sb1000.c: delete double assignment

From: Julia Lawall
Date: Tue Oct 26 2010 - 08:25:23 EST


On Tue, 26 Oct 2010, walter harms wrote:

>
>
> Julia Lawall schrieb:
> > From: Julia Lawall <julia@xxxxxxx>
> >
> > The other code around these duplicated assignments initializes the 0 1 2
> > and 3 elements of an array, so change the initialization of the
> > rx_session_id array to do the same.
> >
> > A simplified version of the semantic match that finds this problem is as
> > follows: (http://coccinelle.lip6.fr/)
> >
> > // <smpl>
> > @@
> > expression i;
> > @@
> >
> > *i = ...;
> > i = ...;
> > // </smpl>
> >
> > Signed-off-by: Julia Lawall <julia@xxxxxxx>
> >
> > ---
> > This changes the semantics and has not been tested.
> >
> > drivers/net/sb1000.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/net/sb1000.c b/drivers/net/sb1000.c
> > index a9ae505..66c2f1a 100644
> > --- a/drivers/net/sb1000.c
> > +++ b/drivers/net/sb1000.c
> > @@ -961,9 +961,9 @@ sb1000_open(struct net_device *dev)
> > lp->rx_error_count = 0;
> > lp->rx_error_dpc_count = 0;
> > lp->rx_session_id[0] = 0x50;
> > - lp->rx_session_id[0] = 0x48;
> > - lp->rx_session_id[0] = 0x44;
> > - lp->rx_session_id[0] = 0x42;
> > + lp->rx_session_id[1] = 0x48;
> > + lp->rx_session_id[2] = 0x44;
> > + lp->rx_session_id[3] = 0x42;
> > lp->rx_frame_id[0] = 0;
> > lp->rx_frame_id[1] = 0;
> > lp->rx_frame_id[2] = 0;
> >
>
> /me is surprised that this did not cause more problems.
> Is it needed at all ?

The field appears to be useful. However, there is an ioctl that also
initializes the elements of this field with these values and that is
implemented correctly. Perhaps that was sufficient to hide the problem in
practice.

julia
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/