1. 23 2月, 2012 15 次提交
  2. 22 2月, 2012 11 次提交
  3. 21 2月, 2012 12 次提交
  4. 20 2月, 2012 2 次提交
    • M
      Bluetooth: Remove HCI notifier handling · 040030ef
      Marcel Holtmann 提交于
      The HCI notifier handling was never used outside of Bluetooth core layer
      and thus remove it and replace it with direct function calls. Also move
      the stack internal event generation into the HCI socket layer.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      040030ef
    • M
      Bluetooth: Fix issue with shared SKB between HCI raw socket and driver · e0edf373
      Marcel Holtmann 提交于
      Any HCI raw socket gets a copy of each SKB that is either received or
      send via the Bluetooth subsystem. The raw socket uses SKB clones to
      send out data, but the problem is that it needs to add an extra packet
      type byte in front of it. And some drivers need to also add an extra
      header before submitting the packet.
      
      So far this all worked magically fine since all of the drivers and the
      raw sockets are adding the same byte at the same location. But that is
      by pure coincidence. Since the data of cloned SKBs is shared, this means
      that the raw socket and driver kept writing into the shared data area.
      
      To fix this the only safe way is if the HCI raw socket creates a copy of
      the SKB before sending it out. To not always copy all SKBs around, the
      copy is only created once and only after any of the HCI filter checks
      succeeded.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      e0edf373