On Thu, Dec 20, 2012 at 10:38 AM, Andrei Emeltchenko <andrei.emeltchenko.news@xxxxxxxxx> wrote: > > The patch is below: > > commit 7a7f1e7c857959f5298020969741e389f21edbae > Author: Hemant Gupta <hemant.gupta@xxxxxxxxxxxxxx> > Date: Mon Jan 16 13:34:29 2012 +0530 > > Bluetooth: Send correct response to IO Capability Request > > This patch sends correct IO Capability response to remote device > in case Local Device supports KeyBoardDisplay IO Capability as > this capability is not valid as per BT spec for IO capability > Request Reply Command. > This capability is mapped to DisplayYesNo which is in accordance > with BT spec. > > Signed-off-by: Hemant Gupta <hemant.gupta@xxxxxxxxxxxxxx> > Acked-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> > Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> > > diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c > index 6fb9016..041a35e 100644 > --- a/net/bluetooth/hci_event.c > +++ b/net/bluetooth/hci_event.c > @@ -2965,7 +2965,10 @@ static inline void hci_io_capa_request_evt(struct > hci_dev *hdev, struct sk_buff > struct hci_cp_io_capability_reply cp; > > bacpy(&cp.bdaddr, &ev->bdaddr); > - cp.capability = conn->io_capability; > + /* Change the IO capability from KeyboardDisplay > + * to DisplayYesNo as it is not supported by BT spec. */ > + cp.capability = (conn->io_capability == 0x04) ? > + 0x01 : > conn->io_capability; > conn->auth_type = hci_get_auth_req(conn); > cp.authentication = conn->auth_type; Interesting. This patch is present in the sources for 3.5.7 kernel that I have. But somehow it does not work. Fixing simple-agent did work though. Andrei -- 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