1. 03 8月, 2013 2 次提交
  2. 01 8月, 2013 6 次提交
  3. 31 7月, 2013 1 次提交
  4. 30 7月, 2013 4 次提交
  5. 29 7月, 2013 2 次提交
    • J
      Bluetooth: Fix calling request callback more than once · 53e21fbc
      Johan Hedberg 提交于
      In certain circumstances, such as an HCI driver using __hci_cmd_sync_ev
      with HCI_EV_CMD_COMPLETE as the expected completion event there is the
      chance that hci_event_packet will call hci_req_cmd_complete twice (once
      for the explicitly looked after event and another time in the actual
      handler of cmd_complete).
      
      In the case of __hci_cmd_sync_ev this introduces a race where the first
      call wakes up the blocking __hci_cmd_sync_ev and lets it complete.
      However, by the time that a second __hci_cmd_sync_ev call is already in
      progress the second hci_req_cmd_complete call (from the previous
      operation) will wake up the blocking function prematurely and cause it
      to fail, as witnessed by the following log:
      
      [  639.232195] hci_rx_work: hci0 Event packet
      [  639.232201] hci_req_cmd_complete: opcode 0xfc8e status 0x00
      [  639.232205] hci_sent_cmd_data: hci0 opcode 0xfc8e
      [  639.232210] hci_req_sync_complete: hci0 result 0x00
      [  639.232220] hci_cmd_complete_evt: hci0 opcode 0xfc8e
      [  639.232225] hci_req_cmd_complete: opcode 0xfc8e status 0x00
      [  639.232228] __hci_cmd_sync_ev: hci0 end: err 0
      [  639.232234] __hci_cmd_sync_ev: hci0
      [  639.232238] hci_req_add_ev: hci0 opcode 0xfc8e plen 250
      [  639.232242] hci_prepare_cmd: skb len 253
      [  639.232246] hci_req_run: length 1
      [  639.232250] hci_sent_cmd_data: hci0 opcode 0xfc8e
      [  639.232255] hci_req_sync_complete: hci0 result 0x00
      [  639.232266] hci_cmd_work: hci0 cmd_cnt 1 cmd queued 1
      [  639.232271] __hci_cmd_sync_ev: hci0 end: err 0
      [  639.232276] Bluetooth: hci0 sending Intel patch command (0xfc8e) failed (-61)
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      Acked-by: NMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      53e21fbc
    • J
      Bluetooth: Fix HCI init for BlueFRITZ! devices · 3f8e2d75
      Johan Hedberg 提交于
      None of the BlueFRITZ! devices with manufacurer ID 31 (AVM Berlin)
      support HCI_Read_Local_Supported_Commands. It is safe to use the
      manufacturer ID (instead of e.g. a USB ID specific quirk) because the
      company never created any newer controllers.
      
      < HCI Command: Read Local Supported Comm.. (0x04|0x0002) plen 0 [hci0] 0.210014
      > HCI Event: Command Status (0x0f) plen 4 [hci0] 0.217361
            Read Local Supported Commands (0x04|0x0002) ncmd 1
              Status: Unknown HCI Command (0x01)
      Reported-by: NJörg Esser <jackfritt@boh.de>
      Signed-off-by: NJohan Hedberg <johan.hedberg@intel.com>
      Tested-by: NJörg Esser <jackfritt@boh.de>
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      3f8e2d75
  6. 27 7月, 2013 2 次提交
    • A
      brcmfmac: inform cfg80211 about disconnect when device is unplugged · a538ae31
      Arend van Spriel 提交于
      When the brcmfmac device is physically removed cfg80211 gives a
      warning upon unregistering the net device (see below).
      
      [23052.390197] WARNING: CPU: 0 PID: 30 at net/wireless/core.c:937 cfg80211_netdev_notifier_call+0x164/0x600 [cfg80211]()
      [23052.400843] Modules linked in: brcmfmac(O) brcmutil(O) cfg80211(O) pl2303 usbserial binfmt_misc snd_hda_codec_hdmi snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_hwdep snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event lpc_ich snd_seq snd_timer snd_seq_device snd psmouse mfd_core serio_raw soundcore snd_page_alloc intel_ips dell_laptop dell_wmi sparse_keymap dcdbas nouveau ttm drm_kms_helper drm i2c_algo_bit mxm_wmi ahci libahci sdhci_pci firewire_ohci firewire_core sdhci crc_itu_t mmc_core intel_agp intel_gtt e1000e ptp pps_core agpgart video [last unloaded: brcmfmac]
      [23052.452987] CPU: 0 PID: 30 Comm: khubd Tainted: G           O 3.11.0-rc1-wl-testing-lockdep-00002-g41cc093-dirty #1
      [23052.463480] Hardware name: Dell Inc. Latitude E6410/07XJP9, BIOS A07 02/15/2011
      [23052.470852]  00000000 00000000 f4efdc18 c1522e3d f845bed2 f4efdc48 c103fbe4 c16a9254
      [23052.478762]  00000000 0000001e f845bed2 000003a9 f841da44 f841da44 f3790004 f25539c0
      [23052.486741]  e2700200 f4efdc58 c103fc22 00000009 00000000 f4efdcc0 f841da44 00000002
      [23052.494712] Call Trace:
      [23052.497165]  [<c1522e3d>] dump_stack+0x4b/0x66
      [23052.501685]  [<c103fbe4>] warn_slowpath_common+0x84/0xa0
      [23052.507085]  [<f841da44>] ? cfg80211_netdev_notifier_call+0x164/0x600 [cfg80211]
      [23052.514542]  [<f841da44>] ? cfg80211_netdev_notifier_call+0x164/0x600 [cfg80211]
      [23052.521981]  [<c103fc22>] warn_slowpath_null+0x22/0x30
      [23052.527191]  [<f841da44>] cfg80211_netdev_notifier_call+0x164/0x600 [cfg80211]
      [23052.534494]  [<c150abe8>] ? packet_notifier+0xc8/0x1d0
      [23052.539703]  [<c150abfc>] ? packet_notifier+0xdc/0x1d0
      [23052.544880]  [<c150ab20>] ? packet_seq_stop+0x30/0x30
      [23052.550002]  [<c152d655>] notifier_call_chain+0x45/0x60
      [23052.555298]  [<c106839f>] raw_notifier_call_chain+0x1f/0x30
      [23052.560963]  [<c143c693>] call_netdevice_notifiers_info+0x33/0x70
      [23052.567153]  [<c1459869>] ? qdisc_destroy+0x99/0xb0
      [23052.572116]  [<c143c6e3>] call_netdevice_notifiers+0x13/0x20
      [23052.577861]  [<c143df93>] rollback_registered_many+0xf3/0x1d0
      [23052.583687]  [<c1524cfc>] ? mutex_lock_nested+0x25c/0x350
      [23052.589150]  [<c143e0f4>] rollback_registered+0x24/0x40
      [23052.594445]  [<c143e15f>] unregister_netdevice_queue+0x4f/0xb0
      [23052.600344]  [<c143e299>] unregister_netdev+0x19/0x30
      [23052.605484]  [<f865b38f>] brcmf_del_if+0xbf/0x160 [brcmfmac]
      [23052.611223]  [<f865b7ae>] brcmf_detach+0x5e/0xd0 [brcmfmac]
      [23052.616881]  [<f8667413>] brcmf_usb_disconnect+0x63/0xa0 [brcmfmac]
      [23052.623217]  [<c13e09aa>] usb_unbind_interface+0x4a/0x180
      
      When the device is physically connected the driver sends a disassoc
      command to the device and response triggers the driver to inform cfg80211
      about it. However, with the device removed the disassoc command fails.
      This patch adds a call to cfg80211_disconnected() when that command fails.
      
      The warning was added by commit below and also cleans up, but better
      doing it in the driver if only to get rid of the warning.
      
      commit f9bef3df
      Author: Ben Greear <greearb@candelatech.com>
      Date:   Wed Jun 19 14:06:26 2013 -0700
      
          wireless: check for dangling wdev->current_bss pointer
      
      Cc: Ben Greear <greearb@candelatech.com>
      Reviewed-by: NPieter-Paul Giesberts <pieterpg@broadcom.com>
      Signed-off-by: NArend van Spriel <arend@broadcom.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a538ae31
    • T
      mwifiex: Add missing endian conversion. · 83e612f6
      Tomasz Moń 提交于
      Both type and pkt_len variables are in host endian and these should be in
      Little Endian in the payload.
      Signed-off-by: NTomasz Moń <desowin@gmail.com>
      Acked-by: NBing Zhao <bzhao@marvell.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      83e612f6
  7. 26 7月, 2013 12 次提交
    • E
      iwlwifi: pcie: clear RFKILL interrupt in AMPG · a53ee0a3
      Emmanuel Grumbach 提交于
      If we forget to do so, we can't send HCMD to firmware while
      the NIC is in RFKILL state.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      a53ee0a3
    • J
      iwlwifi: mvm: fix flushing not started aggregation sessions · b6658ff8
      Johannes Berg 提交于
      When a not fully started aggregation session is destroyed
      and flushed, we get a warning, e.g.
      
        WARNING: at drivers/net/wireless/iwlwifi/pcie/tx.c:1142 iwl_trans_pcie_txq_disable+0x11c/0x160
        queue 16 not used
        Modules linked in: [...]
        Pid: 5135, comm: hostapd Tainted: G        W  O 3.5.0 #10
        Call Trace:
        wlan0: driver sets block=0 for sta 00:03:7f:10:44:d3
         [<ffffffff81036492>] warn_slowpath_common+0x72/0xa0
         [<ffffffff81036577>] warn_slowpath_fmt+0x47/0x50
         [<ffffffffa0368d6c>] iwl_trans_pcie_txq_disable+0x11c/0x160 [iwlwifi]
         [<ffffffffa03a2099>] iwl_mvm_sta_tx_agg_flush+0xe9/0x150 [iwlmvm]
         [<ffffffffa0396c43>] iwl_mvm_mac_ampdu_action+0xf3/0x1e0 [iwlmvm]
         [<ffffffffa0293ad3>] ___ieee80211_stop_tx_ba_session+0x193/0x920 [mac80211]
         [<ffffffffa0294ed8>] __ieee80211_stop_tx_ba_session+0x48/0x70 [mac80211]
         [<ffffffffa029159f>] ieee80211_sta_tear_down_BA_sessions+0x4f/0x80 [mac80211]
         [<ffffffffa028a686>] __sta_info_destroy+0x66/0x370 [mac80211]
         [<ffffffffa028abb4>] sta_info_destroy_addr_bss+0x44/0x70 [mac80211]
         [<ffffffffa02a3e26>] ieee80211_del_station+0x26/0x50 [mac80211]
         [<ffffffffa01e6395>] nl80211_del_station+0x85/0x200 [cfg80211]
      
      when a station deauthenticated from us without fully setting
      up the aggregation session.
      
      Fix this by checking the aggregation state before removing
      the hardware queue.
      
      Cc: stable@vger.kernel.org
      Reviewed-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      b6658ff8
    • I
      iwlwifi: mvm: Disable managed PS when GO is added · ea183d02
      Ilan Peer 提交于
      The managed interface PS was not disabled when a GO interface
      was added. As a consequence, when the station VMAC was in PS,
      the GO also was not on the medium. Fix this.
      Signed-off-by: NIlan Peer <ilan.peer@intel.com>
      Reviewed-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      ea183d02
    • E
      iwlwifi: pcie: reset the NIC before the bring up · 2997494f
      Emmanuel Grumbach 提交于
      This allows to clean all kinds of bad state it might be in.
      This solves situation where HW RFkill was switched while
      the NIC was offline.
      Until now, we relied on the firmware to do clean the
      interrupt, but new firmwares don't do that any more.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      2997494f
    • A
      Bluetooth: Add support for Atheros [0cf3:e003] · 1d5b569e
      AceLan Kao 提交于
      Add support for the AR9462 chip
      
      T:  Bus=02 Lev=02 Prnt=02 Port=04 Cnt=01 Dev#=  4 Spd=12  MxCh= 0
      D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=0cf3 ProdID=e003 Rev=00.02
      C:  #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
      I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      
      Cc: Stable <stable@vger.kernel.org>
      Signed-off-by: NAceLan Kao <acelan.kao@canonical.com>
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      1d5b569e
    • G
      Bluetooth: Fix race between hci_register_dev() and hci_dev_open() · fcee3377
      Gustavo Padovan 提交于
      If hci_dev_open() is called after hci_register_dev() added the device to
      the hci_dev_list but before the workqueue are created we could run into a
      NULL pointer dereference (see below).
      
      This bug is very unlikely to happen, systems using bluetoothd to
      manage their bluetooth devices will never see this happen.
      
      BUG: unable to handle kernel NULL pointer dereference
      0100
      IP: [<ffffffff81077502>] __queue_work+0x32/0x3d0
      (...)
      Call Trace:
       [<ffffffff81077be5>] queue_work_on+0x45/0x50
       [<ffffffffa016e8ff>] hci_req_run+0xbf/0xf0 [bluetooth]
       [<ffffffffa01709b0>] ? hci_init2_req+0x720/0x720 [bluetooth]
       [<ffffffffa016ea06>] __hci_req_sync+0xd6/0x1c0 [bluetooth]
       [<ffffffff8108ee10>] ? try_to_wake_up+0x2b0/0x2b0
       [<ffffffff8150e3f0>] ? usb_autopm_put_interface+0x30/0x40
       [<ffffffffa016fad5>] hci_dev_open+0x275/0x2e0 [bluetooth]
       [<ffffffffa0182752>] hci_sock_ioctl+0x1f2/0x3f0 [bluetooth]
       [<ffffffff815c6050>] sock_do_ioctl+0x30/0x70
       [<ffffffff815c75f9>] sock_ioctl+0x79/0x2f0
       [<ffffffff811a8046>] do_vfs_ioctl+0x96/0x560
       [<ffffffff811a85a1>] SyS_ioctl+0x91/0xb0
       [<ffffffff816d989d>] system_call_fastpath+0x1a/0x1f
      Reported-by: NSedat Dilek <sedat.dilek@gmail.com>
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      fcee3377
    • A
      Bluetooth: Add support for Atheros [0cf3:3121] · 1ebd0b21
      AceLan Kao 提交于
      Add support for the AR3012 chip.
      
      T:  Bus=03 Lev=01 Prnt=01 Port=06 Cnt=01 Dev#=  6 Spd=12  MxCh= 0
      D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=0cf3 ProdID=3121 Rev=00.02
      C:  #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
      I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      Signed-off-by: NAceLan Kao <acelan.kao@canonical.com>
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      1ebd0b21
    • S
      Bluetooth: ath3k: Add support for ID 0x13d3/0x3402 · 5b77a1f3
      Sujith Manoharan 提交于
      T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  5 Spd=12   MxCh= 0
      D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=13d3 ProdID=3402 Rev= 0.02
      S:  Manufacturer=Atheros Communications
      S:  Product=Bluetooth USB Host Controller
      S:  SerialNumber=Alaska Day 2006
      C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      
      Bug: https://bugzilla.kernel.org/show_bug.cgi?id=59701Signed-off-by: NSujith Manoharan <sujith@msujith.org>
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      5b77a1f3
    • A
      Bluetooth: fix wrong use of PTR_ERR() in btusb · d9c78e97
      Adam Lee 提交于
      PTR_ERR() returns a signed long type value which is limited by IS_ERR(),
      it must be a negative number whose range is [-MAX_ERRNO, 0).
      
      The bug here returns negative numbers as error codes, then check it by
      "if (ret < 0)", but -PTR_ERR() is actually positive. The wrong use here
      leads to failure as below, even panic.
      
      [   12.958920] Bluetooth: hci0 command 0xfc8e tx timeout
      [   14.961765] Bluetooth: hci0 command 0xfc8e tx timeout
      [   16.964688] Bluetooth: hci0 command 0xfc8e tx timeout
      [   20.954501] Bluetooth: hci0 sending Intel patch command (0xfc8e) failed (-110)
      [   22.957358] Bluetooth: hci0 command 0xfc8e tx timeout
      [   30.948922] Bluetooth: hci0 sending Intel patch command (0xfc8e) failed (-110)
      [   32.951780] Bluetooth: hci0 command 0xfc8e tx timeout
      [   40.943359] Bluetooth: hci0 sending Intel patch command (0xfc8e) failed (-110)
      [   42.946219] Bluetooth: hci0 command 0xfc8e tx timeout
      [   50.937812] Bluetooth: hci0 sending Intel patch command (0xfc8e) failed (-110)
      [   52.940670] Bluetooth: hci0 command 0xfc8e tx timeout
      [   60.932236] Bluetooth: hci0 sending Intel patch command (0xfc8e) failed (-110)
      [   62.935092] Bluetooth: hci0 command 0xfc8e tx timeout
      [   70.926688] Bluetooth: hci0 sending Intel patch command (0xfc8e) failed (-110)
      [   72.929545] Bluetooth: hci0 command 0xfc8e tx timeout
      [   80.921111] Bluetooth: hci0 sending Intel patch command (0xfc8e) failed (-110)
      [   82.923969] Bluetooth: hci0 command 0xfc2f tx timeout
      [   90.915542] Bluetooth: hci0 sending Intel patch command (0xfc2f) failed (-110)
      [   92.918406] Bluetooth: hci0 command 0xfc11 tx timeout
      [  100.909955] Bluetooth: hci0 sending Intel patch command (0xfc11) failed (-110)
      [  102.912858] Bluetooth: hci0 command 0xfc60 tx timeout
      [  110.904394] Bluetooth: hci0 sending Intel patch command (0xfc60) failed (-110)
      [  112.907293] Bluetooth: hci0 command 0xfc11 tx timeout
      [  120.898831] Bluetooth: hci0 exiting Intel manufacturer mode failed (-110)
      [  120.904757] bluetoothd[1030]: segfault at 4 ip 00007f8b2eb55236 sp 00007fff53ff6920 error 4 in bluetoothd[7f8b2eaff000+cb000]
      Signed-off-by: NAdam Lee <adam.lee@canonical.com>
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      d9c78e97
    • S
      Bluetooth: ath3k: don't use stack memory for DMA · 517828a8
      Stanislaw Gruszka 提交于
      Memory allocated by vmalloc (including stack) can not be used for DMA,
      i.e. data pointer on usb_control_msg() should not point to stack memory.
      
      Resolves:
      https://bugzilla.redhat.com/show_bug.cgi?id=977558Reported-and-tested-by: NAndy Lawrence <dr.diesel@gmail.com>
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      517828a8
    • T
      Bluetooth: ath3k: Add support for Fujitsu Lifebook UH5x2 [04c5:1330] · 84eb2ae1
      Thomas Loo 提交于
      The Fujitsu Lifebook UH552/UH572 ships with a Qualcomm AR9462/AR3012
      WLAN/BT-Combo card.
      Add device ID to the ath3k driver to enable the bluetooth side of things.
      Patch against v3.10.
      
      T:  Bus=03 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
      D:  Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=04c5 ProdID=1330 Rev=00.02
      C:  #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
      I:  If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      I:  If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      Signed-off-by: NThomas Loo <tloo@saltstorm.net>
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      84eb2ae1
    • J
      Bluetooth: Fix invalid length check in l2cap_information_rsp() · da9910ac
      Jaganath Kanakkassery 提交于
      The length check is invalid since the length varies with type of
      info response.
      
      This was introduced by the commit cb3b3152
      
      Because of this, l2cap info rsp is not handled and command reject is sent.
      
      > ACL data: handle 11 flags 0x02 dlen 16
              L2CAP(s): Info rsp: type 2 result 0
                Extended feature mask 0x00b8
                  Enhanced Retransmission mode
                  Streaming mode
                  FCS Option
                  Fixed Channels
      < ACL data: handle 11 flags 0x00 dlen 10
              L2CAP(s): Command rej: reason 0
                Command not understood
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NJaganath Kanakkassery <jaganath.k@samsung.com>
      Signed-off-by: NChan-Yeol Park <chanyeol.park@samsung.com>
      Acked-by: NJohan Hedberg <johan.hedberg@intel.com>
      Signed-off-by: NGustavo Padovan <gustavo.padovan@collabora.co.uk>
      da9910ac
  8. 25 7月, 2013 1 次提交
  9. 24 7月, 2013 2 次提交
  10. 23 7月, 2013 8 次提交