2019-07-01 00:36:18

by Peter Robinson

[permalink] [raw]
Subject: [PATCH] Bluetooth: btsdio: Do not bind to non-removable BCM4356

BCM4356 devices soldered onto the PCB (non-removable) use an UART
connection for bluetooth, such as the Rock960, but it also advertise
btsdio support as a sdio function.

Signed-off-by: Peter Robinson <[email protected]>
CC: Manivannan Sadhasivam <[email protected]>
---
drivers/bluetooth/btsdio.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/bluetooth/btsdio.c b/drivers/bluetooth/btsdio.c
index 83748b7b2033..fd9571d5fdac 100644
--- a/drivers/bluetooth/btsdio.c
+++ b/drivers/bluetooth/btsdio.c
@@ -286,6 +286,7 @@ static int btsdio_probe(struct sdio_func *func,
switch (func->device) {
case SDIO_DEVICE_ID_BROADCOM_43341:
case SDIO_DEVICE_ID_BROADCOM_43430:
+ case SDIO_DEVICE_ID_BROADCOM_4356:
return -ENODEV;
}
}
--
2.21.0


2019-07-03 01:46:30

by Manivannan Sadhasivam

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: btsdio: Do not bind to non-removable BCM4356

Hi Peter,

On 1 July 2019 3:44:08 AM IST, Peter Robinson <[email protected]> wrote:
>BCM4356 devices soldered onto the PCB (non-removable) use an UART
>connection for bluetooth, such as the Rock960, but it also advertise
>btsdio support as a sdio function.

Sorry, I don't get the point of this patch. What if BCM4356 is used in different configuration on some other platform (using SDIO for Bluetooth but still soldered on the PCB)? I haven't seen any such but just curious what if!

Thanks,
Mani
>
>Signed-off-by: Peter Robinson <[email protected]>
>CC: Manivannan Sadhasivam <[email protected]>
>---
> drivers/bluetooth/btsdio.c | 1 +
> 1 file changed, 1 insertion(+)
>
>diff --git a/drivers/bluetooth/btsdio.c b/drivers/bluetooth/btsdio.c
>index 83748b7b2033..fd9571d5fdac 100644
>--- a/drivers/bluetooth/btsdio.c
>+++ b/drivers/bluetooth/btsdio.c
>@@ -286,6 +286,7 @@ static int btsdio_probe(struct sdio_func *func,
> switch (func->device) {
> case SDIO_DEVICE_ID_BROADCOM_43341:
> case SDIO_DEVICE_ID_BROADCOM_43430:
>+ case SDIO_DEVICE_ID_BROADCOM_4356:
> return -ENODEV;
> }
> }

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

2019-07-03 07:17:01

by Peter Robinson

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: btsdio: Do not bind to non-removable BCM4356

On Wed, Jul 3, 2019 at 2:45 AM Manivannan Sadhasivam
<[email protected]> wrote:
>
> Hi Peter,
>
> On 1 July 2019 3:44:08 AM IST, Peter Robinson <[email protected]> wrote:
> >BCM4356 devices soldered onto the PCB (non-removable) use an UART
> >connection for bluetooth, such as the Rock960, but it also advertise
> >btsdio support as a sdio function.
>
> Sorry, I don't get the point of this patch. What if BCM4356 is used in different configuration on some other platform (using SDIO for Bluetooth but still soldered on the PCB)? I haven't seen any such but just curious what if!

Without if you get duplicated interfaces, the SDIO one of which
doesn't work and causes confusion:

hci1: Type: Primary Bus: UART
BD Address: CC:4B:73:04:2F:1D ACL MTU: 1021:8 SCO MTU: 64:1
UP RUNNING
RX bytes:1749 acl:0 sco:0 events:89 errors:0
TX bytes:2950 acl:0 sco:0 commands:89 errors:0

hci0: Type: Primary Bus: SDIO
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:0 acl:0 sco:0 events:0 errors:0
TX bytes:0 acl:0 sco:0 commands:0 errors:0

It was the same work around/fix that was used for a number of other
devices, see commits b4cdaba27424 and 70ecdd3d8b36.

Peter

> Thanks,
> Mani
> >
> >Signed-off-by: Peter Robinson <[email protected]>
> >CC: Manivannan Sadhasivam <[email protected]>
> >---
> > drivers/bluetooth/btsdio.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> >diff --git a/drivers/bluetooth/btsdio.c b/drivers/bluetooth/btsdio.c
> >index 83748b7b2033..fd9571d5fdac 100644
> >--- a/drivers/bluetooth/btsdio.c
> >+++ b/drivers/bluetooth/btsdio.c
> >@@ -286,6 +286,7 @@ static int btsdio_probe(struct sdio_func *func,
> > switch (func->device) {
> > case SDIO_DEVICE_ID_BROADCOM_43341:
> > case SDIO_DEVICE_ID_BROADCOM_43430:
> >+ case SDIO_DEVICE_ID_BROADCOM_4356:
> > return -ENODEV;
> > }
> > }
>
> --
> Sent from my Android device with K-9 Mail. Please excuse my brevity.

2019-07-06 10:53:42

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: btsdio: Do not bind to non-removable BCM4356

Hi Peter,

> BCM4356 devices soldered onto the PCB (non-removable) use an UART
> connection for bluetooth, such as the Rock960, but it also advertise
> btsdio support as a sdio function.
>
> Signed-off-by: Peter Robinson <[email protected]>
> CC: Manivannan Sadhasivam <[email protected]>
> ---
> drivers/bluetooth/btsdio.c | 1 +
> 1 file changed, 1 insertion(+)

patch has been applied to bluetooth-next tree.

Regards

Marcel