kernel/kernel-mfld-blackbay.git
12 years agopmu: Fixup build
Alan Cox [Fri, 15 Jul 2011 13:39:21 +0000 (14:39 +0100)]
pmu: Fixup build

Quick build fixup for 2.6.39

Change-Id: I16104ec4c6d4e3e19d0429c48a9cbf44484e7faf

12 years agomrst/pmu: workaround for SD HC2 bug in SCU fw
Yong Wang [Fri, 15 Jul 2011 13:39:21 +0000 (14:39 +0100)]
mrst/pmu: workaround for SD HC2 bug in SCU fw

Langwell C0 added a new SD host controller. However, SCU fw has not
been updated yet to support SD HC2. s0i3 will always be blocked before
that is fixed and this patch serves as a workaround before the fw fix
is available.

Change-Id: Idd7a9fdba8e7be1882e6cbb63057f2152331539b
Signed-off-by: Yong Wang <yong.y.wang@intel.com>
12 years agox86/mrst/pci: assign d3_delay to 0 for
Jacob Pan [Fri, 15 Jul 2011 13:39:37 +0000 (14:39 +0100)]
x86/mrst/pci: assign d3_delay to 0 for

Langwell devices are not true pci devices, they are not subject to the 10 ms
d3 to d0 delay required by pci spec. This patch assigns d3_delay to 0 for all
langwell pci devices.

Change-Id: I2d1e2f3c4773ad80582aa0d0185ee37829200e0c
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
12 years agomrst-pci: power off some unused devices
Kristen Carlson Accardi [Fri, 15 Jul 2011 13:39:21 +0000 (14:39 +0100)]
mrst-pci: power off some unused devices

For devices which we are not using on Moorestown, send D3 request.

Change-Id: Ie4873da261f3409efa988fbc2a70ea7314f9457f
Signed-off-by: Kristen Carlson Accardi <kristen@linux.intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
12 years agopmu: bugfix for checking pci_state
Kristen Carlson Accardi [Fri, 15 Jul 2011 13:39:21 +0000 (14:39 +0100)]
pmu: bugfix for checking pci_state

Check to make sure new requested pci_state is larger than existing
state, not smaller.

Change-Id: Ic323a024d0da89873d5601750f5622cdeec489c7
Signed-off-by: Kristen Carlson Accardi <kristen@linux.intel.com>
12 years agopmu: fix kernel panic on for_each_pci_dev
Jekyll Lai [Fri, 15 Jul 2011 13:39:20 +0000 (14:39 +0100)]
pmu: fix kernel panic on for_each_pci_dev

Setting pdev initial value to NULL in order to avoid kernel panic
in "for_each_pci_dev()."

Change-Id: I5970ec466c645bf3ebd168b973ccb612dbd424e3
Signed-off-by: Jekyll Lai <jekyll_lai@wistron.com>
12 years agomrst: Add pmu driver, s0i3 support
Len Brown [Fri, 15 Jul 2011 13:39:20 +0000 (14:39 +0100)]
mrst: Add pmu driver, s0i3 support

(todo: split into multiple patches)

The Moorestown (MRST) Power Management Unit (PMU) driver
directs the SOC power states in the "Langwell" south complex (SCU).
It hooks pci_platform_pm_ops[] and thus observes all PCI .set_state
requests.  For devices in the SC, the pmu driver translates those
PCI requests into the appropriate commands for the SCU.

The PMU driver helps implement S0i3, a deep system idle power idle state.
Entry into S0i3 is via cpuidle, just like regular processor c-states.
S0i3 depends on pre-conditions including uni-processor, graphics off,
and certain IO devices in the SC must be off.  If those pre-conditions
are met, then the PMU allows cpuidle to enter S0i3, otherwise such requests
are demoted to Atom C6.

This driver is based on original prototype work by Bruce Flemming,
Illyas Mansoor, Rajeev D. Muralidhar and Vishwesh M. Rudramuni.
It includes contributions from H. Peter Anvin, Arjan van de Ven and Yong Wang.

Change-Id: I8a3cb79cdc5a671bac9ff2b7eff15dcd1c5f0149
Signed-off-by: Len Brown <len.brown@intel.com>
12 years agox86, mrst: Some drivers need to known when an SCU is available
Alan Cox [Fri, 15 Jul 2011 13:39:19 +0000 (14:39 +0100)]
x86, mrst: Some drivers need to known when an SCU is available

Add a notifier so that drivers can hook into SCU availability in order to
take actions post initialisation when/if the SCU becomes available.

In the ideal world we wouldn't need this and we could avoid any init
dependancies of this form, but in practice we can't do it for some cases.

Change-Id: I8504ff8fac5e8f3ac680aaf2f5334a8284af70c2
Signed-off-by: Alan Cox <alan@linux.intel.com>
12 years agox86, mrst: change the pmic_gpio device type to IPC
Feng Tang [Fri, 15 Jul 2011 13:39:19 +0000 (14:39 +0100)]
x86, mrst: change the pmic_gpio device type to IPC

In latest firmware's SFI tables, pmic_gpio has been set to
IPC type of device, so we need handle it too.

Change-Id: Ib34b6cc0029b431efde27527487ba968610e0bdd
Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
12 years agox86/apic: allow use of lapic timer early calibration result
Jacob Pan [Fri, 15 Jul 2011 13:39:17 +0000 (14:39 +0100)]
x86/apic: allow use of lapic timer early calibration result

lapic timer calibration can be combined with tsc in platform specific
calibration functions. if such calibration result is obtained early,
we can skip the redundant calibration loops.

Change-Id: Ib3e4d7ad168172191ff47f3db4368f9869f6ce68
Signed-off-by: Jacob Pan <jacob.jun.pan@intel.com>
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Dirk Brandewie <dirk.brandewie@gmail.com>
12 years agox86/apic: do not clear nr_irqs_gsi if no legacy irqs
Jacob Pan [Fri, 15 Jul 2011 13:39:07 +0000 (14:39 +0100)]
x86/apic: do not clear nr_irqs_gsi if no legacy irqs

nr_legacy_irqs is set in probe_nr_irqs_gsi, we should not clear it after that.
Otherwise, the result is that MSI irqs will be allocated from the wrong range
for the systems without legacy PIC.

Change-Id: Ib73f1de23d34cf5b8b549d43c371d7d8a58ecb52
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Dirk Brandewie <dirk.brandewie@gmail.com>
12 years agox86/mrst: set ISA bus type for fake MP IRQs
Jacob Pan [Fri, 15 Jul 2011 13:39:06 +0000 (14:39 +0100)]
x86/mrst: set ISA bus type for fake MP IRQs

We use MP IRQs for SFI presented timer interrupts, we should also set
mp_bus_not_pci for MP_ISA_BUS so that pin_2_irq mapping is correct.

Change-Id: I04353760d0930d5276d4087245516bacd40a5f2f
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Dirk Brandewie <dirk.brandewie@gmail.com>
12 years agox86/ioapic: use legacy_pic to set correct gsi-irq mapping
Jacob Pan [Fri, 15 Jul 2011 13:39:06 +0000 (14:39 +0100)]
x86/ioapic: use legacy_pic to set correct gsi-irq mapping

Using compile time NR_LEGACY_IRQS causes the wrong gsi-irq mapping on
non-PC platforms, such as Moorestown. This patch uses legacy_pic abstraction
to set the correct number of legacy interrupts at runtime. For Moorestown,
nr_legacy_irqs = 0. We have 1:1 mapping for gsi-irq even within the legacy
irq range.

Change-Id: I3ab904292f1270677a55a08a4c1134681a2efd50
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Dirk Brandewie <dirk.brandewie@gmail.com>
12 years agox86/platform: add a wallclock_init func to x86_platforms ops
Feng Tang [Fri, 15 Jul 2011 13:39:06 +0000 (14:39 +0100)]
x86/platform: add a wallclock_init func to x86_platforms ops

Some wall clock devices use MMIO based HW register, this new function will
give them a chance to do some initialization work before their get/set_time
service get called.

Change-Id: I81370ba54d6a3ec37b1ed57a0b177c9c951a6c13
Signed-off-by: Feng Tang <feng.tang@intel.com>
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Dirk Brandewie <dirk.brandewie@gmail.com>
12 years agointel_mid_ssp_spi: Moorestown and Medfield SPI for SSP devices
Mathieu SOULARD [Fri, 15 Jul 2011 13:38:51 +0000 (14:38 +0100)]
intel_mid_ssp_spi:  Moorestown and Medfield SPI for SSP devices

This driver is a fusion of various internal drivers into a single
driver for the SPI slave/master on the Intel Moorestown and Medfield
SSP devices.

Change-Id: Ie0efd26c3b4664334c768b7a284ebb2b0e9c47f3
Signed-off-by: Mathieu SOULARD <mathieux.soulard@intel.com>
[Ported to the -next tree DMA engine]
Signed-off-by: Alan Cox <alan@linux.intel.com>
12 years agointel_scu_ipc_utils: Support for reflashing Medfield firmware
Sudha Krishnakumar [Fri, 15 Jul 2011 13:38:51 +0000 (14:38 +0100)]
intel_scu_ipc_utils: Support for reflashing Medfield firmware

Initial flashing support. This will change before any production release.

Change-Id: I563bd1c2385ef504f9292edc7c3adf73e6866d2a
Signed-off-by: Sudha Krishnakumar <sudha.krishnakumar@intel.com>
[Tidied up the bracketing and some oddments]
Signed-off-by: Alan Cox <alan@linux.intel.com>
12 years agoRemove ARM dependencies in alarm
Fei Yang [Mon, 18 Jul 2011 21:33:27 +0000 (14:33 -0700)]
Remove ARM dependencies in alarm

Change-Id: I316548e98f0281e98f2153e0616e2ad2d4d4545f

12 years agofix missing export that breaks cpufreq built as module
mgross [Mon, 18 Jul 2011 23:44:32 +0000 (16:44 -0700)]
fix missing export that breaks cpufreq built as module

Change-Id: I387431accb0177c97298f28fc9d5498cc5a3032e

12 years agofix poortly maintained compass driver from google
mgross [Mon, 18 Jul 2011 21:52:36 +0000 (14:52 -0700)]
fix poortly maintained compass driver from google

Change-Id: I315924931144545e9c1aff043c7b81114f0b13ee

12 years agoupdate with proper console locking in un-maintained android code
mgross [Mon, 18 Jul 2011 21:24:32 +0000 (14:24 -0700)]
update with proper console locking in un-maintained android code

Change-Id: If0b845548eff9baac0ccfcaf52613e6276d9f544

12 years agofix android added armisms in alarm code
mgross [Mon, 18 Jul 2011 21:13:17 +0000 (14:13 -0700)]
fix android added armisms in alarm code

Change-Id: I9a5bd859b0c49071e79a24e9582e43415adda843

12 years agoinput: gpio_input: don't print debounce message unless flag is set
Dima Zavin [Tue, 8 Nov 2011 21:03:11 +0000 (13:03 -0800)]
input: gpio_input: don't print debounce message unless flag is set

Change-Id: I29ccb32e795c5c3e4c51c3d3a209f5b55dfd7d94
Signed-off-by: Dima Zavin <dima@android.com>
12 years agonet: wireless: bcm4329: Skip dhd_bus_stop() if bus is already down
Dmitry Shmidt [Fri, 4 Nov 2011 18:10:04 +0000 (11:10 -0700)]
net: wireless: bcm4329: Skip dhd_bus_stop() if bus is already down

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Skip dhd_bus_stop() if bus is already down
Dmitry Shmidt [Fri, 4 Nov 2011 18:08:37 +0000 (11:08 -0700)]
net: wireless: bcmdhd: Skip dhd_bus_stop() if bus is already down

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Improve suspend/resume processing
Dmitry Shmidt [Wed, 2 Nov 2011 23:51:29 +0000 (16:51 -0700)]
net: wireless: bcmdhd: Improve suspend/resume processing

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Check if FW is Ok for internal FW call
Dmitry Shmidt [Wed, 2 Nov 2011 22:06:14 +0000 (15:06 -0700)]
net: wireless: bcmdhd: Check if FW is Ok for internal FW call

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agotcp: Don't nuke connections for the wrong protocol
Lorenzo Colitti [Fri, 4 Nov 2011 00:05:11 +0000 (17:05 -0700)]
tcp: Don't nuke connections for the wrong protocol

Currently, calling tcp_nuke_addr to reset IPv6 connections
resets IPv4 connections as well, because all Android
framework sockets are dual-stack (i.e., IPv6) sockets, and
we don't check the source address to see if the connection
was in fact an IPv4 connection.

Fix this by checking the source address and not resetting
the connection if it's a mapped address.

Also slightly tweak the IPv4 code path, which doesn't check
for mapped addresses either. This was not causing any
problems because tcp_is_local normally always returns true
for LOOPBACK4_IPV6 (127.0.0.6), because the loopback
interface is configured as as 127.0.0.0/8. However,
checking explicitly for LOOPBACK4_IPV6 makes the code a bit
more robust.

Bug: 5535055
Change-Id: I4d6ed3497c5b8643c864783cf681f088cf6b8d2a
Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
12 years agoARM: common: fiq_debugger: make uart irq be no_suspend
Dima Zavin [Thu, 27 Oct 2011 23:31:24 +0000 (16:31 -0700)]
ARM: common: fiq_debugger: make uart irq be no_suspend

Change-Id: I8e3d2a95c0ddc2706b021cd33534fe2fd302268e
Signed-off-by: Dima Zavin <dima@android.com>
12 years agonet: wireless: Skip connect warning for CONFIG_CFG80211_ALLOW_RECONNECT
Dmitry Shmidt [Fri, 28 Oct 2011 17:35:37 +0000 (10:35 -0700)]
net: wireless: Skip connect warning for CONFIG_CFG80211_ALLOW_RECONNECT

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agomm: avoid livelock on !__GFP_FS allocations
Mel Gorman [Mon, 24 Oct 2011 23:33:42 +0000 (16:33 -0700)]
mm: avoid livelock on !__GFP_FS allocations

Under the following conditions, __alloc_pages_slowpath can loop
forever:
gfp_mask & __GFP_WAIT is true
gfp_mask & __GFP_FS is false
reclaim and compaction make no progress
order <= PAGE_ALLOC_COSTLY_ORDER

The gfp conditions are normally invalid, because !__GFP_FS
disables most of the reclaim methods that __GFP_WAIT would
wait for.  However, these conditions happen very often during
suspend and resume, when pm_restrict_gfp_mask() effectively
converts all GFP_KERNEL allocations into __GFP_WAIT.

The oom killer is not run because gfp_mask & __GFP_FS is false,
but should_alloc_retry will always return true when order is less
than PAGE_ALLOC_COSTLY_ORDER.  __alloc_pages_slowpath will
loop forever between the rebalance label and should_alloc_retry,
unless another thread happens to release enough pages to satisfy
the allocation.

Add a check to detect when PM has disabled __GFP_FS, and do not
retry if reclaim is not making any progress.

[taken from patch on lkml by Mel Gorman, commit message by ccross]
Change-Id: I864a24e9d9fd98bd0e3d6e9c1e85b6c1b766850e
Signed-off-by: Colin Cross <ccross@android.com>
12 years agommc: block: Improve logging of handling emmc timeouts
Ken Sumrall [Wed, 26 Oct 2011 01:16:58 +0000 (18:16 -0700)]
mmc: block: Improve logging of handling emmc timeouts

Add some logging to make it clear just how the emmc timeout
was handled.

Change-Id: Id33fd28d8b9778dc4e85db829e2637a328eddab4
Signed-off-by: Ken Sumrall <ksumrall@android.com>
12 years agommc: block: add checking of r/w command response
Russell King - ARM Linux [Mon, 20 Jun 2011 19:10:49 +0000 (20:10 +0100)]
mmc: block: add checking of r/w command response

Check the status bits in the r/w command response for any errors.
If error bits are set, then we won't have seen any data transferred,
so it's pointless doing any further checking.

Change-Id: If118a4bcbb0e57a7d95b5e40d662fca87fdcba7f
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
12 years agommc: block: improve error recovery from command channel errors
Russell King - ARM Linux [Mon, 20 Jun 2011 19:10:28 +0000 (20:10 +0100)]
mmc: block: improve error recovery from command channel errors

Command channel errors fall into four classes:

1. The command was issued with the card in the wrong state
2. The command failed to be received by the card correctly
3. The cards response failed to be received by the host (CRC error)
4. The card failed to respond to the card

For (1), in theory we should know that the card is in the correct state.
However, a failed stop command (or other failure) may result in the card
remaining in a data transfer state from the previous command.  If we
detect this condition, we try to recover by sending a stop command.

For the initial commands (set block count and the read/write command)
no data will have been transferred.  All that we need deal with is
retrying at this point.  A failed stop command can be remedied as
above.

If we are unable to recover the card (eg, the card ignores our requests
for status, or we don't recognise the error code) then we immediately
fail the request.

Change-Id: Ief109a57fd21a247381b38f1164c22f0344f0284
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
12 years agommc: block: allow get_card_status() to return error status
Russell King - ARM Linux [Mon, 20 Jun 2011 19:10:08 +0000 (20:10 +0100)]
mmc: block: allow get_card_status() to return error status

If the MMC_SEND_STATUS command is not successful, we should not return
a zero status word, but instead allow the caller to know positively
that an error occurred.

Convert the open-coded get_card_status() to use the helper function,
and provide definitions for the card state field.

Change-Id: Icfd6258af78a89c21abac386c556153fa3fac364
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
12 years agonet: wireless: bcm4329: Prohibit FW access in case of FW crash
Dmitry Shmidt [Wed, 26 Oct 2011 20:57:26 +0000 (13:57 -0700)]
net: wireless: bcm4329: Prohibit FW access in case of FW crash

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Adjust scan parameters for wl_cfg80211_connect()
Dmitry Shmidt [Wed, 26 Oct 2011 19:22:25 +0000 (12:22 -0700)]
net: wireless: bcmdhd: Adjust scan parameters for wl_cfg80211_connect()

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Update to version 5.90.125.94
Dmitry Shmidt [Tue, 25 Oct 2011 23:32:46 +0000 (16:32 -0700)]
net: wireless: bcmdhd: Update to version 5.90.125.94

- Fix WFD interface removal
- Fix profile update
- Keep same mode for softap or WFD during early suspend
- Add dhd_console_ms parameter access

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agoARM: common: fiq_debugger: protect the uart state from the sleep timer
Dima Zavin [Fri, 14 Oct 2011 05:38:45 +0000 (22:38 -0700)]
ARM: common: fiq_debugger: protect the uart state from the sleep timer

Change-Id: I6b834d5cab96c3466042f758feb69eae6893ec49
Signed-off-by: Dima Zavin <dima@android.com>
12 years agoARM: common: fiq_debugger: add suspend/resume handlers
Dima Zavin [Mon, 10 Oct 2011 22:24:34 +0000 (15:24 -0700)]
ARM: common: fiq_debugger: add suspend/resume handlers

Change-Id: If6eb75059fdf4867eb9a974d60b9d50e5e3350d4
Signed-off-by: Dima Zavin <dima@android.com>
12 years agoARM: common: fiq_debugger: add uart_enable/disable platform callbacks
Dima Zavin [Wed, 5 Oct 2011 21:08:20 +0000 (14:08 -0700)]
ARM: common: fiq_debugger: add uart_enable/disable platform callbacks

This allows the platform specific drivers to properly enable
and disable the uart at the appropriate times. On some platforms, just
managing the clock is not enough.

Change-Id: I5feaab04cfe313a4a9470ca274838676b9684201
Signed-off-by: Dima Zavin <dima@android.com>
12 years agoARM: common: fiq_debugger: add non-fiq debugger support
Dima Zavin [Mon, 3 Oct 2011 03:35:47 +0000 (20:35 -0700)]
ARM: common: fiq_debugger: add non-fiq debugger support

Add irq-only support to the debugger. This allows the debugger
to always run at irq context. This introduces limitations to
being able to debug certain kinds of issues, but it is still
very useful as a debugging tool.

Change-Id: I1e4223e886cb2d90ef5ed31419bdd5cdd7f904ca
Signed-off-by: Dima Zavin <dima@android.com>
12 years agoARM: common: fiq_debugger: peek the 0th char in ringbuf
Dima Zavin [Wed, 26 Oct 2011 04:24:10 +0000 (21:24 -0700)]
ARM: common: fiq_debugger: peek the 0th char in ringbuf

ringbuf_consume advances the tail ptr, so peek should always
just peek at offset 0

Change-Id: I8d3d22d2ec1e563d73b53ccbad302e6d74e64e53
Signed-off-by: Dima Zavin <dima@android.com>
12 years agoARM: common: fiq_debugger: fix the cleanup on errors in probe
Dima Zavin [Thu, 20 Oct 2011 21:48:37 +0000 (14:48 -0700)]
ARM: common: fiq_debugger: fix the cleanup on errors in probe

Change-Id: I58bd0604c0520b13e11bf02836eb4ddbadba1372
Signed-off-by: Dima Zavin <dima@android.com>
12 years agoARM: common: fiq_debugger: do not disable debug when console is enabled
Dima Zavin [Sun, 9 Oct 2011 18:47:35 +0000 (11:47 -0700)]
ARM: common: fiq_debugger: do not disable debug when console is enabled

Change-Id: I5f8074a860f9b143ee0c87296683bbf2cffb5a36
Signed-off-by: Dima Zavin <dima@android.com>
12 years agoram_console: pass in a boot info string
Colin Cross [Tue, 25 Oct 2011 21:31:58 +0000 (14:31 -0700)]
ram_console: pass in a boot info string

Allow the board file to pass a boot info string through the
platform data that is appended to the /proc/last_kmsg file.

Change-Id: I37065fafb09676085465c93384d8e176fdd942d6
Signed-off-by: Colin Cross <ccross@android.com>
12 years agonet: wireless: bcmdhd: Fix crash in p2p OFF
Dmitry Shmidt [Thu, 20 Oct 2011 20:45:57 +0000 (13:45 -0700)]
net: wireless: bcmdhd: Fix crash in p2p OFF

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agoARM: smpboot: Enable irqs on secondary CPU after marking it online/active
Thomas Gleixner [Sat, 15 Oct 2011 00:22:43 +0000 (17:22 -0700)]
ARM: smpboot: Enable irqs on secondary CPU after marking it online/active

Patch is the last version from tglx on Oct 7.

Discussion is at: http://comments.gmane.org/gmane.linux.ports.arm.kernel/131919

The original commit message for the first patch version:

Frank Rowand reported:

 I have a consistent (every boot) hang on boot with the RT patches.
 With a few hacks to get console output, I get:

  rcu_preempt_state detected stalls on CPUs/tasks

 I have also replicated the problem on the ARM RealView (in tree) and
 without the RT patches.

 The problem ended up being caused by the allowed cpus mask being set
 to all possible cpus for the ksoftirqd on the secondary processors.
 So the RCU softirq was never executing on the secondary cpu.

 The problem was that ksoftirqd was woken on the secondary processors before
 the secondary processors were online. This led to allowed cpus being set
 to all cpus.

   wake_up_process()
      try_to_wake_up()
         select_task_rq()
            if (... || !cpu_online(cpu))
               select_fallback_rq(task_cpu(p), p)
                  ...
                  /* No more Mr. Nice Guy. */
                  dest_cpu = cpuset_cpus_allowed_fallback(p)
                     do_set_cpus_allowed(p, cpu_possible_mask)
                        #  Thus ksoftirqd can now run on any cpu...
</report>

The reason is that the ARM SMP boot code for the secondary CPUs enables
interrupts before the newly brought up CPU is marked online and
active.

That causes a wakeup of ksoftirqd or a wakeup of any other kernel
thread which is affine to the brought up CPU break that threads
affinity and therefor being scheduled on already online CPUs.

This problem has been observed on x86 before and the only solution is
to mark the CPU online and wait for the CPU active bit before the
point where interrupts are enabled.

Change-Id: If948ef52d434191579e1ca95d18d0c50e91a03b9
Signed-off-by: Dima Zavin <dima@android.com>
12 years agoARM: smp: implement arch_trigger_all_cpus_backtrace using IPI
Dima Zavin [Tue, 18 Oct 2011 23:59:54 +0000 (16:59 -0700)]
ARM: smp: implement arch_trigger_all_cpus_backtrace using IPI

Based on a rough patch by frank.rowand@am.sony.com

Since ARM doesn't have an NMI (fiq's are not always available),
send an IPI to all other CPUs (current cpu prints the stack directly)
to capture a backtrace.

Change-Id: I8b163c8cec05d521b433ae133795865e8a33d4e2
Signed-off-by: Dima Zavin <dima@android.com>
12 years agopower: cpufreq interactive governor: use default sample time 20ms
Todd Poynor [Wed, 19 Oct 2011 20:12:10 +0000 (13:12 -0700)]
power: cpufreq interactive governor: use default sample time 20ms

Lower the default time at which a higher speed is allowed to run
before lowering based on lower CPU load from 80ms to 20ms.  Most
Android devices should trade power for performance here,
although tablets and non-battery-powered devices may want to
override this default.

Change-Id: I1a4f7faeca12793c51d5b92db30a63cca8d4f1be
Signed-off-by: Todd Poynor <toddpoynor@google.com>
12 years agonet: wireless: bcmdhd: Add wake_lock to dhd_open() and dhd_stop()
Dmitry Shmidt [Wed, 19 Oct 2011 20:45:56 +0000 (13:45 -0700)]
net: wireless: bcmdhd: Add wake_lock to dhd_open() and dhd_stop()

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Fix bssid profile update
Dmitry Shmidt [Wed, 19 Oct 2011 20:09:49 +0000 (13:09 -0700)]
net: wireless: bcmdhd: Fix bssid profile update

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: Fix CFG80211_ALLOW_RECONNECT option for disconnect
Dmitry Shmidt [Tue, 18 Oct 2011 19:30:02 +0000 (12:30 -0700)]
net: wireless: Fix CFG80211_ALLOW_RECONNECT option for disconnect

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agocpufreq: interactive governor: default timer 10ms, maxspeed load 95%
Todd Poynor [Mon, 17 Oct 2011 05:40:29 +0000 (22:40 -0700)]
cpufreq: interactive governor: default timer 10ms, maxspeed load 95%

Modify default timer from 30ms to 10ms, sampling 2 jiffies after
idle exit on ARM as in Honeycomb.

Modify default go_maxspeed_load from 85% loaded to 95% loaded, for
use in phones where power savings is more important (tablets may be
best served overriding this).

Change-Id: I3361a6279979bfae1df5262666a2e30ea7a44328
Signed-off-by: Todd Poynor <toddpoynor@google.com>
12 years agonet: wireless: bcmdhd: Add proper cleaning for ap_info structure
Dmitry Shmidt [Mon, 17 Oct 2011 00:12:29 +0000 (17:12 -0700)]
net: wireless: bcmdhd: Add proper cleaning for ap_info structure

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Send cfg80211_disconnected() if fails to get rssi
Dmitry Shmidt [Mon, 17 Oct 2011 00:05:54 +0000 (17:05 -0700)]
net: wireless: bcmdhd: Send cfg80211_disconnected() if fails to get rssi

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonetfilter: xt_qtaguid: fix crash on ctrl delete command
JP Abgrall [Sat, 8 Oct 2011 05:14:24 +0000 (22:14 -0700)]
netfilter: xt_qtaguid: fix crash on ctrl delete command

Because for now the xt_qtaguid module allows procs to use tags without
having /dev/xt_qtaguid open, there was a case where it would try
to delete a resources from a list that was proc specific.
But that resource was never added to that list which is only
used when /dev/xt_qtaguid has been opened by the proc.

Once our userspace is fully updated, we won't need those exceptions.

Change-Id: Idd4bfea926627190c74645142916e10832eb2504
Signed-off-by: JP Abgrall <jpa@google.com>
12 years agobridge: Have tx_bytes count headers like rx_bytes.
Ashish Sharma [Sat, 8 Oct 2011 00:54:16 +0000 (17:54 -0700)]
bridge: Have tx_bytes count headers like rx_bytes.

Since rx_bytes accounting does not include Ethernet Headers in
br_input.c, excluding ETH_HLEN on the transmit path for consistent
measurement of packet length on both the Tx and Rx chains.

The clean way would be for Rx to include the eth header, but the
skb len has already been adjusted by the time the br code sees the skb.
This is only a temporary workaround until we can completely ignore or
cleanly fix the skb->len handling.

Change-Id: I910de95a4686b2119da7f1f326e2154ef31f9972
Signed-off-by: Ashish Sharma <ashishsharma@google.com>
12 years agonetfilter: xt_qtaguid: Fix the stats info display order
Ashish Sharma [Tue, 4 Oct 2011 20:11:47 +0000 (13:11 -0700)]
netfilter: xt_qtaguid: Fix the stats info display order

Change-Id: I3bf165c31f35a6c7dc212f23df5eefaeb8129d0d
Signed-off-by: Ashish Sharma <ashishsharma@google.com>
12 years agonet: wireless: bcmdhd: Use spin_lock_irqsave instead of spin_lock_irq
Dmitry Shmidt [Wed, 5 Oct 2011 17:57:54 +0000 (10:57 -0700)]
net: wireless: bcmdhd: Use spin_lock_irqsave instead of spin_lock_irq

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Fix event thread termination in case of empty queue
Dmitry Shmidt [Wed, 5 Oct 2011 17:48:59 +0000 (10:48 -0700)]
net: wireless: bcmdhd: Fix event thread termination in case of empty queue

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Improve join functionality
Dmitry Shmidt [Tue, 4 Oct 2011 20:42:24 +0000 (13:42 -0700)]
net: wireless: bcmdhd: Improve join functionality

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Make sure that FW is UP after corresponding message
Dmitry Shmidt [Tue, 4 Oct 2011 20:30:36 +0000 (13:30 -0700)]
net: wireless: bcmdhd: Make sure that FW is UP after corresponding message

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Fix profile update syncronization
Dmitry Shmidt [Tue, 4 Oct 2011 20:12:58 +0000 (13:12 -0700)]
net: wireless: bcmdhd: Fix profile update syncronization

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Fix memory leak in wl_cfgp2p_down()
Dmitry Shmidt [Tue, 4 Oct 2011 20:10:37 +0000 (13:10 -0700)]
net: wireless: bcmdhd: Fix memory leak in wl_cfgp2p_down()

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agocpufreq: interactive: fix possible Division by zero.
Axel Haslam [Wed, 5 Oct 2011 21:04:57 +0000 (14:04 -0700)]
cpufreq: interactive: fix possible Division by zero.

The following dump was seen sometimes while resuming,
the only division by zero on this function can happen after
delta_time is reassigned, since at the start of the
function, there is jump that protects against values
less than 1000.

After that, If delta_time and delta_idle == 0,
we will hit a div 0

Division by zero in kernel.
Backtrace:
[<c0057184>] (dump_backtrace+0x0/0x110) from [<c05d5ecc>] (dump_stack+0x18/0x1c)
r6:010f3000 r5:c113dfb0 r4:c004afb0 r3:c6ff0000
[<c05d5eb4>] (dump_stack+0x0/0x1c) from [<c00572cc>] (__div0+0x1c/0x20)
[<c00572b0>] (__div0+0x0/0x20) from [<c02195d4>] (Ldiv0+0x8/0x10)
[<c03dfd64>] (cpufreq_interactive_timer+0x0/0x2c0) from [<c00a7efc>] (run_timer_softirq+0x154/0x260)
[<c00a7da8>] (run_timer_softirq+0x0/0x260) from [<c00a0c8c>] (__do_softirq+0xc8/0x194)
[<c00a0bc4>] (__do_softirq+0x0/0x194) from [<c00a1008>] (irq_exit+0xb4/0xb8)
[<c00a0f54>] (irq_exit+0x0/0xb8) from [<c00584b4>] (ipi_timer+0x44/0x48)
r4:c004a040 r3:00000001
[<c0058470>] (ipi_timer+0x0/0x48) from [<c004c3e4>] (do_local_timer+0x68/0x84)
r5:c004ae2c r4:c07991e8
[<c004c37c>] (do_local_timer+0x0/0x84) from [<c0052948>] (__irq_svc+0x48/0xe0)

Change-Id: I639882db67b8d711c5710778ebc212f0f6a998e3

Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Axel Haslam <axelhaslam@ti.com>
12 years agoinput: evdev: do not block waiting for an event if fd is nonblock
Dima Zavin [Wed, 5 Oct 2011 00:10:45 +0000 (17:10 -0700)]
input: evdev: do not block waiting for an event if fd is nonblock

If there is a full packet in the buffer, and we overflow that buffer
right after checking for that condition, it would have been possible
for us to block indefinitely (rather, until the next full packet) even if
the file was marked as O_NONBLOCK.

Change-Id: Icd0f59f8cc98392be4c4d13bd45b5cf94317eb5a
Signed-off-by: Dima Zavin <dima@android.com>
12 years agoinput: evdev: if no events and non-block, return EAGAIN not 0
Dima Zavin [Wed, 5 Oct 2011 05:31:48 +0000 (22:31 -0700)]
input: evdev: if no events and non-block, return EAGAIN not 0

Change-Id: I5f0da721f74e5de111cffc7e7b375b72dd80e530
Signed-off-by: Dima Zavin <dima@android.com>
12 years agoinput: evdev: only allow reading events if a full packet is present
Dima Zavin [Tue, 4 Oct 2011 23:58:03 +0000 (16:58 -0700)]
input: evdev: only allow reading events if a full packet is present

Without this, it was possible for the reader to get ahead of packet_head.
If the the input device generated a partial packet *right* after the
reader got ahead, then we can get into a situation where the device is
marked readable but read always returns 0 until the next packet is
finished (i.e a SYN is generated by the input driver).

This situation can also happen if we overflow the buffer while a reader
is trying to read an event out.

Change-Id: If01ab371bc7de1bf1f90c122dcc5a29242b01a09
Signed-off-by: Dima Zavin <dima@android.com>
12 years agonetfilter: ipv6: fix crash caused by ipv6_find_hdr()
JP Abgrall [Thu, 29 Sep 2011 22:36:49 +0000 (15:36 -0700)]
netfilter: ipv6: fix crash caused by ipv6_find_hdr()

When calling:
    ipv6_find_hdr(skb, &thoff, -1, NULL)
on a fragmented packet, thoff would be left with a random
value causing callers to read random memory offsets with:
    skb_header_pointer(skb, thoff, ...)

Now we force ipv6_find_hdr() to return a failure in this case.
Calling:
  ipv6_find_hdr(skb, &thoff, -1, &fragoff)
will set fragoff as expected, and not return a failure.

Change-Id: Ib474e8a4267dd2b300feca325811330329684a88
Signed-off-by: JP Abgrall <jpa@google.com>
12 years agonetfilter: xt_qtaguid: add missing tracking for no filp case
JP Abgrall [Thu, 29 Sep 2011 23:29:53 +0000 (16:29 -0700)]
netfilter: xt_qtaguid: add missing tracking for no filp case

In cases where the skb would have an sk_socket but no file, that skb
would not be counted at all. Assigning to uid 0 now.

Adding extra counters to track skb counts.

Change-Id: If049b4b525e1fbd5afc9c72b4a174c0a435f2ca7
Signed-off-by: JP Abgrall <jpa@google.com>
12 years agonet: wireless: bcmdhd: Fix get_noa() and set_noa() commands
Dmitry Shmidt [Wed, 28 Sep 2011 20:15:54 +0000 (13:15 -0700)]
net: wireless: bcmdhd: Fix get_noa() and set_noa() commands

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Combined P2P fix
Dmitry Shmidt [Tue, 27 Sep 2011 18:21:13 +0000 (11:21 -0700)]
net: wireless: bcmdhd: Combined P2P fix

- Fix random kernel panic during p2p certification and change private
  command for set_ap_wps_ie of wpa_supplicant
- Fix problem for 5.1.18 discoverability exchange of P2P sigma
- Fix problem for 7.1.3 to change PM_FAST to PM_MAX (802.11 legacy power save)
- Change type of signal variable in wl_inform_single_bss from uint to int
- Fix crash on P2P interface removal
- Add new DHD_BLOC logic for our internal purposes to keep track of FW crashes
  and build info

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agousb: otg: Temporarily grab wakelock on charger and disconnect events
Todd Poynor [Tue, 27 Sep 2011 03:35:30 +0000 (20:35 -0700)]
usb: otg: Temporarily grab wakelock on charger and disconnect events

Change-Id: If995d4af4adcb08e8369009483f2956ad9627267
Signed-off-by: Todd Poynor <toddpoynor@google.com>
12 years agonetfilter: xt_qtaguid: fix crash after using delete ctrl command
JP Abgrall [Mon, 26 Sep 2011 02:24:02 +0000 (19:24 -0700)]
netfilter: xt_qtaguid: fix crash after using delete ctrl command

* Crash fix
The delete command would delete a socket tag entry without removing it
from the proc_qtu_data { ..., sock_tag_list, }.
This in turn would cause an exiting process to crash while cleaning up
its matching proc_qtu_data.

* Added more aggressive tracking/cleanup of proc_qtu_data
This should allow one process to cleanup qtu_tag_data{} left around from
processes that didn't use resource tracking via /dev/xt_qtaguid.

* Debug printing tweaks
Better code inclusion/exclusion handling,
and extra debug out of full state.

Change-Id: I735965af2962ffcd7f3021cdc0068b3ab21245c2
Signed-off-by: JP Abgrall <jpa@google.com>
12 years agoPM: runtime: add might_sleep to PM runtime functions
Colin Cross [Wed, 10 Aug 2011 16:41:59 +0000 (11:41 -0500)]
PM: runtime: add might_sleep to PM runtime functions

The list of functions that can be called in atomic context is
non-intuitive (pm_runtime_put_sync can not, but
pm_runtime_put_sync_suspend can, if pm_runtime_irq_safe has
been called?).  The code is actively misleading - the entry
points all start with spin_lock_irqsave, suggesting they
are safe to call in atomic context, but may later
enable interrupts.

Add might_sleep_if to all the __pm_runtime_* entry points
to enforce correct usage.

Also add pm_runtime_put_sync_autosuspend to the list of
functions that can be called in atomic context.

Change-Id: Icac17a10d77c64d44bd2761a91a588dfd1d0c6f0
Signed-off-by: Colin Cross <ccross@android.com>
12 years agonet: wireless: bcmdhd: Remove unnecessary rtnl_lock() calls
Dmitry Shmidt [Fri, 23 Sep 2011 20:52:01 +0000 (13:52 -0700)]
net: wireless: bcmdhd: Remove unnecessary rtnl_lock() calls

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Fix SB address window caching
Dmitry Shmidt [Fri, 23 Sep 2011 20:49:14 +0000 (13:49 -0700)]
net: wireless: bcmdhd: Fix SB address window caching

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Fix scan notification in case of scan abort
Dmitry Shmidt [Thu, 22 Sep 2011 23:23:34 +0000 (16:23 -0700)]
net: wireless: bcmdhd: Fix scan notification in case of scan abort

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agoHID: Add null check for hidinput.
Jaikumar Ganesh [Thu, 22 Sep 2011 00:18:56 +0000 (17:18 -0700)]
HID: Add null check for hidinput.

Add null check for hidinput before calling input_register.

Change-Id: Ib3fc0507e4091192360f3395d13d489db9b5a4d2
Signed-off-by: Jaikumar Ganesh <jaikumarg@android.com>
12 years agoHID: magicmouse: Add input_register callback.
Jaikumar Ganesh [Tue, 20 Sep 2011 23:47:43 +0000 (16:47 -0700)]
HID: magicmouse: Add input_register callback.

The magicmouse driver needs to setup the input mapping
after reports are parsed but before device is registered.

Change-Id: Ic3a0ff4fc056f5d374bb7ea1bd831a175c690b0b
Signed-off-by: Jaikumar Ganesh <jaikumarg@android.com>
12 years agoHID: Add input_register callback.
Jaikumar Ganesh [Tue, 20 Sep 2011 23:40:43 +0000 (16:40 -0700)]
HID: Add input_register callback.

Add input_register callback which gets called after
hid_configure_usage is called for all the reports
and before the input device is registered. This allows
individual drivers to do extra work like input mapping just
before device registration.

Based on discussions with David Herrmann <dh.herrmann@googlemail.com>

Change-Id: Idab6fb4f7b1e5e569bd0410967288717e9d34c98
Signed-off-by: Jaikumar Ganesh <jaikumarg@android.com>
12 years agonet: wireless: bcmdhd: Update to Version 5.90.125.87
Dmitry Shmidt [Wed, 21 Sep 2011 20:09:58 +0000 (13:09 -0700)]
net: wireless: bcmdhd: Update to Version 5.90.125.87

- Improve discovery of FW hanging
- Add WFD noa and power-safe related functions

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonetfilter: xt_qtaguid: change WARN_ONCE into pr_warn_once
JP Abgrall [Tue, 20 Sep 2011 21:23:39 +0000 (14:23 -0700)]
netfilter: xt_qtaguid: change WARN_ONCE into pr_warn_once

Make the warning less scary.

Change-Id: I0276c5413e37ec991f24db57aeb90333fb1b5a65
Signed-off-by: JP Abgrall <jpa@google.com>
12 years agonetfilter: xt_qtaguid: provide an iface_stat_all proc entry
JP Abgrall [Tue, 20 Sep 2011 05:54:51 +0000 (22:54 -0700)]
netfilter: xt_qtaguid: provide an iface_stat_all proc entry

There is a
  /proc/net/xt_qtaguid/iface/<iface>/{rx_bytes,rx_packets,tx_bytes,...}
but for better convenience and to avoid getting overly stale net/dev stats
we now have
  /proc/net/xt_qtaguid/iface_stat_all
which outputs lines of:
  iface_name active rx_bytes rx_packets tx_bytes tx_packets
    net_dev_rx_bytes net_dev_rx_packets net_dev_tx_bytes net_dev_tx_packets

Change-Id: I12cc10d2d123b86b56d4eb489b1d77b2ce72ebcf
Signed-off-by: JP Abgrall <jpa@google.com>
12 years agoARM: cache-l2x0: update workaround for PL310 errata 727915
Colin Cross [Wed, 14 Sep 2011 22:59:50 +0000 (15:59 -0700)]
ARM: cache-l2x0: update workaround for PL310 errata 727915

ARM errata 727915 for PL310 has been updated to include a new
workaround required for PL310 r2p0 for l2x0_flush_all, which also
affects l2x0_clean_all in my testing.  For r2p0, clean or flush
each set/way individually.  For r3p0 or greater, use the debug
register for cleaning and flushing.

Requires exporting the cache_id, sets and ways detected in the
init function for later use.

Change-Id: I215055cbe5dc7e4e8184fb2befc4aff672ef0a12
Signed-off-by: Colin Cross <ccross@android.com>
12 years agocpuidle: governor: menu: don't use loadavg
Colin Cross [Mon, 19 Sep 2011 23:42:44 +0000 (16:42 -0700)]
cpuidle: governor: menu: don't use loadavg

get_loadavg doesn't work as intended.  According to the comments, it
should be returning an average over a few seconds, but it is actually
reading the instantaneous load.  It is almost always returning 0, but
can sometimes, depending on workload, spike very high into the hundreds
even when the average cpu load is under 10%.  Disable it for now.

Change-Id: I63ed100af1cf9463549939b8113ed83676db5f86
Signed-off-by: Colin Cross <ccross@android.com>
12 years agonet: wireless: bcmdhd: Suppress dhd_pno_set message in case of success
Dmitry Shmidt [Mon, 19 Sep 2011 19:33:25 +0000 (12:33 -0700)]
net: wireless: bcmdhd: Suppress dhd_pno_set message in case of success

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Enable P2P events only for P2P FW
Dmitry Shmidt [Sun, 18 Sep 2011 22:18:22 +0000 (15:18 -0700)]
net: wireless: bcmdhd: Enable P2P events only for P2P FW

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agoRevert "ARM: vfp: fix a hole in VFP thread migration"
Colin Cross [Sat, 17 Sep 2011 01:41:13 +0000 (18:41 -0700)]
Revert "ARM: vfp: fix a hole in VFP thread migration"

This reverts commit c0822d4f0bcccf227b751cfe1c047f3bdae0f1ce.

12 years agoRevert "ARM: vfp: ensure that thread flushing works if preempted"
Colin Cross [Sat, 17 Sep 2011 01:41:06 +0000 (18:41 -0700)]
Revert "ARM: vfp: ensure that thread flushing works if preempted"

This reverts commit 4f77fd436e53acf5bc0a06a24331f64b07fb33ec.

12 years agonet: wireless: bcmdhd: Fix wl_cfg80211_suspend() crash
Dmitry Shmidt [Fri, 16 Sep 2011 21:03:13 +0000 (14:03 -0700)]
net: wireless: bcmdhd: Fix wl_cfg80211_suspend() crash

- Eliminate wlan chip access during suspend
- Add DHD_CLEAR_ON_SUSPEND define to clear statuses on suspend

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agocpufreq: interactive: Fix handling of SMP where CPUs must scale in tandem
Todd Poynor [Wed, 22 Jun 2011 21:34:23 +0000 (14:34 -0700)]
cpufreq: interactive: Fix handling of SMP where CPUs must scale in tandem

The interactive governor relies on quirks of the Tegra 2 cpufreq
implementation for handling SMP systems where the CPUs do not have
separate rate controls.  It needs to determine the maximum rate
for all CPUs covered by the policy and set that speed.

Change-Id: I1ed9fa171e5a9c45a1fa5944e3fa823eb157e81f
Signed-off-by: Todd Poynor <toddpoynor@google.com>
12 years agonetfilter: xt_qtaguid: work around devices that reset their stats
JP Abgrall [Thu, 15 Sep 2011 07:56:20 +0000 (00:56 -0700)]
netfilter: xt_qtaguid: work around devices that reset their stats

Most net devs will not reset their stats when just going down/up,
unless a NETDEV_UNREGISTER was notified.
But some devs will not send out a NETDEV_UNREGISTER but still
reset their stats just before a NETDEV_UP.
Now we just track the dev stats during NETDEV_DOWN... just in case.
Then on NETDEV_UP we check the stats: if the device didn't do a
NETDEV_UNREGISTER and a prior NETDEV_DOWN captured stats, then we treat
it as an UNREGISTER and save the totals from the stashed values.

Added extra netdev event debugging.

Change-Id: Iec79e74bfd40269aa3e5892f161be71e09de6946
Signed-off-by: JP Abgrall <jpa@google.com>
12 years agonet: wireless: bcmdhd: Update to Version 5.90.125.84
Dmitry Shmidt [Tue, 13 Sep 2011 22:51:00 +0000 (15:51 -0700)]
net: wireless: bcmdhd: Update to Version 5.90.125.84

- Fix no scan problem for cfg80211 when Scan Event missed
- Improve logic to generate Event via cfg80211 when FW hangs
- Fix a crash on Android driver removal
- DHD read has chance to crash under long stress : fix (dhd_sdio.c)
- Fix power consumption issue as sending disassoc explicitly
- Change the logic for listen timer to solve memory leak and guarantee
  listen timing
- Adding wl_cfg80211_get_station for HostAPD

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: bcmdhd: Prohibit FW access in case of FW crash
Dmitry Shmidt [Wed, 7 Sep 2011 23:17:10 +0000 (16:17 -0700)]
net: wireless: bcmdhd: Prohibit FW access in case of FW crash

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agonet: wireless: Add CFG80211_ALLOW_RECONNECT option
Dmitry Shmidt [Thu, 15 Sep 2011 16:22:35 +0000 (09:22 -0700)]
net: wireless: Add CFG80211_ALLOW_RECONNECT option

Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
12 years agousb: gadget: android: always update the sw_connected state
Dima Zavin [Wed, 14 Sep 2011 22:12:45 +0000 (15:12 -0700)]
usb: gadget: android: always update the sw_connected state

If we go through connected->configured->disconnected cycle very quickly,
it is possible that we may not generate a disconnect uevent to userspace.
Connected+configured could have happened before the work item got
executed, and thus would not have updated the sw_connected state. On
the disconnect, it would have noticed that a config is no longer there
but since sw_connected was still 0, it would not have sent the
disconnect event.

Change-Id: Id71175f784e3e1cf3f828bd8b24fceea1078a06b
Signed-off-by: Dima Zavin <dima@android.com>
12 years agousb: gadget: android: dump the uevents sent when changing states
Dima Zavin [Wed, 14 Sep 2011 18:52:45 +0000 (11:52 -0700)]
usb: gadget: android: dump the uevents sent when changing states

Change-Id: If5011e39f400b3aca036a890b8b932a7606a7ac2
Signed-off-by: Dima Zavin <dima@android.com>
12 years agousb: gadget: android: follow proper order on disconnect
Dima Zavin [Wed, 14 Sep 2011 18:53:11 +0000 (11:53 -0700)]
usb: gadget: android: follow proper order on disconnect

We should composite_disconnect *before* updating our internal
state and sending uevent to userspace.
Also, hold cdev->lock while updating internal state.

Change-Id: If66a5a4f7d4a102a44aefc3ce4a154a5a1517dcf
Signed-off-by: Dima Zavin <dima@android.com>
12 years agoinput: misc: gpio; make wake irq conditional, and disable on remove paths
Mike J. Chen [Fri, 15 Oct 2010 01:04:03 +0000 (18:04 -0700)]
input: misc: gpio; make wake irq conditional, and disable on remove paths

Add a board file option to gpio_input devices to make
calling enable_irq_wake conditional.  Also disable the
wake irq when removing the device.

Change-Id: If933b9d3a751d89fa95ae3b7f739dfe70fcb23c8
Signed-off-by: Mike J. Chen <mjchen@sta.samsung.com>