Linux bluetooth development
 help / color / mirror / Atom feed
* [RFC] Bluetooth: Provide access to reassembled Rx packets
@ 2010-07-26  6:02 Suraj Sumangala
  2010-07-26  6:13 ` Marcel Holtmann
  0 siblings, 1 reply; 3+ messages in thread
From: Suraj Sumangala @ 2010-07-26  6:02 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Jothikumar.Mothilal, Suraj Sumangala

Provide the HCI transport driver access to reassembled Rx packets before
sending to Host.

Signed-off-by: Suraj Sumangala <suraj@atheros.com>
---
 include/net/bluetooth/hci_core.h |    1 +
 net/bluetooth/hci_core.c         |    4 ++++
 2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
index 350b3e6..769530b 100644
--- a/include/net/bluetooth/hci_core.h
+++ b/include/net/bluetooth/hci_core.h
@@ -156,6 +156,7 @@ struct hci_dev {
 	int (*close)(struct hci_dev *hdev);
 	int (*flush)(struct hci_dev *hdev);
 	int (*send)(struct sk_buff *skb);
+	int (*recv)(struct hci_dev *hdev, struct sk_buff *skb);
 	void (*destruct)(struct hci_dev *hdev);
 	void (*notify)(struct hci_dev *hdev, unsigned int evt);
 	int (*ioctl)(struct hci_dev *hdev, unsigned int cmd, unsigned long arg);
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 995c9f9..8d74f9d 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -1132,6 +1132,10 @@ static int hci_reassembly(struct hci_dev *hdev, int type, void *data,
 			/* Complete frame */
 
 			bt_cb(skb)->pkt_type = type;
+
+			if (hdev->recv)
+				hdev->recv(hdev, skb);
+
 			hci_recv_frame(skb);
 
 			hdev->reassembly[index] = NULL;
-- 
1.7.0.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [RFC] Bluetooth: Provide access to reassembled Rx packets
  2010-07-26  6:02 [RFC] Bluetooth: Provide access to reassembled Rx packets Suraj Sumangala
@ 2010-07-26  6:13 ` Marcel Holtmann
  2010-07-26  6:27   ` Suraj
  0 siblings, 1 reply; 3+ messages in thread
From: Marcel Holtmann @ 2010-07-26  6:13 UTC (permalink / raw)
  To: Suraj Sumangala; +Cc: linux-bluetooth, Jothikumar.Mothilal

Hi Suraj,

> Provide the HCI transport driver access to reassembled Rx packets before
> sending to Host.
> 
> Signed-off-by: Suraj Sumangala <suraj@atheros.com>
> ---
>  include/net/bluetooth/hci_core.h |    1 +
>  net/bluetooth/hci_core.c         |    4 ++++
>  2 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
> index 350b3e6..769530b 100644
> --- a/include/net/bluetooth/hci_core.h
> +++ b/include/net/bluetooth/hci_core.h
> @@ -156,6 +156,7 @@ struct hci_dev {
>  	int (*close)(struct hci_dev *hdev);
>  	int (*flush)(struct hci_dev *hdev);
>  	int (*send)(struct sk_buff *skb);
> +	int (*recv)(struct hci_dev *hdev, struct sk_buff *skb);

besides the fact that skb->dev == hdev, why would be doing something
like this? This is highly inefficient.

Regards

Marcel



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RFC] Bluetooth: Provide access to reassembled Rx packets
  2010-07-26  6:13 ` Marcel Holtmann
@ 2010-07-26  6:27   ` Suraj
  0 siblings, 0 replies; 3+ messages in thread
From: Suraj @ 2010-07-26  6:27 UTC (permalink / raw)
  To: Marcel Holtmann
  Cc: Suraj Sumangala, linux-bluetooth@vger.kernel.org,
	Jothikumar Mothilal

Hi Marcel,

On 7/26/2010 11:43 AM, Marcel Holtmann wrote:
> Hi Suraj,
>
>> Provide the HCI transport driver access to reassembled Rx packets before
>> sending to Host.
>>
>> Signed-off-by: Suraj Sumangala<suraj@atheros.com>
>> ---
>>   include/net/bluetooth/hci_core.h |    1 +
>>   net/bluetooth/hci_core.c         |    4 ++++
>>   2 files changed, 5 insertions(+), 0 deletions(-)
>>
>> diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
>> index 350b3e6..769530b 100644
>> --- a/include/net/bluetooth/hci_core.h
>> +++ b/include/net/bluetooth/hci_core.h
>> @@ -156,6 +156,7 @@ struct hci_dev {
>>   	int (*close)(struct hci_dev *hdev);
>>   	int (*flush)(struct hci_dev *hdev);
>>   	int (*send)(struct sk_buff *skb);
>> +	int (*recv)(struct hci_dev *hdev, struct sk_buff *skb);
>
> besides the fact that skb->dev == hdev, why would be doing something
> like this? This is highly inefficient.
The idea was to provide the driver access the hci_dev structure.
Yes, as long as we have "skb->dev == hdev", called should be able to 
extract it from the skbuff.
>
> Regards
>
> Marcel
>

Regards
Suraj

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-07-26  6:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-07-26  6:02 [RFC] Bluetooth: Provide access to reassembled Rx packets Suraj Sumangala
2010-07-26  6:13 ` Marcel Holtmann
2010-07-26  6:27   ` Suraj

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox