diff for duplicates of <20111228161644.GB23292@joana> diff --git a/a/1.txt b/N1/1.txt index 3540b58..fb65fff 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -2,68 +2,55 @@ Hi David, * David Herrmann <dh.herrmann@googlemail.com> [2011-12-28 17:04:11 +0100]: -> On Wed, Dec 28, 2011 at 4:52 PM, Gustavo Padovan <padovan@profusion.mobi>= - wrote: +> On Wed, Dec 28, 2011 at 4:52 PM, Gustavo Padovan <padovan@profusion.mobi> wrote: > ..snip.. > > I think this patch can do handling, let's see what others think. > > -> > =A0 =A0 =A0 =A0Gustavo +> > Gustavo > > > > > > --- > > Author: Gustavo F. Padovan <padovan@profusion.mobi> -> > Date: =A0 Wed Dec 28 13:40:02 2011 -0200 +> > Date: Wed Dec 28 13:40:02 2011 -0200 > > -> > =A0 =A0Bluetooth: Fix lmp_host_le_capable() check for broken devices +> > Bluetooth: Fix lmp_host_le_capable() check for broken devices > > -> > =A0 =A0Some dongles reports a wrong Local Extended Features leading the= - kernel -> > =A0 =A0think that dongle support LE while it don't. +> > Some dongles reports a wrong Local Extended Features leading the kernel +> > think that dongle support LE while it don't. > > -> > =A0 =A0The fix here is just rely on a bit in Local Features (LE Capable= -) to tell -> > =A0 =A0us if the device really supports LE. +> > The fix here is just rely on a bit in Local Features (LE Capable) to tell +> > us if the device really supports LE. > > -> > =A0 =A0LE Host Capable is the only bit used from Local Extended Feature= -s in our -> > =A0 =A0kernel. +> > LE Host Capable is the only bit used from Local Extended Features in our +> > kernel. > > -> > =A0 =A0Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi> +> > Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi> > > -> > diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/h= -ci_core.h +> > diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h > > index 5e2e984..c693111 100644 > > --- a/include/net/bluetooth/hci_core.h > > +++ b/include/net/bluetooth/hci_core.h > > @@ -676,7 +676,11 @@ void hci_conn_del_sysfs(struct hci_conn *conn); -> > =A0#define lmp_le_capable(dev) =A0 =A0 =A0 =A0((dev)->features[4] & LMP= -_LE) +> > #define lmp_le_capable(dev) ((dev)->features[4] & LMP_LE) > > -> > =A0/* ----- Extended LMP capabilities ----- */ -> > -#define lmp_host_le_capable(dev) =A0 ((dev)->extfeatures[0] & LMP_HOST= -_LE) -> > +/* Some crap dongles does not report a proper Local Extended Features = -causing -> > + * the kernel to wrongly init it as a LE device. So first check if it = -is LE +> > /* ----- Extended LMP capabilities ----- */ +> > -#define lmp_host_le_capable(dev) ((dev)->extfeatures[0] & LMP_HOST_LE) +> > +/* Some crap dongles does not report a proper Local Extended Features causing +> > + * the kernel to wrongly init it as a LE device. So first check if it is LE > > + * capable (controller) which is a info from the Local Features */ -> > +#define lmp_host_le_capable(dev) =A0 =A0( lmp_le_capable(dev) && \ -> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = -=A0 =A0 (dev)->extfeatures[0] & LMP_HOST_LE) +> > +#define lmp_host_le_capable(dev) ( lmp_le_capable(dev) && \ +> > + (dev)->extfeatures[0] & LMP_HOST_LE) > > -> > =A0/* ----- HCI protocols ----- */ -> > =A0static inline int hci_proto_connect_ind(struct hci_dev *hdev, bdaddr= -_t *bdaddr, ->=20 +> > /* ----- HCI protocols ----- */ +> > static inline int hci_proto_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr, +> > Next time we use the extfeatures for something else, we will break > this device again. Can't we fix dev->extfeatures on initialization > based on a blacklist/quirklist? Or is dev->extfeatures modified after > initialzation of the device somewhere? -Sure, we will, but I don't see us using another bit of extfeatures in the n= -ear -future (after the next Core Spec release maybe) and I don't wanna got that = -far +Sure, we will, but I don't see us using another bit of extfeatures in the near +future (after the next Core Spec release maybe) and I don't wanna got that far in this fix right now. Gustavo diff --git a/a/content_digest b/N1/content_digest index f137939..7c4a210 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -23,70 +23,57 @@ "\n" "* David Herrmann <dh.herrmann@googlemail.com> [2011-12-28 17:04:11 +0100]:\n" "\n" - "> On Wed, Dec 28, 2011 at 4:52 PM, Gustavo Padovan <padovan@profusion.mobi>=\n" - " wrote:\n" + "> On Wed, Dec 28, 2011 at 4:52 PM, Gustavo Padovan <padovan@profusion.mobi> wrote:\n" "> ..snip..\n" "> > I think this patch can do handling, let's see what others think.\n" "> >\n" - "> > =A0 =A0 =A0 =A0Gustavo\n" + "> > \302\240 \302\240 \302\240 \302\240Gustavo\n" "> >\n" "> >\n" "> > ---\n" "> > Author: Gustavo F. Padovan <padovan@profusion.mobi>\n" - "> > Date: =A0 Wed Dec 28 13:40:02 2011 -0200\n" + "> > Date: \302\240 Wed Dec 28 13:40:02 2011 -0200\n" "> >\n" - "> > =A0 =A0Bluetooth: Fix lmp_host_le_capable() check for broken devices\n" + "> > \302\240 \302\240Bluetooth: Fix lmp_host_le_capable() check for broken devices\n" "> >\n" - "> > =A0 =A0Some dongles reports a wrong Local Extended Features leading the=\n" - " kernel\n" - "> > =A0 =A0think that dongle support LE while it don't.\n" + "> > \302\240 \302\240Some dongles reports a wrong Local Extended Features leading the kernel\n" + "> > \302\240 \302\240think that dongle support LE while it don't.\n" "> >\n" - "> > =A0 =A0The fix here is just rely on a bit in Local Features (LE Capable=\n" - ") to tell\n" - "> > =A0 =A0us if the device really supports LE.\n" + "> > \302\240 \302\240The fix here is just rely on a bit in Local Features (LE Capable) to tell\n" + "> > \302\240 \302\240us if the device really supports LE.\n" "> >\n" - "> > =A0 =A0LE Host Capable is the only bit used from Local Extended Feature=\n" - "s in our\n" - "> > =A0 =A0kernel.\n" + "> > \302\240 \302\240LE Host Capable is the only bit used from Local Extended Features in our\n" + "> > \302\240 \302\240kernel.\n" "> >\n" - "> > =A0 =A0Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>\n" + "> > \302\240 \302\240Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>\n" "> >\n" - "> > diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/h=\n" - "ci_core.h\n" + "> > diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h\n" "> > index 5e2e984..c693111 100644\n" "> > --- a/include/net/bluetooth/hci_core.h\n" "> > +++ b/include/net/bluetooth/hci_core.h\n" "> > @@ -676,7 +676,11 @@ void hci_conn_del_sysfs(struct hci_conn *conn);\n" - "> > =A0#define lmp_le_capable(dev) =A0 =A0 =A0 =A0((dev)->features[4] & LMP=\n" - "_LE)\n" + "> > \302\240#define lmp_le_capable(dev) \302\240 \302\240 \302\240 \302\240((dev)->features[4] & LMP_LE)\n" "> >\n" - "> > =A0/* ----- Extended LMP capabilities ----- */\n" - "> > -#define lmp_host_le_capable(dev) =A0 ((dev)->extfeatures[0] & LMP_HOST=\n" - "_LE)\n" - "> > +/* Some crap dongles does not report a proper Local Extended Features =\n" - "causing\n" - "> > + * the kernel to wrongly init it as a LE device. So first check if it =\n" - "is LE\n" + "> > \302\240/* ----- Extended LMP capabilities ----- */\n" + "> > -#define lmp_host_le_capable(dev) \302\240 ((dev)->extfeatures[0] & LMP_HOST_LE)\n" + "> > +/* Some crap dongles does not report a proper Local Extended Features causing\n" + "> > + * the kernel to wrongly init it as a LE device. So first check if it is LE\n" "> > + * capable (controller) which is a info from the Local Features */\n" - "> > +#define lmp_host_le_capable(dev) =A0 =A0( lmp_le_capable(dev) && \\\n" - "> > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =\n" - "=A0 =A0 (dev)->extfeatures[0] & LMP_HOST_LE)\n" + "> > +#define lmp_host_le_capable(dev) \302\240 \302\240( lmp_le_capable(dev) && \\\n" + "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 (dev)->extfeatures[0] & LMP_HOST_LE)\n" "> >\n" - "> > =A0/* ----- HCI protocols ----- */\n" - "> > =A0static inline int hci_proto_connect_ind(struct hci_dev *hdev, bdaddr=\n" - "_t *bdaddr,\n" - ">=20\n" + "> > \302\240/* ----- HCI protocols ----- */\n" + "> > \302\240static inline int hci_proto_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr,\n" + "> \n" "> Next time we use the extfeatures for something else, we will break\n" "> this device again. Can't we fix dev->extfeatures on initialization\n" "> based on a blacklist/quirklist? Or is dev->extfeatures modified after\n" "> initialzation of the device somewhere?\n" "\n" - "Sure, we will, but I don't see us using another bit of extfeatures in the n=\n" - "ear\n" - "future (after the next Core Spec release maybe) and I don't wanna got that =\n" - "far\n" + "Sure, we will, but I don't see us using another bit of extfeatures in the near\n" + "future (after the next Core Spec release maybe) and I don't wanna got that far\n" "in this fix right now.\n" "\n" "\tGustavo" -292a0e672ccca7cff4ad584d0ba85d4e159430acdf50cbcae9c5a6a6bbf0d1df +c8f6e2b958198b220672579b596d55e67ed6f7c57f976a0035c78c9040456577
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.