Re: [RFC] Bluetooth: Do not attempt to send dlci disconnect when in BT_CONFIG.

From: Marcel Holtmann
Date: Fri Jun 06 2014 - 06:46:52 EST


Hi Kiran,

> Do not attempt to send dlci disconnect when in BT_CONFIG.
>
> This fixes a bug where shutdown() and close() on a rfcomm socket during ACL
> connection would not cause HCI Create Connection Cancel.
>
> This is one of the number of patches from the Android AOSP common.git tree,
> which is used on almost all Android devices. so I wanted to submit it for
> review to see if it should go upstream.
>
> Cc: Marcel Holtmann <marcel@xxxxxxxxxxxx>
> Cc: Gustavo Padovan <gustavo@xxxxxxxxxxx>
> Cc: Johan Hedberg <johan.hedberg@xxxxxxxxx>
> Cc: David S. Miller <davem@xxxxxxxxxxxxx>
> Cc: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
> Cc: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx>
> Cc: Nick Pelly <npelly@xxxxxxxxxx>
> Cc: linux-bluetooth@xxxxxxxxxxxxxxx
> Cc: netdev@xxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Cc: Android Kernel Team <kernel-team@xxxxxxxxxxx>
> Cc: John Stultz <john.stultz@xxxxxxxxxx>
> Signed-off-by: Nick Pelly <npelly@xxxxxxxxxx>
> [kiran: Added context to commit message]
> Signed-off-by: Kiran Raparthy <kiran.kumar@xxxxxxxxxx>
> ---
> net/bluetooth/rfcomm/core.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c
> index cf62026..6a531e7 100644
> --- a/net/bluetooth/rfcomm/core.c
> +++ b/net/bluetooth/rfcomm/core.c
> @@ -456,7 +456,6 @@ static int __rfcomm_dlc_close(struct rfcomm_dlc *d, int err)
>
> switch (d->state) {
> case BT_CONNECT:
> - case BT_CONFIG:
> case BT_OPEN:
> case BT_CONNECT2:
> if (test_and_clear_bit(RFCOMM_DEFER_SETUP, &d->flags)) {

you can include traces and a test program that will demonstrate this behavior. I am hearing about this one for the first time. Nobody else has indicated an issue like this before.

Regards

Marcel

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/