1. 12 6月, 2015 3 次提交
  2. 11 6月, 2015 1 次提交
  3. 10 6月, 2015 3 次提交
  4. 09 6月, 2015 9 次提交
  5. 08 6月, 2015 5 次提交
    • A
      Bluetooth: btusb: Correct typo in Roper Class 1 Bluetooth Dongle · 2eeac871
      Aleksei Volkov 提交于
      That patch corrects the typo in usb vendor id for Roper Class 1 Bluetooth
      Dongle. Problem with typo is present since 4.0 kernel.
      
      Content /sys/kernel/debug/usb/devices for these dongle:
      
      T:  Bus=05 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12   MxCh= 0
      D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=1310 ProdID=0001 Rev=15.00
      S:  Manufacturer=SiW
      S:  Product=SiW
      S:  SerialNumber=E7BB050D0B00
      C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr= 50mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
      E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
      Signed-off-by: NAleksei Volkov <info@dv2c.ru>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Cc: stable@vger.kernel.org # 4.0.x
      2eeac871
    • M
      Bluetooth: btusb: Remove unneeded btusb_read_local_version function · 7cd84d72
      Marcel Holtmann 提交于
      The btusb_read_local_version function has only a single user and with
      that just move its functionality in place where it belongs.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      7cd84d72
    • M
      Bluetooth: btusb: Remove double error check from local version command · 9641d343
      Marcel Holtmann 提交于
      The __hci_cmd_sync function already handles the command status and
      command complete errors. No need to check the status field again.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      9641d343
    • M
      Bluetooth: btusb: Fix memory leak in Intel setup routine · ecffc804
      Marcel Holtmann 提交于
      The SKB returned from the Intel specific version information command is
      missing a kfree_skb.
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      Cc: stable@vger.kernel.org
      ecffc804
    • 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
  6. 07 6月, 2015 11 次提交
  7. 06 6月, 2015 6 次提交
  8. 04 6月, 2015 2 次提交
    • V
      nl802154: export supported commands · 133be026
      Varka Bhadram 提交于
      This patch will export the supported commands by the devices
      to the userspace. This will be useful to check if HardMAC
      drivers can support a specific command or not.
      Signed-off-by: NVarka Bhadram <varkab@cdac.in>
      Acked-by: NAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      133be026
    • L
      ieee802154: Fix sockaddr_ieee802154 implicit padding information leak. · 8a70cefa
      Lennert Buytenhek 提交于
      The AF_IEEE802154 sockaddr looks like this:
      
      	struct sockaddr_ieee802154 {
      		sa_family_t family; /* AF_IEEE802154 */
      		struct ieee802154_addr_sa addr;
      	};
      
      	struct ieee802154_addr_sa {
      		int addr_type;
      		u16 pan_id;
      		union {
      			u8 hwaddr[IEEE802154_ADDR_LEN];
      			u16 short_addr;
      		};
      	};
      
      On most architectures there will be implicit structure padding here,
      in two different places:
      
      * In struct sockaddr_ieee802154, two bytes of padding between 'family'
        (unsigned short) and 'addr', so that 'addr' starts on a four byte
        boundary.
      
      * In struct ieee802154_addr_sa, two bytes at the end of the structure,
        to make the structure 16 bytes.
      
      When calling recvmsg(2) on a PF_IEEE802154 SOCK_DGRAM socket, the
      ieee802154 stack constructs a struct sockaddr_ieee802154 on the
      kernel stack without clearing these padding fields, and, depending
      on the addr_type, between four and ten bytes of uncleared kernel
      stack will be copied to userspace.
      
      We can't just insert two 'u16 __pad's in the right places and zero
      those before copying an address to userspace, as not all architectures
      insert this implicit padding -- from a quick test it seems that avr32,
      cris and m68k don't insert this padding, while every other architecture
      that I have cross compilers for does insert this padding.
      
      The easiest way to plug the leak is to just memset the whole struct
      sockaddr_ieee802154 before filling in the fields we want to fill in,
      and that's what this patch does.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NLennert Buytenhek <buytenh@wantstofly.org>
      Acked-by: NAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      8a70cefa