Re: [RFCv0] Bluetooth: General HCI callback implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Andrei,

> > > Add general HCI callback implementation. Can be used for executing
> > > HCI commands from A2MP protocol.
> > > ---
> > >  include/net/bluetooth/hci_core.h |   14 +++++++++++
> > >  net/bluetooth/hci_core.c         |   47 ++++++++++++++++++++++++++++++++++++++
> > >  net/bluetooth/hci_event.c        |    4 +++
> > >  3 files changed, 65 insertions(+), 0 deletions(-)
> > > 
> > > diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
> > > index cc5481d..e473cd2 100644
> > > --- a/include/net/bluetooth/hci_core.h
> > > +++ b/include/net/bluetooth/hci_core.h
> > > @@ -121,6 +121,15 @@ struct adv_entry {
> > >  	u8 bdaddr_type;
> > >  };
> > >  
> > > +struct hci_dev;
> > > +
> > > +struct cb_cmd {
> > > +	struct list_head list;
> > > +	u16 opcode;
> > > +	void *opt;
> > > +	void (*cb)(struct hci_dev *hdev, void *opt);
> > > +};
> > > +
> > 
> > so I am actually thinking that we might just update hci_request into a
> > bit more flexible schema.
> 
> Do you mean that we can use blocking hci_request? This may work but some
> commands requires special logic (like executing several Read AMP Assoc
> data requests). I don't know would it be the best solution especially when
> executing from A2MP/L2CAP code.

that is my point exactly. Once we do HCI processing in process context,
we will also have L2CAP running fully in process context. Hence it could
just wait for the result.

> > Gustavo is working on moving everything into a process context, so we
> > can actually sleep. And we could just make a simple premise to only
> 
> This would be good, meanwhile I have implemented callback execution in a
> workqueue. I will send second RFC version later today.

Not sure how that helps us right now. I rather wait a bit for Gustavo to
submit his patchset and then we figure this out. It seems to be a more
general problem anyway and we keep hitting it quite of often right now.

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


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux