aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-03-30power: wakelock: use get_xtime_and_monotonic_and_sleep_offset in ↵sandbox/konkers/android-2.6.39-rc1Colin Cross
get_expired_time Change-Id: I6ebe6b954b2ff328d46898d683650dafb9c4fe74 Signed-off-by: Erik Gilling <konkers@android.com>
2011-03-30usb: gadget: composite: USB_GET_CONFIGURATION must return 0 in unconfigured ↵Oleg Matcovschi
state. Change-Id: I5212ca9990308d0c4ae6a55c60cba42d6b0e4fee Signed-off-by: Oleg Matcovschi <olegmatcovsky@gmail.com>
2011-03-30USB: gadget: f_adb: dequeue request on error in adb_readIliyan Malchev
In adb_read(), if wait_event_interruptible() returns an error, we need to remove the request from the EP queue. Else, on the next call to adb_read(), we will attempt to enqueue the request again, potentially corrupting the queue. This is what happens with musb_gadget_queue(), which does not check for duplicate requests. Signed-off-by: Iliyan Malchev <malchev@google.com>
2011-03-30USB: gadget: f_mtp: Fix problems transferring files from device to hostMike Lockwood
Exit from send_file_work immediately when a cancel request is received. Only busy status if there is a cancel pending that has not been repoorted to userspace. This avoids a race condition that can occur when mtp_read resets the state to STATE_BUSY before we report status OK back to the host. Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-30USB: gadget: composite: fix compile issuesVikram Pandita
In file included from drivers/usb/gadget/ether.c:114: drivers/usb/gadget/composite.c: In function 'usb_composite_force_reset': drivers/usb/gadget/composite.c:121: error: implicit declaration of function 'msleep' drivers/usb/gadget/composite.c: In function 'usb_add_function': drivers/usb/gadget/composite.c:158: error: implicit declaration of function 'MKDEV' Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
2011-03-30block: genhd: Add partition name to the partition info uevent callbackBrian Swetland
For disk and partition devices, add new uevent parameter: PARTNAME specifices the partition name of a partition device Signed-off-by: Dima Zavin <dima@android.com>
2011-03-30ARM: vfp: Move exception address fixup into vfphw.SColin Cross
If the PC on the stack is updated in entry-armv.S, do_undefinstr can get called after the fixup. do_undefinstr does its own fixup, and doing both causes the PC to point to half way through an instruction. Instead, do the fixup in do_vfp, where only the vfp code can get called. Change-Id: I6d966887adc8ed58d88bfe0cb3c0ba29213be488 Signed-off-by: Colin Cross <ccross@android.com>
2011-03-30cpufreq: Prevent memory leak in cpufreq_stats on hotplugColin Cross
Ensures that cpufreq_stats_free_table is called before __cpufreq_remove_dev on cpu hotplug (which also occurs during suspend on SMP systems) to make sure that sysfs_remove_group can get called before the cpufreq kobj is freed. Otherwise, the sysfs file structures are leaked. Change-Id: I87e55277272f5cfad47e9e7c92630e990bb90069 Signed-off-by: Colin Cross <ccross@android.com>
2011-03-30PM: Change dpm watchdog to support async suspendBenoit Goby
Exclude from the watchdog the time spent waiting for children that are resumed asynchronously and time every devices, whether or not they resumed synchronously. Change-Id: I84209dfd5df72842e045096c906fd61e20e6d183 Signed-off-by: Benoit Goby <benoit@android.com>
2011-03-30Print pending wakeup IRQ preventing suspend to dmesgTodd Poynor
Change-Id: I36f90735c75fb7c7ab1084775ec0d0ab02336e6e Signed-off-by: Todd Poynor <toddpoynor@google.com>
2011-03-30input: keyreset: Only print message for default handlerColin Cross
Change-Id: I68e5451fef2e6f08bf1035077ea999e34a619f87 Signed-off-by: Colin Cross <ccross@android.com>
2011-03-30PM: Dump suspend thread stack on dpm suspend timeoutBenoit Goby
When a driver takes more than 3 seconds to suspend, dump the suspend thread stack since BUG() might only dump the idle thread stack. Change-Id: If854db355fdcf3b773ea20b1b5e031def6d4b114 Signed-off-by: Benoit Goby <benoit@android.com>
2011-03-30input: evdev: Add missing wake_lock_destroyBenoit Goby
Change-Id: Ief1ef44d98a197e5b457f5e8617c413e76e3c6d2 Signed-off-by: Benoit Goby <benoit@android.com>
2011-03-30ARM: Fix up vfp exception location in thumb modeColin Cross
The exception handler in entry-armv.S checks for thumb mode and correctly determines the exception location and instruction, but VFP_bounce uses the uncorrected location off the stack. If the VFP exception occured in Thumb mode, fix up the exception location on the stack to match the value that would be returned in ARM mode. Fixes segfaults in userspace applications running in Thumb mode caused by a handled VFP exception returning to the middle of the instruction that triggered the exception. Change-Id: I02be4c5b546561d9a967a02c1e9eb1de876cff07 Original-author: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Colin Cross <ccross@android.com>
2011-03-30USB: gadget: f_mtp: Make sure request is dequeued if transfer is canceledMike Lockwood
If the host cancels a file transfer while we have a read request pending, call usb_ep_dequeue to cancel the read. Also return -ECANCELED from mtp_ioctl if we are canceled in MTP_RECEIVE_FILE Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-30net: wireless: bcm4329: Turn off CONFIG_US_NON_DFS_CHANNELS_ONLYDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-03-30net: wireless: bcm4329: Update to version 4.218.248-20Dmitry Shmidt
- Use US/69 locale for US - Remove dhdsdio_mem_dump() function Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-03-30rtc: alarm: Update hrtimer if alarm at the head of the queue is reprogrammedArve Hjønnevåg
If an alarm was restarted with a value that moved it away from the head of a queue, the hrtimer would not be updated. This would cause unnecessary wakeups. Change-Id: If379f8dd92b0bdb3173bd8d057adfe0dc1d15259 Signed-off-by: Arve Hjønnevåg <arve@android.com>
2011-03-30input: keyreset: Allow reset function to be overridenColin Cross
Change-Id: Ibb3dda05772b2e89d7b2646689944d309cb1f74e Signed-off-by: Colin Cross <ccross@android.com>
2011-03-30cpufreq interactive governor: fix crash on CPU shutdownTodd Poynor
Don't reference the saved copy of the CPU's cpufreq policy pointer after the governor has been stopped for the CPU. When the governor is stopped for a CPU: * Use del_timer_sync() to wait for a currently-running timer function to stop. * Delete the timer when the governor is stopped for the associated CPU, not when the last CPU is stopped. * Flush any speed down work ongoing. * Reset the timestamp that is used to tell if the timer function has had a chance to run since last idle exit. Check the governor enabled flag for the CPU before re-arming the timer from within the timer function and at idle exit (in case stopping the governor at runtime). Check the governor enabled flag for the CPU in the worker function and thread before using the policy pointer. (There is still a tiny window in the thread that needs more work to close.) Change-Id: Ifaddf7a495a8dae15a579a57bdc654f7c47f6ada Signed-off-by: Todd Poynor <toddpoynor@google.com>
2011-03-30staging: android: lowmemorykiller: Ignore shmem pages in page-cacheArve Hjønnevåg
Change-Id: Ia54fc50b7dcabfeb71eb487c652803f83e2f3d8e Signed-off-by: Arve Hjønnevåg <arve@android.com>
2011-03-30staging: android: lowmemorykiller: Don't wait more than one second for a ↵Arve Hjønnevåg
process to die If a process forked and the child process was killed by the lowmemorykiller, the lowmemory killer would be disabled until the parent process reaped the child or it died itself. Change-Id: I709b1a4e1b1a1970e51d26a39fcbee57977bbc7f Signed-off-by: Arve Hjønnevåg <arve@android.com>
2011-03-30lowmemorykiller: don't unregister notifier from atomic contextRabin Vincent
The lowmemorykiller registers an atomic notifier for notfication of when the task is freed. From this atomic notifier callback, it removes the atomic notifier via task_free_unregister(). This is incorrect because atomic_notifier_chain_unregister() calls syncronize_rcu(), which can sleep, which shouldn't be done from an atomic notifier. Fix this by registering the notifier during init, and only unregister it if the lowmemorykiller is unloaded. Change-Id: I1577b04e617bc2b2e39dcb490fcfc9ce660eb7ec Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com> Signed-off-by: Christian Bejram <christian.bejram@stericsson.com>
2011-03-30cgroup: Remove call to synchronize_rcu in cgroup_attach_taskColin Cross
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>
2011-03-30cgroup: Set CGRP_RELEASABLE when adding to a cgroupColin Cross
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>
2011-03-30PM: Wait for completion of the parent resume before resumingBenoit Goby
If the parent device is in the DPM_RESUMING state, resume might get called before the parent's resume has completed, because dpm_wait won't get called. This issue was introduced by: 3d46a3c PM: Prevent waiting forever on asynchronous resume after abort Wait for completion of the parent resume if the parent state is >= DPM_OFF or == DPM_RESUMING Signed-off-by: Benoit Goby <benoit@android.com> [dima: fixed to work on 2.6.38, use .in_suspend instead of .state] Signed-off-by: Dima Zavin <dima@android.com>
2011-03-30cpufreq interactive governor save/restore IRQs around cpumask spinlocksTodd Poynor
Need to use irqsave/restore spin locking for cpumasks since these are accessed in timers and in thread context. Change-Id: I4a53eaf0ced7e73b445feddba90ec11482de9126 Signed-off-by: Todd Poynor <toddpoynor@google.com>
2011-03-30cpufreq: interactive: New 'interactive' governorMike Chan
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
2011-03-30ARM: fiq_debugger: Add help commandDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-03-30misc: kernel_debugger: Add help commandDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-03-30ARM: fiq_debugger: make fiq_debugger be in debug mode by defaultDima Zavin
Adds a config option that controls whether or not the console is on at boot, defaulting to no. Change-Id: Id4a3cad1c9dd4fb3c2b8c2298ca5d385a8bd0f8d Signed-off-by: Dima Zavin <dima@android.com>
2011-03-30sdhci: Always pass clock request value zero to set_clock host opTodd Poynor
To allow the set_clock host op to disable the SDCLK source when not needed, always call the host op when the requested clock speed is zero. Do this even if host->clock already equals zero, because the SDHCI driver may set that value (without calling the host op) to force an update at the next (non-zero-speed) call. Change-Id: If99230d76138679b5767f77cb925f15408ae518e Signed-off-by: Todd Poynor <toddpoynor@google.com>
2011-03-30[ARM] fiq_debugger: Print local timer irqs countRebecca Schultz Zavin
Prints the number of local timer irqs on each cpu when the irqs command is executed. Change-Id: Ic70fa9f528d98996fabb2d0cc80e937c5b239c1a Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
2011-03-30staging: remove Greg's TODO, now obsolete.Brian Swetland
Signed-off-by: Brian Swetland <swetland@google.com>
2011-03-30mmc: Fix pm_notifier obeying deferred resumeDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-03-30misc: kernel_debugger: fix handle_sysrq callErik Gilling
Change-Id: I58376b7de56751fd57a038fb8f908f36fe60dda1 Signed-off-by: Todd Poynor <toddpoynor@google.com> Author: Erik Gilling <konkers@android.com>
2011-03-30[ARM] fiq glue: Align fiq stacksColin Cross
Change-Id: I956f05d0b0ce48572e611765e56a439dc036c052 Signed-off-by: Colin Cross <ccross@android.com>
2011-03-30mmc: Add "ignore mmc pm notify" functionalityDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-03-30[ARM] fiq debugger: Allow selection of target cpuColin Cross
Change-Id: I676bac08ba12dfa506aea16800fc80432b4bc83d Signed-off-by: Colin Cross <ccross@android.com>
2011-03-30mmc: sdio: Fix enable_hs and enable_wide in sdio_reset_comm()Dmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-03-30ARM: fiq debugger: Add tty to fiq debuggerColin Cross
Change-Id: I80347cdb70cda104b96562c63f972c1f217e3822 Signed-off-by: Colin Cross <ccross@google.com>
2011-03-30ARM: Add generic fiq serial debuggerIliyan Malchev
Change-Id: Ibb536c88f0dbaf4766d0599296907e35e42cbfd6 Signed-off-by: Iliyan Malchev <malchev@google.com> Signed-off-by: Arve Hjønnevåg <arve@android.com>
2011-03-30ARM: Add fiq_glueArve Hjønnevåg
Change-Id: I27d2554e07d9de204e0a06696d38db51608d9f6b Signed-off-by: Arve Hjønnevåg <arve@android.com> Signed-off-by: Colin Cross <ccross@android.com>
2011-03-30sched: use the old min_vruntime when normalizing on dequeueDima Zavin
After pulling the thread off the run-queue during a cgroup change, the cfs_rq.min_vruntime gets recalculated. The dequeued thread's vruntime then gets normalized to this new value. This can then lead to the thread getting an unfair boost in the new group if the vruntime of the next task in the old run-queue was way further ahead. Cc: Arve Hjønnevåg <arve@android.com> Signed-off-by: Dima Zavin <dima@android.com>
2011-03-30Allow CONFIG_STACKTRACE to be enabled by itself.Arve Hjønnevåg
This allows us to get a kernel stacktrace for a thread though /proc. Also enable it by default. Change-Id: If8c21cd02feaf9863f4841ace524fa30c7328d49 Signed-off-by: Arve Hjønnevåg <arve@android.com>
2011-03-30Support lseek(2) in ashmem driverBjorn Bringert
Signed-off-by: Bjorn Bringert <bringert@android.com> Change-Id: I509d18b21832e229737ea7ebaa231fb107eb61d7
2011-03-30mmc: subtract boot sectors from disk size for eMMC 4.3+ devicesGary King
the csd sector count reported by eMMC 4.3+ cards includes the boot partition size; subtract this from the size reported to the disk since the boot partition is inaccessible Change-Id: I601b83aa0159b7aa446409ea8c945b256dd0b5b1 Signed-off-by: Gary King <gking@nvidia.com>
2011-03-30mmc_block: Allow more than 8 partitions per cardColin Cross
Set the GENHD_FL_EXT_DEVT flag, which will allocate minor numbers in major 259 for partitions past disk->minors. Also remove the use of disk_devt to determine devidx from md->disk. md->disk->first_minor is always initialized from devidx and can always be used to recover it. Signed-off-by: Colin Cross <ccross@android.com>
2011-03-30PM: Prevent waiting forever on asynchronous resume after abortColin Cross
Only wait on a parent device during resume if the parent device is suspended. Consider three drivers, A, B, and C. The parent of A is C, and C has async_suspend set. On boot, C->power.completion is initialized to 0. During the first suspend: suspend_devices_and_enter(...) dpm_resume(...) device_suspend(A) device_suspend(B) returns error, aborts suspend dpm_resume_end(...) dpm_resume(...) device_resume(A) dpm_wait(A->parent == C) wait_for_completion(C->power.completion) The wait_for_completion will never complete, because complete_all(C->power.completion) will only be called from device_suspend(C) or device_resume(C), neither of which is called if suspend is aborted before C. After a successful suspend->resume cycle, where B doesn't abort suspend, C->power.completion is left in the completed state by the call to device_resume(C), and the same call path will work if B aborts suspend. Signed-off-by: Colin Cross <ccross@android.com>
2011-03-30power: wakelock: call __get_wall_to_monotonic() instead of using ↵Erik Gilling
wall_to_monotonic Change-Id: I9e9c3b923bf9a22ffd48f80a72050289496e57d8