Re: [PATCH] Bluetooth: Fix race condition with user channel and setup stage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Marcel,

On Sat, Jun 06, 2015, Marcel Holtmann wrote:
> During the initial setup stage of a controller, the low-level transport
> is actually active. This means that HCI_UP is true. To avoid toggling
> the transport off and back on again for normal operation the kernel
> holds a grace period with HCI_AUTO_OFF that will turn the low-level
> transport off in case no user is present.
> 
> The idea of the grace period is important to avoid having to initialize
> all of the controller twice. So legacy ioctl and the new management
> interface knows how to clear this grace period and then start normal
> operation.
> 
> For the user channel operation this grace period has not been taken into
> account which results in the problem that HCI_UP and HCI_AUTO_OFF are
> set and the kernel will return EBUSY. However from a system point of
> view the controller is ready to be grabbed by either the ioctl, the
> management interface or the user channel.
> 
> This patch brings the user channel to the same level as the other two
> entries for operating a controller.
> 
> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> ---
>  net/bluetooth/hci_sock.c | 26 +++++++++++++++++++-------
>  1 file changed, 19 insertions(+), 7 deletions(-)

Applied to bluetooth-next. Thanks.

Johan
--
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




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux