Commit Graph

1127 Commits

Author SHA1 Message Date
Archana Ramachandran
5d332a48c7 Bluetooth: Fix Low energy Proximity path loss threshold alert
Fix sending alert from the proximity client when the
received RSSI of the remote device equals the threshold
set on the client.

CRs-fixed: 344936
Change-Id: I598d7d66b492cb76754280d657b6e6d55dd0903b
Signed-off-by: Archana Ramachandran <archanar@codeaurora.org>
2012-03-30 17:39:46 -07:00
Rohit Vaswani
d4e3d52392 Merge branch 'google-android' into msm-3.0
Merge Google's Android tree into msm-3.0
This consists of the following conflicts and 42 commits:

Conflicts:
	drivers/mmc/core/bus.c
	drivers/rtc/class.c
	drivers/usb/gadget/android.c

Most of the conflicts stem from the changes made to the
local msm-3.0 branch.

commit 1f8c5cecfe
Author: Heiko Stuebner <heiko@sntech.de>
Date:   Wed Feb 1 10:33:01 2012 -0800

    Input: evdev - fix variable initialisation

    Commit 509f87c5f564 (evdev - do not block waiting for an event if
    fd
    is nonblock) created a code path were it was possible to use retval
    uninitialized.

    This could lead to the xorg evdev input driver getting corrupt data
    and refusing to work with log messages like
    	AUO-Pixcir touchscreen: Read error: Success
    	sg060_keys: Read error: Success
    	AUO-Pixcir touchscreen: Read error: Success
    	sg060_keys: Read error: Success
    (for drivers auo-pixcir-ts and gpio-keys).

    Signed-off-by: Heiko Stuebner <heiko@sntech.de>

 drivers/input/evdev.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 4dc43d7079
Author: Arve Hjønnevåg <arve@android.com>
Date:   Fri Oct 17 15:20:55 2008 -0700

    Input: evdev - Add ioctl to block suspend while event queue is not empty.

    Add an ioctl, EVIOCSSUSPENDBLOCK, to enable a wakelock that will block
    suspend while the event queue is not empty. This allows userspace code to
    process input events while the device appears to be asleep.

    The current code holds the wakelock for up 5 seconds for every input
    device and client. This can prevent suspend if sensor with a high data
    rate is active, even when that sensor is not capable of waking the
    device once it is suspended.

    Change-Id: I624d66ef30a0b3abb543685c343382b8419b42b9
    Signed-off-by: Arve Hjønnevåg <arve@android.com>

 drivers/input/evdev.c |   53 +++++++++++++++++++++++++++++++++++++++++++-----
 include/linux/input.h |    3 ++
 2 files changed, 50 insertions(+), 6 deletions(-)

commit 7cc846069a
Author: Arve Hjønnevåg <arve@android.com>
Date:   Mon Jan 23 17:15:45 2012 -0800

    Input: evdev - Don't hold wakelock when no data is available to user-space

    If there is no SYN_REPORT event in the buffer the buffer data is invisible
    to user-space. The wakelock should not be held in this case.

    Change-Id: Idae890ff0da8eb46a2cfce61a95b3a97252551ad
    Signed-off-by: Arve Hjønnevåg <arve@android.com>

 drivers/input/evdev.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 0e80804a2e
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Tue Jan 31 11:06:23 2012 -0800

    net: wireless: bcmdhd: Increase pm_notify callback priority

    Make pm_notify callback to be called the first on suspend/resume path to
    ensure it will always be called.

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_linux.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit dfc896e1c8
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Mon Jan 30 15:43:31 2012 -0800

    net: wireless: bcmdhd: Fix crash on dhdsdio_probe_attach() failure

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_linux.c |   17 ++++++++++++++---
 drivers/net/wireless/bcmdhd/dhd_sdio.c  |    8 +++++++-
 2 files changed, 21 insertions(+), 4 deletions(-)

commit 256a6b23be
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Mon Jan 30 13:03:19 2012 -0800

    net: wireless: bcmdhd: Daemonize wl_event_handler

    Daemonizing makes thread (besides other things) NON-FREEZABLE, and it will not
    get fake signal on suspend to quicl down_interruptible()

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_linux.c        |   13 -------------
 drivers/net/wireless/bcmdhd/include/linuxver.h |   12 ++++++++++++
 drivers/net/wireless/bcmdhd/wl_cfg80211.c      |    3 +++
 3 files changed, 15 insertions(+), 13 deletions(-)

commit ff93146589
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Tue Jan 24 13:59:40 2012 -0800

    net: wireless: bcmdhd: Update to Version 5.90.195.23

    - WFD fixes

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_cfg80211.c    |  269 -------------------------
 drivers/net/wireless/bcmdhd/dhd_linux.c       |    2 +-
 drivers/net/wireless/bcmdhd/dhd_sdio.c        |    8 +-
 drivers/net/wireless/bcmdhd/include/epivers.h |    8 +-
 drivers/net/wireless/bcmdhd/siutils.c         |    5 +
 drivers/net/wireless/bcmdhd/wl_cfg80211.c     |  223 +++++++++++++++------
 drivers/net/wireless/bcmdhd/wl_cfgp2p.c       |  175 ++++++++++++++++-
 drivers/net/wireless/bcmdhd/wl_cfgp2p.h       |   37 ++--
 8 files changed, 368 insertions(+), 359 deletions(-)

commit 96034c2006
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Tue Jan 24 13:55:00 2012 -0800

    net: wireless: bcmdhd: Update to Version 5.90.195.22

    - Disable Ad-hoc support for cfg80211
    - dhd_linux.c: Fix incorrect pid check
    - Merge Android changes from Android tree

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/bcmsdh_linux.c       |   24 ++------------------
 drivers/net/wireless/bcmdhd/bcmsdh_sdmmc_linux.c |   25 +++++++++++++++------
 drivers/net/wireless/bcmdhd/dhd_linux.c          |   10 ++++----
 drivers/net/wireless/bcmdhd/dhd_sdio.c           |   11 +++++++--
 drivers/net/wireless/bcmdhd/hndpmu.c             |   16 ++++++++++++++
 drivers/net/wireless/bcmdhd/include/bcmdevs.h    |    2 +
 drivers/net/wireless/bcmdhd/include/epivers.h    |    8 +++---
 drivers/net/wireless/bcmdhd/siutils.c            |    3 ++
 drivers/net/wireless/bcmdhd/wl_cfg80211.c        |   11 ++++++++-
 9 files changed, 68 insertions(+), 42 deletions(-)

commit 494661a1ac
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Tue Jan 24 13:47:47 2012 -0800

    net: wireless: bcmdhd: Update to Version 5.90.195.19

    - Add WFD changes
    - Add extra locking for internal ioctl operations

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/Makefile               |    4 +-
 drivers/net/wireless/bcmdhd/bcmsdh_linux.c         |   25 +-
 drivers/net/wireless/bcmdhd/bcmsdh_sdmmc.c         |    4 +-
 drivers/net/wireless/bcmdhd/dhd.h                  |   10 +-
 drivers/net/wireless/bcmdhd/dhd_cdc.c              |    7 +-
 drivers/net/wireless/bcmdhd/dhd_cfg80211.c         |  862 ++++++++
 drivers/net/wireless/bcmdhd/dhd_cfg80211.h         |   42 +
 drivers/net/wireless/bcmdhd/dhd_common.c           |    7 +-
 drivers/net/wireless/bcmdhd/dhd_linux.c            |  103 +-
 drivers/net/wireless/bcmdhd/dhd_linux_mon.c        |  409 ----
 drivers/net/wireless/bcmdhd/dhd_sdio.c             |    4 +-
 drivers/net/wireless/bcmdhd/include/dhdioctl.h     |    3 +-
 drivers/net/wireless/bcmdhd/include/epivers.h      |    8 +-
 drivers/net/wireless/bcmdhd/include/proto/802.11.h |   12 +-
 drivers/net/wireless/bcmdhd/include/wlioctl.h      |   19 +-
 drivers/net/wireless/bcmdhd/wl_android.c           |   22 +-
 drivers/net/wireless/bcmdhd/wl_android.h           |    2 +-
 drivers/net/wireless/bcmdhd/wl_cfg80211.c          | 2142 ++++++--------------
 drivers/net/wireless/bcmdhd/wl_cfg80211.h          |  125 +-
 drivers/net/wireless/bcmdhd/wl_cfgp2p.c            |  245 ++-
 drivers/net/wireless/bcmdhd/wl_cfgp2p.h            |   27 +-
 drivers/net/wireless/bcmdhd/wl_linux_mon.c         |  409 ++++
 drivers/net/wireless/bcmdhd/wldev_common.c         |   69 +-
 drivers/net/wireless/bcmdhd/wldev_common.h         |   20 +-
 24 files changed, 2485 insertions(+), 2095 deletions(-)

commit 1dddb0cc0d
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Tue Jan 24 13:37:34 2012 -0800

    net: wireless: bcmdhd: Update to Version 5.90.195.15

    - Add WFD concurrent mode support

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/bcmevent.c             |    8 +-
 drivers/net/wireless/bcmdhd/bcmsdh_sdmmc_linux.c   |   12 +-
 drivers/net/wireless/bcmdhd/bcmutils.c             |    4 +-
 drivers/net/wireless/bcmdhd/dhd.h                  |   25 +-
 drivers/net/wireless/bcmdhd/dhd_cdc.c              |    9 +-
 drivers/net/wireless/bcmdhd/dhd_common.c           |    4 +-
 drivers/net/wireless/bcmdhd/dhd_linux.c            |  148 +++--
 drivers/net/wireless/bcmdhd/dhd_linux_mon.c        |   28 +-
 drivers/net/wireless/bcmdhd/dhd_sdio.c             |   27 +-
 drivers/net/wireless/bcmdhd/dhd_wlfc.h             |   12 +-
 drivers/net/wireless/bcmdhd/hndpmu.c               |   44 +-
 drivers/net/wireless/bcmdhd/include/Makefile       |    2 +-
 drivers/net/wireless/bcmdhd/include/aidmp.h        |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmcdc.h       |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmdefs.h      |   37 +-
 drivers/net/wireless/bcmdhd/include/bcmdevs.h      |  573 +++++++++++++-
 drivers/net/wireless/bcmdhd/include/bcmendian.h    |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmpcispi.h    |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmperf.h      |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmsdbus.h     |   10 +-
 drivers/net/wireless/bcmdhd/include/bcmsdh.h       |   10 +-
 drivers/net/wireless/bcmdhd/include/bcmsdh_sdmmc.h |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmsdpcm.h     |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmsdspi.h     |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmsdstd.h     |   34 +-
 drivers/net/wireless/bcmdhd/include/bcmspi.h       |    2 +-
 drivers/net/wireless/bcmdhd/include/bcmutils.h     |   14 +-
 drivers/net/wireless/bcmdhd/include/bcmwifi.h      |    2 +-
 drivers/net/wireless/bcmdhd/include/dhdioctl.h     |    2 +-
 drivers/net/wireless/bcmdhd/include/epivers.h      |   14 +-
 drivers/net/wireless/bcmdhd/include/hndpmu.h       |    2 +-
 .../net/wireless/bcmdhd/include/hndrte_armtrap.h   |    2 +-
 drivers/net/wireless/bcmdhd/include/hndrte_cons.h  |    2 +-
 drivers/net/wireless/bcmdhd/include/hndsoc.h       |    2 +-
 drivers/net/wireless/bcmdhd/include/htsf.h         |    2 +-
 drivers/net/wireless/bcmdhd/include/linux_osl.h    |    2 +-
 drivers/net/wireless/bcmdhd/include/linuxver.h     |    6 +-
 drivers/net/wireless/bcmdhd/include/miniopt.h      |    2 +-
 drivers/net/wireless/bcmdhd/include/msgtrace.h     |    2 +-
 drivers/net/wireless/bcmdhd/include/osl.h          |    2 +-
 .../wireless/bcmdhd/include/packed_section_end.h   |    2 +-
 .../wireless/bcmdhd/include/packed_section_start.h |    2 +-
 drivers/net/wireless/bcmdhd/include/pcicfg.h       |   28 +-
 drivers/net/wireless/bcmdhd/include/proto/802.11.h |  317 +++++++-
 .../net/wireless/bcmdhd/include/proto/802.11_bta.h |    2 +-
 .../net/wireless/bcmdhd/include/proto/802.11e.h    |    2 +-
 drivers/net/wireless/bcmdhd/include/proto/802.1d.h |    2 +-
 drivers/net/wireless/bcmdhd/include/proto/bcmeth.h |    2 +-
 .../net/wireless/bcmdhd/include/proto/bcmevent.h   |    9 +-
 drivers/net/wireless/bcmdhd/include/proto/bcmip.h  |    2 +-
 .../net/wireless/bcmdhd/include/proto/bt_amp_hci.h |    2 +-
 drivers/net/wireless/bcmdhd/include/proto/eapol.h  |    2 +-
 .../net/wireless/bcmdhd/include/proto/ethernet.h   |    3 +-
 drivers/net/wireless/bcmdhd/include/proto/p2p.h    |    2 +-
 drivers/net/wireless/bcmdhd/include/proto/sdspi.h  |    2 +-
 drivers/net/wireless/bcmdhd/include/proto/vlan.h   |    2 +-
 drivers/net/wireless/bcmdhd/include/proto/wpa.h    |   12 +-
 drivers/net/wireless/bcmdhd/include/sbchipc.h      |  168 ++++-
 drivers/net/wireless/bcmdhd/include/sbconfig.h     |    2 +-
 drivers/net/wireless/bcmdhd/include/sbhnddma.h     |    6 +-
 drivers/net/wireless/bcmdhd/include/sbpcmcia.h     |    2 +-
 drivers/net/wireless/bcmdhd/include/sbsdio.h       |    2 +-
 drivers/net/wireless/bcmdhd/include/sbsdpcmdev.h   |    2 +-
 drivers/net/wireless/bcmdhd/include/sbsocram.h     |    2 +-
 drivers/net/wireless/bcmdhd/include/sdio.h         |    5 +-
 drivers/net/wireless/bcmdhd/include/sdioh.h        |   32 +-
 drivers/net/wireless/bcmdhd/include/sdiovar.h      |    2 +-
 drivers/net/wireless/bcmdhd/include/siutils.h      |   30 +-
 drivers/net/wireless/bcmdhd/include/trxhdr.h       |    3 +-
 drivers/net/wireless/bcmdhd/include/typedefs.h     |    5 +-
 drivers/net/wireless/bcmdhd/include/wlfc_proto.h   |    2 +-
 drivers/net/wireless/bcmdhd/include/wlioctl.h      |   87 ++-
 drivers/net/wireless/bcmdhd/linux_osl.c            |   23 +-
 drivers/net/wireless/bcmdhd/siutils.c              |  195 +++++-
 drivers/net/wireless/bcmdhd/wl_android.c           |    6 +-
 drivers/net/wireless/bcmdhd/wl_cfg80211.c          |  875 ++++++++++++--------
 drivers/net/wireless/bcmdhd/wl_cfg80211.h          |  282 +++++---
 drivers/net/wireless/bcmdhd/wl_cfgp2p.c            |  165 ++++-
 drivers/net/wireless/bcmdhd/wl_cfgp2p.h            |   12 +-
 drivers/net/wireless/bcmdhd/wl_iw.c                |  110 +++-
 drivers/net/wireless/bcmdhd/wl_iw.h                |   17 +-
 81 files changed, 2737 insertions(+), 752 deletions(-)

commit 52bdb6f543
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Mon Jan 23 12:47:21 2012 -0800

    net: wireless: bcmdhd: Add WIPHY_FLAG_SUPPORTS_FW_ROAM flag

    Adding this flag will allow NL80211_ATTR_ROAM_SUPPORT, and will set
      WPA_DRIVER_FLAGS_BSS_SELECTION flag in wpa_supplicant

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/wl_cfg80211.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit b1a94205e9
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Fri Jan 20 14:15:05 2012 -0800

    net: wireless: bcmdhd: Fake PNO event to wake up the wpa_supplicant

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_linux.c   |    4 +++-
 drivers/net/wireless/bcmdhd/wl_cfg80211.c |   20 ++++++++++++++++----
 2 files changed, 19 insertions(+), 5 deletions(-)

commit 09701e3edf
Author: Scott Anderson <saa@google.com>
Date:   Wed Jan 18 15:56:51 2012 -0800

    usb: gadget: android: Honor CONFIG_USB_GADGET_VBUS_DRAW

    The maximum current draw was hard coded to 500 mA.  composite.c
    has code that uses CONFIG_USB_GADGET_VBUS_DRAW to set the
    bMaxPower and to set whether or not the device is self-powered if
    they haven't been set.  This change removes the code in android.c
    to allow composite.c to set them.

    Change-Id: I9db37922e91ee86e9e5c0e14519e119e5c41ca48
    Signed-off-by: Scott Anderson <saa@google.com>

 drivers/usb/gadget/android.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

commit a6ccb73389
Author: Benoit Goby <benoit@android.com>
Date:   Fri Jan 20 14:42:41 2012 -0800

    usb: gadget: Fix usb string id allocation

    Don't reset next_string_id every time the gadget is enabled, this makes
    the next strings allocated overwrite strings allocated at probe time.
    Instead, fix rndis not to allocate new string ids on every config bind.

    Change-Id: Ied28ee416bb6f00c434c34176fe5b7f0dcb2b2d4
    Signed-off-by: Benoit Goby <benoit@android.com>

 drivers/usb/gadget/android.c |    1 -
 drivers/usb/gadget/f_rndis.c |   12 +++++-------
 drivers/usb/gadget/rndis.c   |   11 +++++++++++
 3 files changed, 16 insertions(+), 8 deletions(-)

commit 87159de9c3
Author: Jouni Malinen <jouni@qca.qualcomm.com>
Date:   Thu Aug 11 11:46:22 2011 +0300

    nl80211/cfg80211: Make addition of new sinfo fields safer

    Add a comment pointing out the use of enum station_info_flags for
    all new struct station_info fields. In addition, memset the sinfo
    buffer to zero before use on all paths in the current tree to avoid
    leaving uninitialized pointers in the data.

    Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 include/net/cfg80211.h  |    5 +++++
 net/mac80211/sta_info.c |    1 +
 net/wireless/nl80211.c  |    1 +
 3 files changed, 7 insertions(+), 0 deletions(-)

commit d692df224b
Author: Jouni Malinen <jouni@qca.qualcomm.com>
Date:   Mon Aug 8 12:11:52 2011 +0300

    cfg80211/nl80211: Send AssocReq IEs to user space in AP mode

    When user space SME/MLME (e.g., hostapd) is not used in AP mode, the
    IEs from the (Re)Association Request frame that was processed in
    firmware need to be made available for user space (e.g., RSN IE for
    hostapd). Allow this to be done with cfg80211_new_sta().

    Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
    Acked-by: Johannes Berg <johannes@sipsolutions.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 include/net/cfg80211.h |    8 ++++++++
 net/wireless/nl80211.c |    4 ++++
 2 files changed, 12 insertions(+), 0 deletions(-)

commit d1e94136fc
Author: Dima Zavin <dima@android.com>
Date:   Mon Jan 23 10:39:02 2012 -0800

    misc: remove android pmem driver, it's obsolete.

    Change-Id: I48d9778007e1e9eed2bb34e33ceee818c23afaa5
    Signed-off-by: Dima Zavin <dima@android.com>

 drivers/misc/Kconfig         |    4 -
 drivers/misc/Makefile        |    1 -
 drivers/misc/pmem.c          | 1345 ------------------------------------------
 include/linux/android_pmem.h |   93 ---
 4 files changed, 0 insertions(+), 1443 deletions(-)

commit dac306d896
Author: Dima Zavin <dima@android.com>
Date:   Thu Jan 19 09:51:07 2012 -0800

    Revert "proc: enable writing to /proc/pid/mem"

    This reverts commit 198214a7ee.

 fs/proc/base.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit a65e28a014
Author: Dima Zavin <dima@android.com>
Date:   Thu Jan 12 15:55:25 2012 -0800

    ram_console: set CON_ANYTIME console flag

    We want to ensure that we get all the console messages, even ones
    that occur while the printing CPU is not yet online.

    Change-Id: I1d2694d05ac9415669a92f38efdd8e71c927705b
    Signed-off-by: Dima Zavin <dima@android.com>

 drivers/staging/android/ram_console.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit f16e6fb3e3
Author: Benoit Goby <benoit@android.com>
Date:   Thu Dec 15 18:40:37 2011 -0800

    Revert "usb: gadget: rndis: don't use dev_get_stats"

    This reverts commit ffdab0c0c4.

    Not needed anymore in 2.6.39 and 3.0, dev_get_stats has been fixed
    and may be called from atomic context. See:
    1ac9ad1 net: remove dev_txq_stats_fold()

 drivers/usb/gadget/rndis.c |   23 ++---------------------
 1 files changed, 2 insertions(+), 21 deletions(-)

commit e1493f1544
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Mon Dec 19 10:24:09 2011 -0800

    net: wireless: bcmdhd: Enable wlan access on resume for all sdio functions

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/bcmsdh_sdmmc_linux.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

commit bbd08c6e95
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Fri Dec 16 12:54:51 2011 -0800

    net: wireless: bcmdhd: Fix P2P interface removal

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_linux.c   |    3 ++
 drivers/net/wireless/bcmdhd/wl_cfg80211.c |   43 ++++++++++++++++++++++-------
 drivers/net/wireless/bcmdhd/wl_cfg80211.h |    9 ++++--
 3 files changed, 42 insertions(+), 13 deletions(-)

commit 37ff4411a5
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Thu Dec 15 12:12:20 2011 -0800

    net: wireless: bcm4329: Fix pno_enable if disassociated

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcm4329/dhd_common.c |   43 ++++++++++++++++++++++++-----
 1 files changed, 36 insertions(+), 7 deletions(-)

commit 599c8566fa
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Tue Dec 13 17:39:48 2011 -0800

    net: wireless: bcmdhd: Fix proper scan command even if request is NULL

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/wl_cfg80211.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

commit f227b88c89
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Tue Dec 13 12:27:49 2011 -0800

    net: wireless: bcmdhd: Decrease event wake_lock timeout to 1500 ms

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd.h       |    4 ++--
 drivers/net/wireless/bcmdhd/dhd_linux.c |    8 ++++----
 drivers/net/wireless/bcmdhd/wl_iw.c     |    2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

commit ed3f356087
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Mon Dec 12 15:40:33 2011 -0800

    net: wireless: bcmdhd: Fix getting arp_hostip table

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_common.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit c561cedf2b
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Tue Dec 6 16:27:37 2011 -0800

    net: wireless: bcmdhd: Allow to push more packets to FW for Tx

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_sdio.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 4f36cb88d6
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Fri Dec 2 13:24:01 2011 -0800

    net: wireless: bcmdhd: Fix scan crash in ibss mode

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/wl_cfg80211.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit af16732d4c
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Fri Dec 2 13:10:47 2011 -0800

    net: wireless: bcmdhd: Add FW reloading in case of FW hang

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_linux.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 7caeacd6ed
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Wed Nov 30 12:49:02 2011 -0800

    net: wireless: bcmdhd: Update to Version 5.90.125.94.1

    - Return zeroed private command buffer
    - Fix memory leak in wl_inform_single_bss()

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/dhd_common.c      |    5 +++--
 drivers/net/wireless/bcmdhd/dhd_linux_mon.c   |   10 ++++++----
 drivers/net/wireless/bcmdhd/include/epivers.h |    2 +-
 drivers/net/wireless/bcmdhd/wl_android.c      |    9 ++++++---
 drivers/net/wireless/bcmdhd/wl_cfg80211.c     |    9 ++++++---
 5 files changed, 22 insertions(+), 13 deletions(-)

commit 8d71d882e7
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Fri Nov 11 16:04:12 2011 -0800

    net: wireless: bcmdhd: Use CONFIG_DHD_USE_STATIC_BUF for preallocated memory

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/net/wireless/bcmdhd/Kconfig             |    7 +++
 drivers/net/wireless/bcmdhd/bcmsdh_sdmmc.c      |   16 ++++----
 drivers/net/wireless/bcmdhd/dhd.h               |    4 +-
 drivers/net/wireless/bcmdhd/dhd_cdc.c           |    4 +-
 drivers/net/wireless/bcmdhd/dhd_linux.c         |    4 +-
 drivers/net/wireless/bcmdhd/dhd_sdio.c          |    4 +-
 drivers/net/wireless/bcmdhd/include/linux_osl.h |    2 +-
 drivers/net/wireless/bcmdhd/linux_osl.c         |   52 +++++++++++++----------
 drivers/net/wireless/bcmdhd/wl_android.c        |    7 ++-
 9 files changed, 57 insertions(+), 43 deletions(-)

commit 35047200c4
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Mon Dec 19 12:32:21 2011 -0800

    wireless: Protect regdomain change by mutex

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 net/wireless/reg.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit ea693bf7f8
Author: Dmitry Shmidt <dimitrysh@google.com>
Date:   Fri Dec 16 17:52:18 2011 -0800

    mmc: Set suspend/resume bus operations if CONFIG_PM_RUNTIME is used

    Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

 drivers/mmc/core/bus.c |   24 +++++++-----------------
 1 files changed, 7 insertions(+), 17 deletions(-)

commit dc1b634039
Author: Benoit Goby <benoit@android.com>
Date:   Fri Dec 9 18:05:00 2011 -0800

    usb: gadget: android: Don't allow changing the functions list if enabled

    Change-Id: I3ad39b420ce79a8602a7eca1daac1f56b30bad5c
    Signed-off-by: Benoit Goby <benoit@android.com>

 drivers/usb/gadget/android.c |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

commit e0de0a507d
Author: Benoit Goby <benoit@android.com>
Date:   Tue Nov 29 13:49:27 2011 -0800

    usb: gadget: android: Cancel pending ctrlrequest before disabling

    Make sure there is no pending ctrlrequest before removing the config.
    Otherwise the ctrlrequest complete callback could access structures
    after they have been freed. Unbind cancels pending transfers but not
    ep0 requests.

    Bug: 5513065 5440193

    Change-Id: I063c22bf5d104a3d2df71cf622409459fac5f27a
    Signed-off-by: Benoit Goby <benoit@android.com>

 drivers/usb/gadget/android.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit b86fd0b622
Author: Colin Cross <ccross@android.com>
Date:   Tue Nov 29 16:37:07 2011 -0800

    ARM: idle: call idle notifiers before stopping nohz tick

    If an idle notifier modifies a timer, calling the notifier after
    the sched tick has been stopped may leave the sched tick set too
    early.  Move teh idle notifier call before the call to
    tick_nohz_stop_sched_tick.

    Change-Id: I0db3284bec6d0193bc5e2a57650ab06bd8342319
    Signed-off-by: Colin Cross <ccross@android.com>

 arch/arm/kernel/process.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 6a4a38525d
Author: Benoit Goby <benoit@android.com>
Date:   Mon Nov 28 18:01:03 2011 -0800

    usb: gadget: android: Reset next_string_id before enable

    Reset next_string_id to 0 before enabling the gadget driver. Otherwise,
    after a large number of enable/disable cycles, bind will fail
    because we cannot allocate new string ids. String ids cannot be larger
    than 254 per USB spec.

    Change-Id: I44f5fece45008b7a0a18c025d4eb5ce842585c28
    Signed-off-by: Benoit Goby <benoit@android.com>

 drivers/usb/gadget/android.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit dbb18fb2c1
Author: hyungseoung.yoo <hyungseoung.yoo@samsung.com>
Date:   Fri Nov 18 13:57:01 2011 +0900

    Bluetooth: Keep master role when SCO or eSCO is active

    This improves compatbility with a lot of headset / chipset
    combinations. Ideally this should not be needed.

    Change-Id: I8b676701e12e416aa7d60801b9d353b15d102709
    Signed-off-by: hyungseoung.yoo <hyungseoung.yoo@samsung.com>
    Signed-off-by: Jaikumar Ganesh <jaikumarg@android.com>

 net/bluetooth/hci_event.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

commit 9d187300df
Author: Arve Hjønnevåg <arve@android.com>
Date:   Tue Nov 22 14:56:50 2011 -0800

    rtc: Fix some bugs that allowed accumulating time drift in suspend/resume

    The current code checks if abs(delta_delta.tv_sec) is greater or
    equal to two before it discards the old delta value, but this can
    trigger at close to -1 seconds since -1.000000001 seconds is stored
    as tv_sec -2 and tv_nsec 999999999 in a normalized timespec.

    rtc_resume had an early return check if the rtc value had not changed
    since rtc_suspend. This effectivly stops time for the duration of the
    short sleep. Check if sleep_time is positive after all the adjustments
    have been applied instead since this allows the old_system adjustment
    in rtc_suspend to have an effect even for short sleep cycles.

    Change-Id: I00b45c0349ec91a4bab9b41a126b377515427898
    Signed-off-by: Arve Hjønnevåg <arve@android.com>

 drivers/rtc/class.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 452d440ab2
Author: Arve Hjønnevåg <arve@android.com>
Date:   Tue Nov 22 15:28:27 2011 -0800

    Fix "time: Catch invalid timespec sleep values in __timekeeping_inject_sleeptime" to compile on 3.0

    Change-Id: I1225f279cda04dedbfb7f853f6b58f1032bd6d2b

 kernel/time/timekeeping.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit cf70c6a400
Author: John Stultz <john.stultz@linaro.org>
Date:   Wed Jun 1 18:18:09 2011 -0700

    time: Catch invalid timespec sleep values in __timekeeping_inject_sleeptime

    Arve suggested making sure we catch possible negative sleep time
    intervals that could be passed into timekeeping_inject_sleeptime.

    CC: Arve Hjønnevåg <arve@android.com>
    CC: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: John Stultz <john.stultz@linaro.org>

 kernel/time/timekeeping.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 340ede3671
Author: John Stultz <john.stultz@linaro.org>
Date:   Fri May 27 11:33:18 2011 -0700

    rtc: Avoid accumulating time drift in suspend/resume

    Because the RTC interface is only a second granular interface,
    each time we read from the RTC for suspend/resume, we introduce a
    half second (on average) of error.

    In order to avoid this error accumulating as the system is suspended
    over and over, this patch measures the time delta between the RTC
    and the system CLOCK_REALTIME.

    If the delta is less then 2 seconds from the last suspend, we compensate
    by using the previous time delta (keeping it close). If it is larger
    then 2 seconds, we assume the clock was set or has been changed, so we
    do no correction and update the delta.

    Note: If NTP is running, ths could seem to "fight" with the NTP corrected
    time, where as if the system time was off by 1 second, and NTP slewed the
    value in, a suspend/resume cycle could undo this correction, by trying to
    restore the previous offset from the RTC. However, without this patch,
    since each read could cause almost a full second worth of error, its
    possible to get almost 2 seconds of error just from the suspend/resume
    cycle alone, so this about equal to any offset added by the compensation.

    Further on systems that suspend/resume frequently, this should keep time
    closer then NTP could compensate for if the errors were allowed to
    accumulate.

    Credits to Arve Hjønnevåg for suggesting this solution.

    This patch also improves some of the variable names and adds more clear
    comments.

    CC: Arve Hjønnevåg <arve@android.com>
    CC: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: John Stultz <john.stultz@linaro.org>

 drivers/rtc/class.c |   65 +++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 48 insertions(+), 17 deletions(-)

Change-Id: I16f522e7ee2b301cbdaea62d52d50d7249f565c2
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
2012-03-28 16:03:47 -07:00
Linux Build Service Account
62ed9ac5c0 Merge "Bluetooth: Modify security level at remote_features event for BT2.0 devices" into msm-3.0 2012-03-28 10:51:24 -07:00
Prabhakaran Mc
9f08bfda36 Bluetooth: Modify security level at remote_features event for BT2.0 devices
For non SSP devices, MEDIUM_SECURITY has to be used for pairing. This
can be determined and set while receiving remote supported features
event for BT2.0 devices.

Change-Id: I24558d40be01c4232fff4a871e2b57e390d4128a
CRs-fixed: 345945
Signed-off-by: Prabhakaran Mc <prabhakaranmc@codeaurora.org>
2012-03-26 18:18:17 +05:30
Peter Krystad
0750f60192 Bluetooth: Allow for Pending status when moving back to BR-EDR
Fix issue where if a SCO connection is initiated during an AMP
OBEX transfer the fallback to BR-EDR fails and the OBEX connection
is disconnected.

When moving a channel back to BR-EDR L2CAP must allow for receiving
a Move Channel Response with Pending status before receiving the
Response with Success status.

Change-Id: I017bf607fa8ab5d0d582d61538c9a0e5ec25cd26
CRs-fixed: 341363
Signed-off-by: Peter Krystad <pkrystad@codeaurora.org>
2012-03-23 10:01:21 -07:00
Peter Krystad
dcfeee2e37 Bluetooth: Only clear AMP/L2CAP connection after all channels deleted
Fix issue where if there are two OBEX connections on an AMP link and one
of them is moved back to BR-EDR (or disconnected) the remaining connection
ceases to transfer any data, times out, and disconnects.

The l2cap_data pointer of the AMP hci_conn structure should not be cleared
whenever an L2CAP channel on AMP is deleted, it should only be cleared
when the last L2CAP channel on the AMP is deleted. This allows multiple
L2CAP channels to be open concurrently on AMP.

CRs-fixed: 344557
Change-Id: Ifb15a7156437a6ab7a7a76c3dae4b1cd901c796f
Signed-off-by: Peter Krystad <pkrystad@codeaurora.org>
2012-03-20 16:59:25 -07:00
Peter Krystad
4277842742 Bluetooth: Fix channel disconnect when logical link already exists
Fix issue where the attempt to move a second OBEX connection onto an
AMP link fails and the connection is disconnected.

When handling a Move when there is an existing Best Effort Logical Link
L2CAP must check for the WAIT_MOVE_CONFIRM and WAIT_MOVE_RSP_SUCESS
states when the logical link completes. In these scenarios the logical
link completes before the Move Confirm or Move Response Success is
received and L2CAP must continue to wait for the confirm or response.

CRs-fixed: 344557
Change-Id: I3e0786f780fa48592bb45ec2e81ae1ffa4a6ab80
Signed-off-by: Peter Krystad <pkrystad@codeaurora.org>
2012-03-20 16:59:25 -07:00
Archana Ramachandran
26a752b8a7 Bluetooth: Poll for RSSI updates from the remote device
This feature is required for implementing Low energy
proximity client immediate alert service. The proximtiy
client registers with the kernel for receiving RSSI updates
of the remote device. The kernel starts polling for RSSI
value using READ_RSSI HCI command and When it reaches
a particular threshold set by the proximity client,
updates are sent to the client.

Change-Id: I723dd140ad3bf02978c57b3ab127bb6768f28cca
CRs-fixed: 344936
Signed-off-by: Archana Ramachandran <archanar@codeaurora.org>
2012-03-19 21:21:45 -07:00
Linux Build Service Account
3cba30462b Merge changes I9751454d,I4b962ef3 into msm-3.0
* changes:
  Bluetooth: Fix l2cap conn failures for ssp devices
  Bluetooth: Fix L2CAP connection establishment
2012-03-17 05:05:07 -07:00
Peter Hurley
a5e5b0823a Bluetooth: Fix l2cap conn failures for ssp devices
Commit 330605423c fixed l2cap conn establishment for non-ssp remote
devices by not setting HCI_CONN_ENCRYPT_PEND every time conn security
is tested (which was always returning failure on any subsequent
security checks).

However, this broke l2cap conn establishment for ssp remote devices
when an ACL link was already established at SDP-level security. This
fix ensures that encryption must be pending whenever authentication
is also pending.

Change-Id: I9751454d450345b648d34445324b04ebfceae4b4
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Tested-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
CRs-fixed: 343392
Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
2012-03-16 15:45:18 -07:00
Ilia Kolomisnky
edc44dd505 Bluetooth: Fix L2CAP connection establishment
In hci_conn_security ( which is used during L2CAP connection
establishment ) test for HCI_CONN_ENCRYPT_PEND state also
sets this state, which is bogus and leads to connection time-out
on L2CAP sockets in certain situations (especially when
using non-ssp devices )

Change-Id: I4b962ef332c03485912f9e8e7b501d86b375daca
Signed-off-by: Ilia Kolomisnky <iliak@ti.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
[mathewm@codeaurora.org: Resolved conflict]
CRs-fixed: 343392
Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
2012-03-16 15:45:18 -07:00
Prabhakaran Mc
453651c5db Bluetooth: Set security level based on remote device features.
Connection security level is modified based on remote device's
extended feature. Deciding SSP capability of remote device
by EIR response is incorrect, because few BT2.1 devices do not
send EIR and few BT2.1 devices which send EIR do not support
SSP. SSP capability of remote device has to be decided based on
remote_extended_features event. This patch makes sure that
MEDIUM_SECURITY is set for non ssp devices' pairing process.

Change-Id: I328a35a30895f2ab6abaaeec51b364ecd633e642
CRs-fixed: 339166
Signed-off-by: Prabhakaran Mc <prabhakaranmc@codeaurora.org>
2012-03-14 16:05:16 +05:30
Royston Rodrigues
1670f3851f Bluetooth: Clear HCI_INQUIRY flags for successive inquiry scans to succeed
HCI_INQUIRY flags wasn't cleared thereby causing successive inquiry scans
triggered via IOCTLs to fail as connection timeout. As a consequence
successive device scans triggered by Bluez tool (hcitool) failed.
Now HCI_INQUIRY flags are cleared irrespective of device type being BR/EDR
or LE.

Change-Id: Ic5e4804b52f18a46940f38d1e14e8c6825fa97bb
Signed-off-by: Royston Rodrigues <roystonr@codeaurora.org>
2012-03-12 21:15:24 +05:30
Sunny Kapdi
f3caf884a4 bluetooth: Add support for remote_features
Expose Bluetooth remote features to the userspace. A2DP profile
setup in the userspace would need this information to
determine if the remote side supports EDR ACL link or not.

Change-Id: Ib6713707baaf30ffe872247313b2185ae2897385
Signed-off-by: Sunny Kapdi <sunnyk@codeaurora.org>
2012-03-08 23:07:42 -08:00
Linux Build Service Account
e5c9f93dff Merge "Bluetooth: Lock sockets when closing HCI device" into msm-3.0 2012-03-08 20:43:43 -08:00
Linux Build Service Account
2bed2209d8 Merge "Bluetooth: SSP: Just Works Model in no MITM" into msm-3.0 2012-03-07 19:00:01 -08:00
Mat Martineau
3b9239a8f4 Bluetooth: Lock sockets when closing HCI device
When a Bluetooth device is powered down while RFCOMM connections are
open, there are race conditions where RFCOMM tries to use an HCI
connection after the data structures have been deleted.  Since the
powerdown procedure runs in process context, it is possible to lock
sockets before accessing them to close connections.  This change adds
that locking, which will serialize socket access between processors
during powerdown.

Change-Id: I587720799b35d9ee6e66340bdeda8a2b9e2ea7b5
CRs-fixed: 336893
Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
2012-03-07 18:11:59 -07:00
Linux Build Service Account
af83344fcf Merge "Bluetooth: Handle error command status for AUTH_REQUESTED command" into msm-3.0 2012-03-07 08:50:40 -08:00
Prabhakaran Mc
7953ca7e40 Bluetooth: Handle error command status for AUTH_REQUESTED command
When AUTH_REQUESTED command status is error status, do the bonding
cleanup, so that there will not be any problem for next time
pairing process and in user space.

Change-Id: I0150382be902279b856099c840598c5be91d03ac
CRs-fixed: 331126
Signed-off-by: Prabhakaran Mc <prabhakaranmc@codeaurora.org>
2012-03-06 20:43:46 +05:30
Peter Krystad
2850a82059 Bluetooth: Fix null pointer dereference
CRs-fixed: 340541
Change-Id: I3048e8fa4b96da6d1529ef8ec72276187a06504a
Signed-off-by: Peter Krystad <pkrystad@codeaurora.org>
2012-03-02 11:00:11 -08:00
AnubhavGupta
07c2a0f63e Bluetooth: SSP: Just Works Model in no MITM
In case both side have no MITM requirements, we need
to use Just Works Association Model. We should not
display PassKey in this case and just YES/NO option
should be displayed

Change-Id: I447aa84a0d021e8834138062a26a9380d3b9b2d9
Signed-off-by: AnubhavGupta <anubhavg@codeaurora.org>
2012-02-27 16:34:18 +05:30
Brian Gix
20de7cfdbc Bluetooth: Use seperate socket for LE ATT Server
Because traffic between the local GATT client(s) and
remote servers are subject to different controls than
remote clients and the local server, all on the shared
fixed CID, it is important to manage the traffic on
seperate sockets.

Change-Id: I62385143c86522f4b123b32592b69f2a0ae6dc76
CRs-fixed: 336029
Signed-off-by: Brian Gix <bgix@codeaurora.org>
2012-02-18 17:54:40 -08:00
Brian Gix
8217b26988 Bluetooth: Fix ATT MTU size to 23
We only support a 23 octet MTU, so auto-respond to all
MTU change requests with the 23 octet response.

Change-Id: Ic69d5f068759d983f8cd98b329acbb9d3a481c49
CRs-fixed: 336025
Signed-off-by: Brian Gix <bgix@codeaurora.org>
2012-02-18 17:54:39 -08:00
Brian Gix
80fb3a9e8c Bluetooth: Fix LE Connection refcnts
Some rebalancing of refcnts due to issues found during testing:

Refcnt was not being released on security completion, if local side
was paired but the remote side had deleted the pairing info, and then
the re-pair failed to complete successfully.

Additionally, the refcnt was not held-released properly if pairing
was initiated due to the client socket being opened with security
level elevated from the start.

Change-Id: I120fed4dc74035d280781ca949a23d4cbcfa3f3e
CRs-fixed: 335993
Signed-off-by: Brian Gix <bgix@codeaurora.org>
2012-02-18 11:40:33 -07:00
Mat Martineau
28eb3fab35 Bluetooth: Skip ERTM queue processing when there are receive errors
An application may call recv() on a disconnected socket if the
connection has unexpectedly dropped.  In this case, the socket may
still exist, but it will be in an error state and the L2CAP connection
will be mostly torn down.

A crash was observed when the ERTM code attempted to send an ACK when
the L2CAP connection was not up.  If the error state is detected and
ERTM queue processing is skipped, then the crash is avoided and the
recv() call just returns an error in userspace.

CRs-fixed: 336000
Change-Id: I540d774c5d42f0df856b13b6e634e6ba31d86492
Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
2012-02-16 08:58:19 -07:00
Linux Build Service Account
6d8baef3c6 Merge "Bluetooth: Return empty mask for wrong link type in connect_ind" into msm-3.0 2012-02-16 02:26:18 -08:00
Linux Build Service Account
142a6c638f Merge "Bluetooth: Block incoming commands from mgmtops when hci device is down" into msm-3.0 2012-02-16 00:08:24 -08:00
Mat Martineau
8b51dd4677 Bluetooth: Return empty mask for wrong link type in connect_ind
For every incoming connection, both l2cap_connect_ind and
sco_connect_ind are called.  One will always have a mismatched link
type (which is expected), the incoming link will be either L2CAP or
SCO but both connect_ind functions get called anyway.  If the incoming
link is an L2CAP link, sco_connect_ind should return 0 so it doesn't
set any mask bits.  Similarly, an incoming SCO link should make
l2cap_connect_ind return 0.

CRs-fixed: 336437
Change-Id: I4722d64ef65988d7898b178f05c4e6709ead1362
Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
2012-02-13 10:44:07 -08:00
Mat Martineau
0ac1436986 Bluetooth: Require streaming mode when it is requested for a socket
The L2CAP specification has two ways to support streaming mode: Allow
fallback to ERTM or basic mode when the remote device requests one of
those modes, or make the connection fail unless both sides agree on
streaming mode.

The current code does not properly support either method.  This change
makes a streaming mode connection fail if the remote device does not
also request streaming mode.

CRs-fixed: 336291
Change-Id: Id26f963a5e15d18e85a2faf2f8f01848e2a73fa4
Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
2012-02-13 09:34:00 -08:00
Linux Build Service Account
3dddea6b7e Merge "Bluetooth: LE sockets not ready until encrypted" into msm-3.0 2012-02-12 15:40:29 -08:00
Bhasker Neti
a6e6a4f057 Bluetooth: Block incoming commands from mgmtops when hci device is down
Even after the device is down, some hci commands are getting queued in
some scenarios, since there is no command queue purge mechanism in the
initialization sequence, so the immediate device up initialization
sequence is messed up with unexpected commands.
The current change blocks some of the hci commands to get queued if the
device is down and also purges the queue in the beginning of the next
device initialization sequence.

CRs-fixed: 336160
Change-Id: Ice5a38da47af11babd5b9dd33b9d711ef96e6732
Signed-off-by: Bhasker Neti <bneti@codeaurora.org>
2012-02-10 16:48:22 +05:30
Archana Ramachandran
d6d25e1962 Bluetooth: Increased the LE connection supervision timeout
Increased the LE supervision timeout to 10 seconds
so that concurrent operations can be performed with LE
connection.

Change-Id: I34cc53d1a0eb8943de11fc35580a27b037b87b2f
Signed-off-by: Archana Ramachandran <archanar@codeaurora.org>
2012-02-09 16:31:25 -07:00
Brian Gix
416db90511 Bluetooth: LE sockets not ready until encrypted
If encryption fails during socket setup, the L2CAP channel should not
be marked as Ready until after re-pairing takes place.

Change-Id: I57a07ae72d4a57584c9367db9a832f4560629ac7
CRs-fixed: 335988
Signed-off-by: Brian Gix <bgix@codeaurora.org>
2012-02-09 14:01:12 -08:00
Linux Build Service Account
90f22ced6a Merge "Bluetooth: Avoid link entering sniff mode during pairing process." into msm-3.0 2012-02-04 12:59:48 -08:00
Linux Build Service Account
6461378376 Merge "Bluetooth: Ensure full A2MP msg is pulled from skb" into msm-3.0 2012-02-01 06:28:53 -08:00
Linux Build Service Account
14dc5090b9 Merge "Bluetooth: Allow headroom in ACL data packets from HCI socket" into msm-3.0 2012-02-01 06:28:53 -08:00
Srinivas Krovvidi
32ba935d89 Bluetooth: Avoid link entering sniff mode during pairing process.
Found incoming connection issue with IOT devices when link enters
sniff mode during pairing process. The current change avoids link
entering sniff mode when link key is not available for connection.

Change-Id: I26fbbccec8d7b3faa91cba8f976fb0e44d7f5344
CRs-Fixed: 331520
Signed-off-by: Srinivas Krovvidi <skrovvid@codeaurora.org>
2012-02-01 08:53:47 +05:30
Peter Krystad
fc60bda779 Bluetooth: Allow headroom in ACL data packets from HCI socket
Need to allocate headroom in ACL data packets destined for the
Qualcomm PAL that are be transmitted via an HCI socket.

The Qualcomm PAL uses extra headroom in skbs to be transmitted to
save a copy when passing to the WLAN driver. This headroom is
allocated by L2CAP. This same headroom must be added for skbs to
be transmitted directly by HCI socket layer. HCI sockets are used
to transmit data during Bluetooth qualification testing.

CRs-fixed: 332866
Change-Id: I173a16c6cb3882bf4155be051e3b3375ea240369
Signed-off-by: Peter Krystad <pkrystad@codeaurora.org>
2012-01-29 19:23:22 -08:00
Peter Krystad
02a952a761 Bluetooth: Ensure full A2MP msg is pulled from skb
Ensure the full A2MP Get Info Response message is pulled from the
skb when the status is not SUCCESS. Also fix similiar scenario in
Get AMP Assoc and remove unneeded check for mismatched id's.

Change-Id: Ia676d89238113e24f06aaa5d9e955afcc4de0307
Signed-off-by: Peter Krystad <pkrystad@codeaurora.org>
2012-01-25 16:50:27 -08:00
Brian Gix
474e0f21f8 Bluetooth: prevent dup DISCOVERY_STOP's pending
It is possible to redundently request Discovery
operations.  This fix cleans up some stored state to
prevent MGMT event overload when discovery finally completes.

Change-Id: I2ffb5c0749df95e40cd39e8c64c87a62a93fb896
CRs-fixed: 329657
Signed-off-by: Brian Gix <bgix@codeaurora.org>
2012-01-24 10:22:29 -08:00
Linux Build Service Account
820424dee8 Merge "Bluetooth: Reading remote device lmp_version from controller." into msm-3.0 2012-01-21 21:07:06 -08:00
Linux Build Service Account
797bef9b61 Merge "Bluetooth: Fix timeout configuration for AMP channels" into msm-3.0 2012-01-20 08:40:30 -08:00
Srinivas Krovvidi
d352b26f74 Bluetooth: Reading remote device lmp_version from controller.
On ACL connection complete with a remote device, the remote
device lmp version should be available with Controller. The
current change is to read this information from controller to
host and update to bluez userspace through management APIs.

Change-Id: Ie152ed98fa0a6cf9ab170a6bb8c6a05b5b9dfcb0
Signed-off-by: Srinivas Krovvidi <skrovvid@codeaurora.org>
2012-01-20 08:22:56 +05:30
Linux Build Service Account
b6dad9fd3d Merge "Bluetooth: Discovery Timer stability fixes" into msm-3.0 2012-01-16 01:17:20 -08:00
Mat Martineau
966dcfae82 Bluetooth: Fix timeout configuration for AMP channels
When doing L2CAP configuration, use the correct retransmit and monitor
timeouts when configuring (or reconfiguring) AMP channels. The host
stack needs to use the timeouts read from incoming configuration
responses, and write appropriate timeouts when sending configuration
responses.

Change-Id: I1271ade93dbfee58a1cac115280704a327e901b2
Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
2012-01-14 23:55:47 -07:00
Linux Build Service Account
a3f14c0989 Merge "Bluetooth: Support for writing hci flush timeout parameter." into msm-3.0 2012-01-14 18:24:57 -08:00
Srinivas Krovvidi
10734198ae Bluetooth: Support for writing hci flush timeout parameter.
Added Flush Timeout parameter setting for l2cap channel. Bluetooth
profiles using l2cap can set this parameter to flush out the data
when it cannot be sent over the air with in timeout duration.

Change-Id: I60420c5be3a790aff26bc30e8089fdca47a99222
Signed-off-by: Srinivas Krovvidi <skrovvid@codeaurora.org>
2012-01-14 16:37:21 -07:00
Brian Gix
568dde90e7 Bluetooth: Discovery Timer stability fixes
This change prevents running timers from being re-initialized
which causes system instablility. Also prevents starting a
discovery operation when already in progress.

CRs-fixed: 328673
Change-Id: Icda36a25fdcb40dab4f95f9cc39ca124b299e308
Signed-off-by: Brian Gix <bgix@codeaurora.org>
2012-01-13 10:07:23 -08:00
Brian Gix
3cd62049b5 Bluetooth: Explicitly stop all timers before frees
As a preventative measure, timers on dynamic memory structures must be
not running, or stopped, prior to freeing. Since it is safe to delete
timers whether running or not, all timers are deleted.

CRs-fixed: 328673
Change-Id: I255d99cb2419fad07caf445920050cf2d05ffe4d
Signed-off-by: Brian Gix <bgix@codeaurora.org>
2012-01-13 09:39:12 -08:00
Mat Martineau
9f8d467343 Bluetooth: Fix HCI channel reference counting
When an incoming HCI logical link event came in at the same time
a socket structure was deleted, it was possible to end up with a stale
pointer to the socket.  The socket and associated HCI channel struct
need to be properly reference counted so they are not freed
prematurely.

CRs-Fixed: 325023
Change-Id: Ia5724a9ce2000acd60a174c354be04029bac5324
Signed-off-by: Mat Martineau <mathewm@codeaurora.org>
2012-01-09 08:52:39 -08:00