Hi Marcel, On Sep 20, 2011, at 9:26 AM, Marcel Holtmann wrote: > Hi Andre, > >> If discovery procedure is already running then EINPROGRESS command >> status should be returned. >> >> Signed-off-by: Andre Guedes <andre.guedes@xxxxxxxxxxxxx> >> --- >> net/bluetooth/mgmt.c | 6 ++++++ >> 1 files changed, 6 insertions(+), 0 deletions(-) >> >> diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c >> index cc0c204..d8333e0 100644 >> --- a/net/bluetooth/mgmt.c >> +++ b/net/bluetooth/mgmt.c >> @@ -1622,6 +1622,12 @@ static int start_discovery(struct sock *sk, u16 index) >> >> hci_dev_lock_bh(hdev); >> >> + if (mgmt_pending_find(MGMT_OP_START_DISCOVERY, index)) { >> + err = cmd_status(sk, index, MGMT_OP_START_DISCOVERY, >> + EINPROGRESS); >> + goto failed; >> + } >> + > > the idea is correct, but instead of using mgmt_pending_find we should > have an internal flags field to track our current states. That is way > more efficient then looking for pending commands. See my reply about having an mgmt internal flag on patch 02/14. Andre-- 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