* Simultaneous data transfer on ACL and BLE links
@ 2013-01-21 21:04 Ajay
0 siblings, 0 replies; only message in thread
From: Ajay @ 2013-01-21 21:04 UTC (permalink / raw)
To: linux-bluetooth
[-- Attachment #1: Type: text/plain, Size: 1431 bytes --]
Hi ,
Kernel has set some restrictions in simultaneous L2cap data
transfer on BLE and ACL links on a common device .
My test scenario is as follows
Device A has both LE and ACL link with device B and C
respectively . when i start sending l2cap data on ACL link (A to B),
it work fine . But when i starts sending BLE data along with ACL data
(A to C ) , it fails with error "send failed : interrupt system call"
. when i count the LE packets that had reached upto hci layer , it
shows some 367 packets.
Later i noticed that LE data is getting queued at hci
layer and it is not scheduled properly . following piece of code
tells us the order of scheduling.. (hci_core.c)
static void hci_tx_task(unsigned long arg)
{
struct hci_dev *hdev = (struct hci_dev *) arg;
struct sk_buff *skb;
read_lock(&hci_task_lock);
BT_DBG("%s acl %d sco %d le %d", hdev->name, hdev->acl_cnt,
hdev->sco_cnt, hdev->le_cnt);
/* Schedule queues and send stuff to HCI driver */
hci_sched_acl(hdev);
hci_sched_sco(hdev);
hci_sched_esco(hdev);
hci_sched_le(hdev);
......
Here both acl and le scheduling are using same count as
reference (hdev->acl_cnt) and they have never make use of hdev->le_cnt.
please kindly go through this issue.
--
Thanks & Regards
AJAY KV
GlobalEdge software Ltd
8892753703
[-- Attachment #2: ajay_kv.vcf --]
[-- Type: text/x-vcard, Size: 74 bytes --]
begin:vcard
fn:AJAY KV
n:;AJAY
tel;cell:8892753703
version:2.1
end:vcard
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2013-01-21 21:04 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-21 21:04 Simultaneous data transfer on ACL and BLE links Ajay
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.