Commit Graph

39284 Commits

Author SHA1 Message Date
Colin Cross
f813700962 Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36 2010-12-21 18:38:24 -08:00
Colin Cross
3f29a88349 Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36
Conflicts:
	drivers/usb/gadget/composite.c

Change-Id: I1a332ec21da62aea98912df9a01cf0282ed50ee1
2010-12-21 18:38:13 -08:00
Colin Cross
b104a07edb Merge commit 'v2.6.36.2' into linux-tegra-2.6.36 2010-12-21 18:34:37 -08:00
Greg Meiste
31a4b93564 firmware: cpcap: Add option to soft reset host
Change-Id: I25c6d2d93105c2dc59de81b0955d3a63ef7144b9
Signed-off-by: Greg Meiste <w30289@motorola.com>
2010-12-21 12:02:29 -08:00
Rebecca Schultz Zavin
d3f5d07035 Revert "Revert "sched: Add a generic notifier when a task struct is about to be freed""
This reverts commit d534322cb6.
2010-12-21 11:36:36 -08:00
Colin Cross
155001f4a6 Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36 2010-12-17 17:24:24 -08:00
Colin Cross
8ab30a059d Merge branch 'android-2.6.36' into android-tegra-2.6.36 2010-12-17 17:23:38 -08:00
Colin Cross
05946a1e0f cgroup: Remove call to synchronize_rcu in cgroup_attach_task
synchronize_rcu can be very expensive, averaging 100 ms in
some cases.  In cgroup_attach_task, it is used to prevent
a task->cgroups pointer dereferenced in an RCU read side
critical section from being invalidated, by delaying the
call to put_css_set until after an RCU grace period.

To avoid the call to synchronize_rcu, make the put_css_set
call rcu-safe by moving the deletion of the css_set links
into free_css_set_work, scheduled by the rcu callback
free_css_set_rcu.

The decrement of the cgroup refcount is no longer
synchronous with the call to put_css_set, which can result
in the cgroup refcount staying positive after the last call
to cgroup_attach_task returns.  To allow the cgroup to be
deleted with cgroup_rmdir synchronously after
cgroup_attach_task, have rmdir check the refcount of all
associated css_sets.  If cgroup_rmdir is called on a cgroup
for which the css_sets all have refcount zero but the
cgroup refcount is nonzero, reuse the rmdir waitqueue to
block the rmdir until free_css_set_work is called.

Signed-off-by: Colin Cross <ccross@android.com>
2010-12-17 17:01:51 -08:00
Colin Cross
60cdbd1f33 cgroup: Set CGRP_RELEASABLE when adding to a cgroup
Changes the meaning of CGRP_RELEASABLE to be set on any cgroup
that has ever had a task or cgroup in it, or had css_get called
on it.  The bit is set in cgroup_attach_task, cgroup_create,
and __css_get.  It is not necessary to set the bit in
cgroup_fork, as the task is either in the root cgroup, in
which can never be released, or the task it was forked from
already set the bit in croup_attach_task.

Signed-off-by: Colin Cross <ccross@android.com>
2010-12-17 17:01:49 -08:00
Greg Meiste
1b8f70341a mfd: cpcap: Improve ST DAC enable time
Workaround provided by ST to improve ST DAC enable time.

Change-Id: I246ef7af1e9b5c2d21f9ec311d35fc704b4589bd
Signed-off-by: Greg Meiste <w30289@motorola.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
2010-12-15 15:57:10 -08:00
Erik Gilling
0fe8d7bf98 Merge branch android-tegra-2.6.36 into android-tegra-moto-2.6.36
Change-Id: Id806720fee83d7515a38dc601a7570a3da55fec3
2010-12-14 18:12:15 -08:00
Erik Gilling
8afb3d3409 Merge remote branch android-2.6.36 into android-tegra-2.6.36
Change-Id: Ice30bc601132f829abd664c68ddc61cbcdb8668c
2010-12-14 18:10:32 -08:00
Mike Lockwood
a05f03bf6e USB: gadget: composite: Use separate switches for connected and config state
Also remove disconnect debouncing, which didn't actually work on some platforms

Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-14 09:24:54 -08:00
Linus Torvalds
2df3be967d Un-inline get_pipe_info() helper function
commit 7208364652 upstream.

This avoids some include-file hell, and the function isn't really
important enough to be inlined anyway.

Reported-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:36 -08:00
Linus Torvalds
de6b162361 Export 'get_pipe_info()' to other users
commit c66fb34794 upstream.

And in particular, use it in 'pipe_fcntl()'.

The other pipe functions do not need to use the 'careful' version, since
they are only ever called for things that are already known to be pipes.

The normal read/write/ioctl functions are called through the file
operations structures, so if a file isn't a pipe, they'd never get
called.  But pipe_fcntl() is special, and called directly from the
generic fcntl code, and needs to use the same careful function that the
splice code is using.

Cc: Jens Axboe <jaxboe@fusionio.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:36 -08:00
David S. Miller
8612ab37c0 net: Limit socket I/O iovec total length to INT_MAX.
commit 8acfe468b0 upstream.

This helps protect us from overflow issues down in the
individual protocol sendmsg/recvmsg handlers.  Once
we hit INT_MAX we truncate out the rest of the iovec
by setting the iov_len members to zero.

This works because:

1) For SOCK_STREAM and SOCK_SEQPACKET sockets, partial
   writes are allowed and the application will just continue
   with another write to send the rest of the data.

2) For datagram oriented sockets, where there must be a
   one-to-one correspondance between write() calls and
   packets on the wire, INT_MAX is going to be far larger
   than the packet size limit the protocol is going to
   check for and signal with -EMSGSIZE.

Based upon a patch by Linus Torvalds.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:28 -08:00
Rafael J. Wysocki
53e87163a1 PM / Hibernate: Fix memory corruption related to swap
commit c9e664f1fd upstream.

There is a problem that swap pages allocated before the creation of
a hibernation image can be released and used for storing the contents
of different memory pages while the image is being saved.  Since the
kernel stored in the image doesn't know of that, it causes memory
corruption to occur after resume from hibernation, especially on
systems with relatively small RAM that need to swap often.

This issue can be addressed by keeping the GFP_IOFS bits clear
in gfp_allowed_mask during the entire hibernation, including the
saving of the image, until the system is finally turned off or
the hibernation is aborted.  Unfortunately, for this purpose
it's necessary to rework the way in which the hibernate and
suspend code manipulates gfp_allowed_mask.

This change is based on an earlier patch from Hugh Dickins.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Reported-by: Ondrej Zary <linux@rainbow-software.org>
Acked-by: Hugh Dickins <hughd@google.com>
Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:26 -08:00
Thomas Gleixner
03aff981d0 perf: Fix inherit vs. context rotation bug
commit dddd3379a6 upstream.

It was found that sometimes children of tasks with inherited events had
one extra event. Eventually it turned out to be due to the list rotation
no being exclusive with the list iteration in the inheritance code.

Cure this by temporarily disabling the rotation while we inherit the events.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:33:25 -08:00
Oleg Nesterov
b7d121bbfa exec: copy-and-paste the fixes into compat_do_execve() paths
commit 114279be21 upstream.

Note: this patch targets 2.6.37 and tries to be as simple as possible.
That is why it adds more copy-and-paste horror into fs/compat.c and
uglifies fs/exec.c, this will be cleanuped later.

compat_copy_strings() plays with bprm->vma/mm directly and thus has
two problems: it lacks the RLIMIT_STACK check and argv/envp memory
is not visible to oom killer.

Export acct_arg_size() and get_arg_page(), change compat_copy_strings()
to use get_arg_page(), change compat_do_execve() to do acct_arg_size(0)
as do_execve() does.

Add the fatal_signal_pending/cond_resched checks into compat_count() and
compat_copy_strings(), this matches the code in fs/exec.c and certainly
makes sense.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:32:57 -08:00
Oleg Nesterov
35cc70fc58 exec: make argv/envp memory visible to oom-killer
commit 3c77f84572 upstream.

Brad Spengler published a local memory-allocation DoS that
evades the OOM-killer (though not the virtual memory RLIMIT):
http://www.grsecurity.net/~spender/64bit_dos.c

execve()->copy_strings() can allocate a lot of memory, but
this is not visible to oom-killer, nobody can see the nascent
bprm->mm and take it into account.

With this patch get_arg_page() increments current's MM_ANONPAGES
counter every time we allocate the new page for argv/envp. When
do_execve() succeds or fails, we change this counter back.

Technically this is not 100% correct, we can't know if the new
page is swapped out and turn MM_ANONPAGES into MM_SWAPENTS, but
I don't think this really matters and everything becomes correct
once exec changes ->mm or fails.

Reported-by: Brad Spengler <spender@grsecurity.net>
Reviewed-and-discussed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:32:57 -08:00
Nick Piggin
8301e7e348 radix-tree: fix RCU bug
commit 27d20fddc8 upstream.

Salman Qazi describes the following radix-tree bug:

In the following case, we get can get a deadlock:

0.  The radix tree contains two items, one has the index 0.
1.  The reader (in this case find_get_pages) takes the rcu_read_lock.
2.  The reader acquires slot(s) for item(s) including the index 0 item.
3.  The non-zero index item is deleted, and as a consequence the other item is
    moved to the root of the tree. The place where it used to be is queued for
    deletion after the readers finish.
3b. The zero item is deleted, removing it from the direct slot, it remains in
    the rcu-delayed indirect node.
4.  The reader looks at the index 0 slot, and finds that the page has 0 ref
    count
5.  The reader looks at it again, hoping that the item will either be freed or
    the ref count will increase. This never happens, as the slot it is looking
    at will never be updated. Also, this slot can never be reclaimed because
    the reader is holding rcu_read_lock and is in an infinite loop.

The fix is to re-use the same "indirect" pointer case that requires a slot
lookup retry into a general "retry the lookup" bit.

Signed-off-by: Nick Piggin <npiggin@kernel.dk>
Reported-by: Salman Qazi <sqazi@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:32:53 -08:00
Eric Paris
d033ce7618 netfilter: NF_HOOK_COND has wrong conditional
commit ac5aa2e333 upstream.

The NF_HOOK_COND returns 0 when it shouldn't due to what I believe to be an
error in the code as the order of operations is not what was intended.  C will
evalutate == before =.  Which means ret is getting set to the bool result,
rather than the return value of the function call.  The code says

if (ret = function() == 1)
when it meant to say:
if ((ret = function()) == 1)

Normally the compiler would warn, but it doesn't notice it because its
a actually complex conditional and so the wrong code is wrapped in an explict
set of () [exactly what the compiler wants you to do if this was intentional].
Fixing this means that errors when netfilter denies a packet get propagated
back up the stack rather than lost.

Problem introduced by commit 2249065f (netfilter: get rid of the grossness
in netfilter.h).

Signed-off-by: Eric Paris <eparis@redhat.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:32:52 -08:00
Jiri Slaby
99c0f4e21e TTY: open/hangup race fixup
commit acfa747baf upstream.

Like in the "TTY: don't allow reopen when ldisc is changing" patch,
this one fixes a TTY WARNING as described in the option 1) there:
1) __tty_hangup from tty_ldisc_hangup to tty_ldisc_enable. During this
section tty_lock is held. However tty_lock is temporarily dropped in
the middle of the function by tty_ldisc_hangup.

The fix is to introduce a new flag which we set during the unlocked
window and check it in tty_reopen too. The flag is TTY_HUPPING and is
cleared after TTY_HUPPED is set.

While at it, remove duplicate TTY_HUPPED set_bit. The one after
calling ops->hangup seems to be more correct. But anyway, we hold
tty_lock, so there should be no difference.

Also document the function it does that kind of crap.

Nicely reproducible with two forked children:
static void do_work(const char *tty)
{
	if (signal(SIGHUP, SIG_IGN) == SIG_ERR) exit(1);
	setsid();
	while (1) {
		int fd = open(tty, O_RDWR|O_NOCTTY);
		if (fd < 0) continue;
		if (ioctl(fd, TIOCSCTTY)) continue;
		if (vhangup()) continue;
		close(fd);
	}
	exit(0);
}

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Reported-by: <Valdis.Kletnieks@vt.edu>
Reported-by: Kyle McMartin <kyle@mcmartin.ca>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:32:42 -08:00
Daniel Klaffenbach
7075941020 ssb: b43-pci-bridge: Add new vendor for BCM4318
commit 1d8638d403 upstream.

Add new vendor for Broadcom 4318.

Signed-off-by: Daniel Klaffenbach <danielklaffenbach@gmail.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:32:36 -08:00
Andrew Morton
23d1f7ce08 kfifo: disable __kfifo_must_check_helper()
commit 52c5171214 upstream.

This helper is wrong: it coerces signed values into unsigned ones, so code
such as

	if (kfifo_alloc(...) < 0) {
		error
	}

will fail to detect the error.

So let's disable __kfifo_must_check_helper() for 2.6.36.

Cc: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Stefani Seibold <stefani@seibold.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:32:29 -08:00
Christian Lamparter
8b65ed5ecb mac80211: clear txflags for ps-filtered frames
commit eb7d3066cf upstream.

This patch fixes stale mac80211_tx_control_flags for
filtered / retried frames.

Because ieee80211_handle_filtered_frame feeds skbs back
into the tx path, they have to be stripped of some tx
flags so they won't confuse the stack, driver or device.

Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:32:12 -08:00
Martin K. Petersen
25e5735b6f block: Ensure physical block size is unsigned int
commit 892b6f90db upstream.

Physical block size was declared unsigned int to accomodate the maximum
size reported by READ CAPACITY(16).  Make sure we use the right type in
the related functions.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Acked-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:31:54 -08:00
Iliyan Malchev
63727fdcba Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36 2010-12-06 18:31:10 -08:00
Iliyan Malchev
8df654ec26 Merge remote branch 'common/android-2.6.36' into android-tegra-2.6.36 2010-12-06 18:22:59 -08:00
John Michelau
10a8f4d52e usb: gadget: Multiple ACM gadget instances
- Added multiple ACM instance support in Android gadget
- Fixed multiple instance naming issue in ACM function
- Increased max instances from 4 to 8

Change-Id: I65f1b0be94da859bab7ec0ad7cd804b896c7c4c5
Signed-off-by: John Michelau <john.michelau@motorola.com>
2010-12-03 16:31:43 -08:00
makarand.karvekar
cf2439b6ab misc: add capacitive proximity calibration driver
capacitive proximity(cap-prox) calibration scheme to rule out
proximity detection due to some light conductive surfaces as device
covers and table-top.

Change-Id: I64d566a168befb82a610de6094044eeca294c6c4
Signed-off-by: makarand.karvekar <makarand.karvekar@motorola.com>
2010-12-01 21:00:16 -08:00
Colin Cross
fded4ab27f Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36 2010-12-01 18:27:33 -08:00
Colin Cross
0a11e95053 Merge branch 'android-2.6.36' into android-tegra-2.6.36 2010-12-01 18:27:19 -08:00
Mike Chan
5316236c8d cpufreq: interactive: New 'interactive' governor
This governor is designed for latency-sensitive workloads, such as
interactive user interfaces.  The interactive governor aims to be
significantly more responsive to ramp CPU quickly up when CPU-intensive
activity begins.

Existing governors sample CPU load at a particular rate, typically
every X ms.  This can lead to under-powering UI threads for the period of
time during which the user begins interacting with a previously-idle system
until the next sample period happens.

The 'interactive' governor uses a different approach. Instead of sampling
the CPU at a specified rate, the governor will check whether to scale the
CPU frequency up soon after coming out of idle.  When the CPU comes out of
idle, a timer is configured to fire within 1-2 ticks.  If the CPU is very
busy from exiting idle to when the timer fires then we assume the CPU is
underpowered and ramp to MAX speed.

If the CPU was not sufficiently busy to immediately ramp to MAX speed, then
the governor evaluates the CPU load since the last speed adjustment,
choosing the highest value between that longer-term load or the short-term
load since idle exit to determine the CPU speed to ramp to.

A realtime thread is used for scaling up, giving the remaining tasks the
CPU performance benefit, unlike existing governors which are more likely to
schedule rampup work to occur after your performance starved tasks have
completed.

The tuneables for this governor are:
/sys/devices/system/cpu/cpufreq/interactive/min_sample_time:
	The minimum amount of time to spend at the current frequency before
	ramping down. This is to ensure that the governor has seen enough
	historic CPU load data to determine the appropriate workload.
	Default is 80000 uS.
/sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
	The CPU load at which to ramp to max speed.  Default is 85.

Change-Id: Ib2b362607c62f7c56d35f44a9ef3280f98c17585
Signed-off-by: Mike Chan <mike@android.com>
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Bug: 3152864
2010-12-01 15:10:04 -08:00
Praveen Bharathi
88f695fd31 leds: als: improve ALS reporting accuracy
Signed-off-by: Praveen Bharathi <pbharathi@motorola.com>
2010-11-30 16:25:27 -08:00
Andrei Warkentin
bd680338eb media: video: tegra: ov5650: Disable OTP readout on broken hw.
Disabled reading bad OTP data from sensors on known-bad HW.

Change-Id: I08d35ff6ff13bd2c0c0a4a1a50cd92e6e663efc8
Signed-off-by: Andrei Warkentin <andreiw@motorola.com>
2010-11-23 13:04:11 -08:00
Iliyan Malchev
6c3960a399 Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36 2010-11-22 16:44:56 -08:00
Iliyan Malchev
b4d50aa63c Merge branch 'linux-tegra-2.6.36' into android-tegra-2.6.36
Conflicts:
	arch/arm/mach-tegra/tegra_i2s_audio.c

Signed-off-by: Iliyan Malchev <malchev@google.com>
2010-11-22 16:07:44 -08:00
Chris Fries
230015ed6a [ARM] tegra: i2s: Continuous DMA support
- Refactor DMA interactions to handle continuous single-buffered DMA
- Remove PIO support (obsolete, conflicts with new buffer management)
- Remove sample rate conversion (obsolete)
- Remove error-reporting logic
- Remove TEGRA_AUDIO_IN/OUT_GET/SET_BUF_CONFIG
- Add TEGRA_AUDIO_IN/OUT_GET/SET_NUM_BUFS

Change-Id: I8f21a0bb314aac3b7d1bb4918bda9141e58db38d
Signed-off-by: Iliyan Malchev <malchev@google.com>
2010-11-22 15:41:10 -08:00
Greg Meiste
b0ec3b13a0 misc: Initial NCT1008 driver
Initial version of the NCT1008 driver to turn off the sensor when the
device is suspended.  This improves standby current drain.

Change-Id: Ia64613c33c0052434d5e304c434605611e5ef789
Signed-off-by: Greg Meiste <w30289@motorola.com>
2010-11-19 20:21:28 -08:00
Erik Gilling
e757da91b5 Merge branch android-tegra-2.6.36 into android-tegra-moto-2.6.36
Change-Id: Iacc215c30e5b3cb0634c671a7e14abeddec01a2e
2010-11-18 16:40:14 -08:00
Erik Gilling
899ac49afa Merge branch linux-tegra-2.6.36 into android-tegra-2.6.36
Change-Id: Iff6fb3eee3b96120f3973ccada4c0b0772dbc2b3
2010-11-18 16:36:54 -08:00
Ari Hirvonen
9a3e1502d5 video: tegra: YUV overlay support
Change-Id: I4bed4d37bc275cca9ef69390c217498529121db0
Signed-off-by: Erik Gilling <konkers@android.com>
2010-11-18 16:06:46 -08:00
Rebecca Schultz Zavin
44a883b43a Merge remote branch 'tegra/android-tegra-2.6.36' into android-tegra-moto-2.6.36 2010-11-17 13:22:58 -08:00
Rebecca Schultz Zavin
71cf8afb3c Merge remote branch 'common/android-2.6.36' into android-tegra-2.6.36 2010-11-17 13:20:43 -08:00
Mike Lockwood
3482be62e4 USB: gadget: f_mtp: Support for file transfer length greater than 4 gigabytes
For backward compatibility with PTP, MTP is limited to a 32-bit file size.
When transferring files greater than 4 gig, MTP uses 0xFFFFFFFF as the file size
and the receiver reads until it receives a short packet.

Expanded size of mtp_file_range.length to 64 bits and added support for
writing zero length packets.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-11-17 09:29:20 -05:00
Dima Zavin
760288c357 Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36
Conflicts:
	arch/arm/common/fiq_debugger.c

Change-Id: If8de163f3e1e41b35f87a5c8e9370f1cc28ed358
2010-11-11 15:35:21 -08:00
Dima Zavin
8086994fdf Merge remote branch 'common/android-2.6.36' into android-tegra-2.6.36 2010-11-11 15:31:45 -08:00
Jaikumar Ganesh
901204dc17 Bluetooth: Add BT_POWER L2CAP socket option.
Add BT_POWER socket option used to control the power
characteristics of the underlying ACL link. When the remote end
has put the link in sniff mode and the host stack wants to send
data we need need to explicitly exit sniff mode to work well with
certain devices (For example, A2DP on Plantronics Voyager 855).
However, this causes problems with HID devices.

Hence, moving into active mode when sending data, irrespective
of who set the sniff mode has been made as a socket option. By
default, we will move into active mode. HID devices can set the
L2CAP socket option to prevent this from happening.

Currently, this has been implemented for L2CAP sockets. This has been
tested with incoming and outgoing L2CAP sockets for HID and A2DP.

Based on discussions on linux-bluetooth and patches submitted by
Andrei Emeltchenko.

Signed-off-by: Jaikumar Ganesh <jaikumar@google.com>
2010-11-10 15:59:50 -08:00
Colin Cross
82d0935279 Merge branch 'android-tegra-2.6.36' into android-tegra-moto-2.6.36
Conflicts:
	drivers/mmc/host/sdhci-tegra.c

Change-Id: Id44ce43b0c17f1f3e917b8c7ebfd213790e8e0e1
2010-11-09 15:50:14 -08:00