net: wireless: bcmdhd: Enable P2P probe request handling only during discovery

Change-Id: I2db29d5ed7f66f2a45feb890c81d510fcad24dd2
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
video: tegra: host: better error handling in alloc_gathers()

We should return -ENOMEM in alloc_gathers() when get a NULL pointer
from nvmap_alloc() or nvmap_mmap()

Bug 1178135

Change-Id: I29321710343983a6e733d95b10a1f7eb586246c0
Signed-off-by: Haley Teng <hteng@nvidia.com>
Proximity: Enable sensor by it's previous RIL setting when device resume from suspend.

Change-Id: Id5b0bfaa79d62e5c41fa704470cf82bf7a0fefac
bcmdhd: Enable Ad-Hoc (IBSS) mode

Enable Ad-Hoc (IBSS) mode for bcmdhd. We basically just need to set the
interface flag and avoid some P2P specific settings while scanning.

Also add the "station get" command for IBSS mode.

Change-Id: Ie6f0fa77b55d92a7c22cbda72bad200cbfaede04
Signed-off-by: Bruno Randolf <br1@einfach.org>
bcmdhd: workaround broken AC video queue in IBSS mode

The BCM4330 has problems with the WME video (AC_VI) queue in IBSS mode. If we
put packets into this AC, the symptoms are excessive RTS/CTS, most packets get
lost and the device get's stuck and no more packets can be sent, even on other
queues.

Since the AC queue selection happens in the firmware based on the DSCP priority
and we don't know a way to configure this in the driver the workaround is to
simply downgrade all packets which would go into AC_VI (priority 4 and 5, TOS
0x80 and 0xa0) to AC_BE (priority 3 "Excellent Effort"). It's not pretty but
makes the device usable.

Change-Id: I8911c0eef7f189fc55547f02279e7012bc267d47
Signed-off-by: Bruno Randolf <br1@einfach.org>
block: Adding ROW scheduling algorithm

This patch adds the implementation of a new scheduling algorithm - ROW.
The policy of this algorithm is to prioritize READ requests over WRITE
as much as possible without starving the WRITE requests.

Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
backported from Linux 3.5+ to Linux 3.0.x by faux123
block: Expose kblock_schedule_delayed_work()

This function is exported in blk-core.c to be used in other modules
but it's definition in h file is missing.

Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
block:Enable ROW io and set as default
block: recursive merge requests

In my workload, thread 1 accesses a, a+2, ..., thread 2 accesses a+1,
a+3,.... When the requests are flushed to queue, a and a+1 are merged
to (a, a+1), a+2 and a+3 too to (a+2, a+3), but (a, a+1) and (a+2, a+3)
aren't merged.
With recursive merge below, the workload throughput gets improved 20%
and context switch drops 60%.
Signed-off-by: Shaohua Li <shaohua.li@intel.com>
block: Fix bad range check in bio_sector_offset

DM would occasionally end up splitting data integrity-enabled requests
incorrectly. The culprit was a bad range check in bio_sector_offset.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>