Hi Gustavo, > > On Fri, May 25, 2012 at 09:31:04AM -0300, Gustavo Padovan wrote: > > > From: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> > > > > > > This keep l2cap chan ops functions parameters in sync. > > > > > > Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> > > > > ... > > > > > diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h > > > index 25a85ab..0f8886b 100644 > > > --- a/include/net/bluetooth/l2cap.h > > > +++ b/include/net/bluetooth/l2cap.h > > > @@ -532,8 +532,8 @@ struct l2cap_ops { > > > void (*close) (void *data); > > > void (*teardown) (void *data, int err); > > > void (*state_change) (void *data, int state); > > > - struct sk_buff *(*alloc_skb) (struct l2cap_chan *chan, > > > - unsigned long len, int nb); > > > + struct sk_buff *(*alloc_skb) (void *data, unsigned long len, > > > + int nb); > > > > ... > > > > > @@ -1893,7 +1893,7 @@ static inline int l2cap_skbuff_fromiovec(struct l2cap_chan *chan, > > > > > > count = min_t(unsigned int, conn->mtu, len); > > > > > > - tmp = chan->ops->alloc_skb(chan, count, > > > + tmp = chan->ops->alloc_skb(chan->data, count, > > > > Why do we need to pass chan->data instead of chan? > > We are changing this to make this call have the same parameter as the other > ops calls, i.e., a void *, so we just pass chan->data here which is the user > data (struct sock *sk in the l2cap_sock.c case). so what is the problem to just pass l2cap_chan in here for all calls and then have the it do chan->data inside the callback. This void *data thing is dead ugly. Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html