summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-06-14ARM: etm: Support multiple ETMs/PTMs.Arve Hjønnevåg
If more than one ETM or PTM are present, configure all of them and enable the formatter in the ETB. This allows tracing on dual core systems (e.g. omap4). Change-Id: I028657d5cf2bee1b23f193d4387b607953b35888 Signed-off-by: Arve Hjønnevåg <arve@android.com>
2011-06-14ARM: etm: Return the entire trace buffer if it is empty after resetArve Hjønnevåg
On some SOCs the read and write pointer are reset when the chip resets, but the trace buffer content is preserved. If the status bits indicates that the buffer is empty and we have never started tracing, assume the buffer is full instead. This can be useful if the system rebooted from a watchdog reset. Change-Id: Iaf21c2c329c6059004ee1d38e3dfff66d7d28029 Signed-off-by: Arve Hjønnevåg <arve@android.com>
2011-06-14ARM: etm: Add some missing locks and error checksArve Hjønnevåg
It is not safe to call etm_lock or etb_lock without holding the mutex since another thread may also have unlocked the registers. Also add some missing checks for valid etb_regs in the etm sysfs entries. Change-Id: I939f76a6ea7546a8fc0d4ddafa2fd2b6f38103bb Signed-off-by: Arve Hjønnevåg <arve@android.com>
2011-06-14ARM: etm: Configure data tracingArve Hjønnevåg
The old code enabled data tracing, but did not configure the range. We now configure it to trace all data addresses by default, and add a trace_data_range attribute to change the range or disable data tracing. Change-Id: I9d04e3e1ea0d0b4d4d5bcb93b1b042938ad738b2 Signed-off-by: Arve Hjønnevåg <arve@android.com>
2011-06-14ARM: etm: Allow range selectionArve Hjønnevåg
Trace kernel text segment by default as before, allow tracing of other ranges by writing a range to /sys/devices/etm/trace_range, or to trace everything by writing 0 0. Change-Id: Ibb734ca820fedf79560b20536247f1e1700cdc71 Signed-off-by: Arve Hjønnevåg <arve@android.com>
2011-06-14ARM: etm: Don't try to clear the buffer full status after reading the bufferArve Hjønnevåg
If the write address was at the end of the buffer, toggling the trace capture bit would set the RAM-full status instead of clearing it, and if any of the stop bits in the formatter is set toggling the trace capture bit may not do anything. Instead use the read position to find out if the data has already been returned. This also fixes the read function so it works when the trace buffer is larger than the buffer passed in from user space. The old version would reset the trace buffer pointers after every read, so the second call to read would always return 0. Change-Id: I75256abe2556adfd66fd5963e46f9e84ae4645e1 Signed-off-by: Arve Hjønnevåg <arve@android.com>
2011-06-14ARM: etm: Don't limit tracing to only non-secure code.Arve Hjønnevåg
On some systems kernel code is considered secure, and this code already limits tracing to the kernel text segment which results in no trace data. Change-Id: I098a0753e874859446d098e1ee209f67fc13cd5d Signed-off-by: Arve Hjønnevåg <arve@android.com>
2011-06-14ARM: etm: Don't require clock controlArve Hjønnevåg
If clk_get fail, assume the etb does not need a separate clock. Change-Id: Ia0bf3f5391e94a60ea45876aa7afc8a88a7ec3bf Signed-off-by: Arve Hjønnevåg <arve@android.com>
2011-06-14Bluetooth: Allow SCO/eSCO packet type selection for outgoing SCO connections.Nick Pelly
__u16 sco_pkt_type is introduced to struct sockaddr_sco. It allows bitwise selection of SCO/eSCO packet types. Currently those bits are: 0x0001 HV1 may be used. 0x0002 HV2 may be used. 0x0004 HV3 may be used. 0x0008 EV3 may be used. 0x0010 EV4 may be used. 0x0020 EV5 may be used. 0x0040 2-EV3 may be used. 0x0080 3-EV3 may be used. 0x0100 2-EV5 may be used. 0x0200 3-EV5 may be used. This is similar to the Packet Type parameter in the HCI Setup Synchronous Connection Command, except that we are not reversing the logic on the EDR bits. This makes the use of sco_pkt_tpye forward portable for the use case of white-listing packet types, which we expect will be the primary use case. If sco_pkt_type is zero, or userspace uses the old struct sockaddr_sco, then the default behavior is to allow all packet types. Packet type selection is just a request made to the Bluetooth chipset, and it is up to the link manager on the chipset to negiotiate and decide on the actual packet types used. Furthermore, when a SCO/eSCO connection is eventually made there is no way for the host stack to determine which packet type was used (however it is possible to get the link type of SCO or eSCO). sco_pkt_type is ignored for incoming SCO connections. It is possible to add this in the future as a parameter to the Accept Synchronous Connection Command, however its a little trickier because the kernel does not currently preserve sockaddr_sco data between userspace calls to accept(). The most common use for sco_pkt_type will be to white-list only SCO packets, which can be done with the hci.h constant SCO_ESCO_MASK. This patch is motivated by broken Bluetooth carkits such as the Motorolo HF850 (it claims to support eSCO, but will actually reject eSCO connections after 5 seconds) and the 2007/2008 Infiniti G35/37 (fails to route audio if a 2-EV5 packet type is negiotiated). With this patch userspace can maintain a list of compatible packet types to workaround remote devices such as these. Based on a patch by Marcel Holtmann. Rebased to 2.6.39. Change-Id: Ide1c89574fa4f6f1b9218282e1af17051eb86315 Signed-off-by: Nick Pelly <npelly@google.com>
2011-06-14ARM: Add 'card_present' state to mmc_platfrom_dataDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-06-14net: wireless: bcm4329: Fix one more 2.6.39 compilation errorColin Cross
Change-Id: Ia290e056a177d0e6f84a3cf9e806307b43de5e1b Signed-off-by: Colin Cross <ccross@android.com>
2011-06-14net: Fix "Support nuking IPv6 sockets as well as IPv4" for 2.6.39Colin Cross
Change-Id: I247b8dc2e32bb83e731209928600e92892dd042c Signed-off-by: Colin Cross <ccross@android.com>
2011-06-14Recreate asm/mach/mmc.h include fileColin Cross
Change-Id: I9f10244b0603f7842b8504a16124d40dc4a71ed2 Signed-off-by: Colin Cross <ccross@android.com>
2011-06-14input: misc: gpio_matrix: Fix irq call for 2.6.39Colin Cross
Change-Id: Ib8dd0ab6554e6b0e3798bf75d41f77ea0b20b8de Signed-off-by: Colin Cross <ccross@android.com>
2011-06-14ARM: common: fiq_debugger: Fix build for 2.6.39 irq changesColin Cross
Signed-off-by: Colin Cross <ccross@android.com> Change-Id: I68147c0a17f9cd1b7693826754edc55b1bb09592
2011-06-14net: wireless: bcm4329: Fix 2.6.39 compilationDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-06-14net: wireless: bcm4329: Prevent working thread to run during suspend pathDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-06-14net: wireless: bcm4329: Clean ARP offload table on IP updateGreg Goldman
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-06-14net: Reorder incoming packets in PPPoLAC and PPPoPNS.Chia-chi Yeh
PPP handles packet loss but does not work with out of order packets. This change performs reordering of incoming data packets within a sliding window of one second. Since sequence number is optional, receiving a packet without it will drop all queued packets. Currently the logic is triggered by incoming packets, so queued packets have to wait till another packet is arrived. It is done for simplicity since no additional locks or threads are required. For reliable protocols, a retransmission will kick it. For unreliable protocols, queued packets just seem like packet loss. Time-critical protocols might be broken, but they never work with queueing anyway. Signed-off-by: Chia-chi Yeh <chiachi@android.com>
2011-06-14net: Support nuking IPv6 sockets as well as IPv4.Lorenzo Colitti
On Linux, when an interface goes down all its IPv6 addresses are deleted, so relying on knowing the previous IPv6 addresses on the interface is brittle. Instead, support nuking all sockets that are bound to IP addresses that are not configured and up on the system. This behaviour is triggered by specifying the unspecified address (:: or 0.0.0.0). If an IP address is specified, the behaviour is unchanged, except the ioctl now supports IPv6 as well as IPv4. Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
2011-06-14net: wireless: bcm4329: Allocate skb with GFP_KERNEL flag if possibleDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-06-14net: wireless: bcm4329: Disable wake irq at driver stopDmitry Shmidt
Previously at driver stop interrupts were not disabled and might cause never-ending waking up Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-06-14USB: gadget: f_mtp: dequeue request on error in mtp_readMike Lockwood
In mtp_read(), if wait_event_interruptible() returns an error, we need to remove the request from the EP queue. Else, on the next call to mtp_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. Based on a similar change to f_adb.c Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-14USB: gadget: android: Fix problem switching vendor IDsMike Lockwood
We need to update the vendor ID in the composite driver as well Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-14net: wireless: bcm4329: Fix disable pno callGreg Goldman
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-06-14net: wireless: bcm4329: Get country translation from platform dataDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-06-14net: wireless: Add get_country_code functionality to platformDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-06-14net: wireless: bcm4329: Update to version 4.218.248-23Greg Goldman
- Add support to PNO with adaptive scan time - Remove logic to generate Link Down based on Roaming Event - Improve sco/esco detection method for BT COEX - Add new function TXPOWER to reduce power if needed Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-06-14net: wireless: bcm4329: Fix mem leak in wl_iw_handle_scanresults_iesMike Corrigan
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-06-14net: wireless: bcm4329: Fix memleak in dev->pAndrei Warkentin
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-06-14net: wireless: bcm4329: Add sdlock to firmware loadingDmitry Shmidt
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2011-06-14PM: Increase dpm suspend timeoutBenoit Goby
usbhid devices have a 10s timeout waiting for the out queue to clear. Increased the watchdog to 12s. Change-Id: I96368fca6dff98e4eba8aedb09c23be964c8f4b4 Signed-off-by: Benoit Goby <benoit@android.com>
2011-06-14USB: gadget: f_mtp: Don't block in mtp_send_eventMike Lockwood
We used to wait for the previous interrupt packet to complete before sending the next packet. But unfortunately the previous packet will not complete until USB is disconnected if the host is not listening on the interrupt endpoint (which is the case with libmtp on Linux and Mac). To avoid hanging indefinitely in this case, we now simply return -EBUSY if the previous interrupt packet has not completed yet. Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-14USB: gadget: android: Support switching vendor ID when configuration changesMike Lockwood
Based on the list of enabled USB functions, we can now switch the vendor ID as well as the product ID. Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-14Revert "mmc: subtract boot sectors from disk size for eMMC 4.3+ devices"Colin Cross
This reverts commit f0b0e4bec1e89014f3dcef4da8bcf95428cc771c. The reverted commit incorrectly calculates the size of eMMC devices in some (all?) cases. This revert may cause problems in cases where the bootloader was bug-compatible and puts a GPT partition at the incorrect end of the eMMC device. Signed-off-by: Colin Cross <ccross@android.com>
2011-06-14power: wakelock: use get_xtime_and_monotonic_and_sleep_offset in ↵Colin Cross
get_expired_time Change-Id: I6ebe6b954b2ff328d46898d683650dafb9c4fe74 Signed-off-by: Erik Gilling <konkers@android.com>
2011-06-14usb: 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-06-14USB: 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-06-14USB: 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-06-14USB: 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-06-14block: 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-06-14ARM: 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-06-14cpufreq: 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-06-14PM: 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-06-14Print pending wakeup IRQ preventing suspend to dmesgTodd Poynor
Change-Id: I36f90735c75fb7c7ab1084775ec0d0ab02336e6e Signed-off-by: Todd Poynor <toddpoynor@google.com>
2011-06-14input: keyreset: Only print message for default handlerColin Cross
Change-Id: I68e5451fef2e6f08bf1035077ea999e34a619f87 Signed-off-by: Colin Cross <ccross@android.com>
2011-06-14PM: 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-06-14input: evdev: Add missing wake_lock_destroyBenoit Goby
Change-Id: Ief1ef44d98a197e5b457f5e8617c413e76e3c6d2 Signed-off-by: Benoit Goby <benoit@android.com>
2011-06-14ARM: 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-06-14USB: 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>