1. 20 9月, 2016 9 次提交
  2. 26 8月, 2016 1 次提交
  3. 10 7月, 2016 1 次提交
    • M
      Bluetooth: Rename HCI_BREDR into HCI_PRIMARY · ca8bee5d
      Marcel Holtmann 提交于
      The HCI_BREDR naming is confusing since it actually stands for Primary
      Bluetooth Controller. Which is a term that has been used in the latest
      standard. However from a legacy point of view there only really have
      been Basic Rate (BR) and Enhanced Data Rate (EDR). Recent versions of
      Bluetooth introduced Low Energy (LE) and made this terminology a little
      bit confused since Dual Mode Controllers include BR/EDR and LE. To
      simplify this the name HCI_PRIMARY stands for the Primary Controller
      which can be a single mode or dual mode controller.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      ca8bee5d
  4. 08 7月, 2016 1 次提交
    • D
      Bluetooth: Fix hci_sock_recvmsg return value · 83871f8c
      Denis Kenzior 提交于
      If recvmsg is called with a destination buffer that is too small to
      receive the contents of skb in its entirety, the return value from
      recvmsg was inconsistent with common SOCK_SEQPACKET or SOCK_DGRAM
      semantics.
      
      If destination buffer provided by userspace is too small (e.g. len <
      copied), then MSG_TRUNC flag is set and copied is returned.  Instead, it
      should return the length of the message, which is consistent with how
      other datagram based sockets act.  Quoting 'man recv':
      
      "All  three calls return the length of the message on successful comple‐
      tion.  If a message is too long to fit in the supplied  buffer,  excess
      bytes  may  be discarded depending on the type of socket the message is
      received from."
      
      and
      
      "MSG_TRUNC (since Linux 2.2)
      
          For   raw   (AF_PACKET),   Internet   datagram   (since    Linux
          2.4.27/2.6.8),  netlink  (since Linux 2.6.22), and UNIX datagram
          (since Linux 3.4) sockets: return the real length of the packet
          or datagram, even when it was longer than the passed buffer."
      Signed-off-by: NDenis Kenzior <denkenz@gmail.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      83871f8c
  5. 06 1月, 2016 1 次提交
  6. 20 11月, 2015 6 次提交
  7. 26 10月, 2015 2 次提交
  8. 21 10月, 2015 3 次提交
  9. 08 10月, 2015 2 次提交
  10. 05 10月, 2015 2 次提交
  11. 17 9月, 2015 1 次提交
  12. 08 6月, 2015 1 次提交
    • M
      Bluetooth: Fix race condition with user channel and setup stage · 781f899f
      Marcel Holtmann 提交于
      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: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      Cc: stable@vger.kernel.org
      781f899f
  13. 07 6月, 2015 1 次提交
  14. 11 5月, 2015 1 次提交
  15. 31 3月, 2015 1 次提交
  16. 18 3月, 2015 2 次提交
  17. 15 3月, 2015 5 次提交