Re: [PATCH -v2 12/12] Bluetooth: Used void * as parameter in alloc_skb()
From: Gustavo Padovan <hidden>
Date: 2012-05-25 12:41:39
Hi Andrei, * Andrei Emeltchenko [off-list ref] [2012-05-25 15:39:34 +0300]:
Hi Gustavo, On Fri, May 25, 2012 at 09:31:04AM -0300, Gustavo Padovan wrote:quoted
From: Gustavo Padovan <redacted> This keep l2cap chan ops functions parameters in sync. Signed-off-by: Gustavo Padovan <redacted>...quoted
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);...quoted
@@ -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). Gustavo