Hi Marcel, On Thu, May 08, 2014, Marcel Holtmann wrote: > > This patch makes possible to store some user data in hci_request struct > > which will be available in completion callback. Data can be added when > > initializing new request using hci_req_init(). With this it's now easy > > to run request which can be associated with e.g. specific hci_conn. > > > > Signed-off-by: Andrzej Kaczmarek <andrzej.kaczmarek@xxxxxxxxx> > > --- > > include/net/bluetooth/bluetooth.h | 3 +- > > include/net/bluetooth/hci_core.h | 3 +- > > net/bluetooth/hci_conn.c | 4 +- > > net/bluetooth/hci_core.c | 29 +++++++++----- > > net/bluetooth/mgmt.c | 84 +++++++++++++++++++++------------------ > > 5 files changed, 69 insertions(+), 54 deletions(-) > > > > diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h > > index 904777c1..28378ad 100644 > > --- a/include/net/bluetooth/bluetooth.h > > +++ b/include/net/bluetooth/bluetooth.h > > @@ -273,12 +273,13 @@ struct l2cap_ctrl { > > > > struct hci_dev; > > > > -typedef void (*hci_req_complete_t)(struct hci_dev *hdev, u8 status); > > +typedef void (*hci_req_complete_t)(struct hci_dev *hdev, u8 status, void *data); > > > > struct hci_req_ctrl { > > bool start; > > u8 event; > > hci_req_complete_t complete; > > + void *data; > > }; > > > > struct bt_skb_cb { > > diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h > > index 211bad6..30d245f 100644 > > --- a/include/net/bluetooth/hci_core.h > > +++ b/include/net/bluetooth/hci_core.h > > @@ -1162,6 +1162,7 @@ int hci_unregister_cb(struct hci_cb *hcb); > > struct hci_request { > > struct hci_dev *hdev; > > struct sk_buff_head cmd_q; > > + void *data; > > > > /* If something goes wrong when building the HCI request, the error > > * value is stored in this field. > > @@ -1169,7 +1170,7 @@ struct hci_request { > > int err; > > }; > > > > -void hci_req_init(struct hci_request *req, struct hci_dev *hdev); > > +void hci_req_init(struct hci_request *req, struct hci_dev *hdev, void *data); > > do we really want to have everybody add extra data in here. We are now > touching every possible call that we have so far. I do not really like > this at the moment. Maybe hci_sent_cmd_data() could be used instead to help look up the connection that the completed command was targeting? Johan -- 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