06 Mar, 2014
1 commit
-
…egration-tree/connectivity-ti-linux-kernel into ti-linux-3.12.y
TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-3.12.y* 'connectivity-ti-linux-3.12.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
arm: dts: am43x-epos: update partition table for qspi according to XIP
usb: musb: musb_host: Enable HCD_BH flag to handle urb return in bottom halfSigned-off-by: Dan Murphy <DMurphy@ti.com>
05 Mar, 2014
1 commit
-
Enable HCD_BH flag for musb host controller driver.
This improves the MSC/UVC through put. With this enabled
even 640x480@30fps webcam streaming is also supported.Signed-off-by: Felipe Balbi
Signed-off-by: George Cherian
03 Mar, 2014
1 commit
-
…egration-tree/connectivity-ti-linux-kernel into ti-linux-3.12.y
TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-3.12.y* 'connectivity-ti-linux-3.12.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
input: touchscreen: ti_am335x_tsc: Flush interrupts before suspendSigned-off-by: Dan Murphy <DMurphy@ti.com>
02 Mar, 2014
1 commit
-
Previously, pending interrupts in tscadc were causing HW_PEN interrupt,
needed for wake from DS0, to get disabled immediately by IRQ handler
after being enabled. Flush all pending interrupts in suspend handler
before enabling HW_PENi interrupt so that this no longer happens and
board is able to wake from DS0 on a touch event.Signed-off-by: Dave Gerlach
Acked-by: Felipe Balbi
28 Feb, 2014
1 commit
-
…egration-tree/connectivity-ti-linux-kernel into ti-linux-3.12.y
TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-3.12.y* 'connectivity-ti-linux-3.12.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
input: touchscreen: pixcir: also trigger IRQ on rising edge
drivers: net: cpsw: convert tx completion to NAPI
Revert "usb: musb: musb_cppi41: Revert the Advisory 1.0.13 workaround"Signed-off-by: Dan Murphy <DMurphy@ti.com>
27 Feb, 2014
3 commits
-
We want to make sure we never miss penup/down events
and the easiest way is to also trigger IRQ on the rising
edge.This will make sure that when we touch or release the
touchscreen surface, an IRQ will be fired and our ISR
handler will be called, thus avoiding missed events.Fixes #D-01570 - Cap touch screen issue
Tested-by: Franklin Cooper Jr
Signed-off-by: Felipe Balbi -
CPSW driver TX and RX interrupt handling is not optimal. The driver handles
both irq's together and relies on RX NAPI to proces the TX packet. Lets
seperate the interrupt handling and convert the TX completion to NAPI as
well.With these changes the network perfromance shoots up by almost 40 %
for UDP. For TCP we also we get pretty good boost.Signed-off-by: Santosh Shilimkar
Signed-off-by: Mugunthan V N -
Reverting the Advisory 1.0.13 leads to functional issues when multiple
Mass Storage devices are connected. Especially when more than 3
Mass Storage disks are connected it fails to mount the disks reliably.This reverts commit c424ef3e2beb89488e7e597446b4c6bc8f1852c5.
Signed-off-by: George Cherian
Reported-by: Roger Quadros
12 Feb, 2014
2 commits
-
…ux-kernel/audio-display-linux-feature-tree into ti-linux-3.12.y
TI-Feature: audio-display
TI-Tree: git://git.ti.com/~darrene/ti-linux-kernel/audio-display-linux-feature-tree.git
TI-Branch: audio-display-ti-linux-3.12.y* 'audio-display-ti-linux-3.12.y' of git://git.ti.com/~darrene/ti-linux-kernel/audio-display-linux-feature-tree:
arm: dts: am437x-gp-evm: Add "sleep" state for lcd
arm: dts: am43x-epos-evm: Add "sleep" state for lcd
OMAPDSS: dpi: adopt pinctrl supportSigned-off-by: Dan Murphy <DMurphy@ti.com>
-
…egration-tree/connectivity-ti-linux-kernel into ti-linux-3.12.y
TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-3.12.y* 'connectivity-ti-linux-3.12.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel: (22 commits)
arm: dts: am4372: Add hdq device tree data.
drivers: w1: omap_hdq: cleanup and bug fixes.
w1: omap_hdq: Add compatible property for omap hdq driver.
arm: mach-omap2: Remove device build from __init path.
arm: hwmod: am437x-hdq: Add hwmod data for hdq1w.
arm: dts: am43x-epos-evm: Resize qspi uboot and kernel partition size.
arm: dts: dra7-evm: Resize qspi uboot and kernel partition size.
usb: phy: am335x: Don't manage PHY power in suspend/resume
usb: musb: dsps: Resume early in noirq context
usb: musb: host: Don't resume port on bus_resume()
arm: dts: am335x-evm: Add pinmux configuration for uart1
arm: dts: am33xx: update pinmux configuration for mmc1
serial: omap-serial : Enhance pinctrl support
arm: dts: am335x-evm: add sleep states for i2c-1
arm: dts: am33xx: add pinctrl sleep states for nand
arm: dts: am33xx: add sleep states for pwm-tiecap pins
ARM: mach-omap2: gpmc: adopt pinctrl support
arm: dts: am335x-evm: add sleep states for gpio-matrix-keypad
arm: dts: am33xx: add sleep states for gpio-led pins
leds: leds-gpio: Enhance pinctrl support
...Conflicts:
arch/arm/boot/dts/am335x-evmsk.dtsSigned-off-by: Dan Murphy <DMurphy@ti.com>
11 Feb, 2014
8 commits
-
Update omapdss/dpi driver to set the state of the pins to:
- "default on enable
- "sleep" on disableThe disable and enable functions are called from a PM hook within
omapdss so the sleep and default states will be used with suspend
and resume, respectively.By optionally putting the pins into sleep state in the suspend callback
we can accomplish two things.
- minimize current leakage from pins and thus save power,
- prevent the IP from driving pins output in an uncontrolled manner,
which may happen if the power domain drops the domain regulator.Signed-off-by: Dave Gerlach
Signed-off-by: Darren Etheridge -
The patch adds the following to the omap hdq driver.
1. HDQ Device reset call in probe.
2. Enabling '1 wire mode' and checking for presence pulse bit.
3. Proper disabling and enabling of interrupts during read path.
4. Add re-initialization code during SKIP ROM command execution.
5. Miscellaneous cleanup(formatting, return error checks).Signed-off-by: Sourav Poddar
-
Add compatible property for omap hdq driver.
Signed-off-by: Sourav Poddar
-
In the AM335x case, the controller resumes early (noirq) and so
would need the PHY to be powered up early as well. The existing
implementation prevents us from doing that so don't manage PHY power
in suspend/resume. Instead, we let the controller driver manage the
PHY power.Signed-off-by: Roger Quadros
-
The musb core driver resumes in noirq context so we must do so as well
to ensure we are ready before musb core driver resumes.Not doing so breaks suspend/resume and causes delays upto 15 seconds
with high-speed mass storage device connected to host.Signed-off-by: Roger Quadros
-
The root hub port will be resumed by the hub driver using proper
resume signal timing. There is no need for us to resume the port
in bus_resume(). In fact, doing so breaks global suspend/resume
and causes system resume delays of upto 15 seconds.Fixes D-01518 - AM335x: Connectivity/Power:
Long resume time when there is USB MSC device connected to DUTSigned-off-by: Roger Quadros
-
Update omap-serial driver to set the state of the pins to:
- "sleep" on suspend
- "default" on resumeBy optionally putting the pins into sleep state in the suspend callback
we can accomplish two things.
- minimize current leakage from pins and thus save power,
- prevent the IP from driving pins output in an uncontrolled manner,
which may happen if the power domain drops the domain regulator.Signed-off-by: Dave Gerlach
-
update leds-gpio driver to set the state of the pins to:
- "sleep" on suspend
- "default" on resumeBy optionally putting the pins into sleep state in the suspend callback
we can accomplish two things.
- minimize current leakage from pins and thus save power,
- prevent the IP from driving pins output in an uncontrolled manner,
which may happen if the power domain drops the domain regulator.suspend()/resume() callbacks are added which simply puts the pins to
sleep/default state.Signed-off-by: Hebbar, Gururaja
Signed-off-by: Dave Gerlach
10 Feb, 2014
2 commits
-
Reprogramming the DMA after tear down is initiated leads to warning.
This is mainly seen with ISOCH since we do a delayed completion for
ISOCH transfers. In ISOCH transfers dma_completion should not reprogram
if the channel tear down is initiated.Signed-off-by: George Cherian
-
Start the channel tear down only if the channel is busy, else just
bail out. In some cases its seen that by the time the tear down is
initiated the cppi completes the DMA, especially in ISOCH transfers.Signed-off-by: George Cherian
07 Feb, 2014
20 commits
-
…nux-stable into ti-linux-3.12.y
This is the 3.12.10 stable release
* tag 'v3.12.10' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (133 commits)
Linux 3.12.10
x86, cpu, amd: Add workaround for family 16h, erratum 793
powerpc: Make sure "cache" directory is removed when offlining cpu
powerpc: Fix the setup of CPU-to-Node mappings during CPU online
btrfs: restrict snapshotting to own subvolumes
Btrfs: handle EAGAIN case properly in btrfs_drop_snapshot()
target/iscsi: Fix network portal creation race
iscsi-target: Pre-allocate more tags to avoid ack starvation
virtio-scsi: Fix hotcpu_notifier use-after-free with virtscsi_freeze
SCSI: bfa: Chinook quad port 16G FC HBA claim issue
usb: core: get config and string descriptors for unauthorized devices
hpfs: remember free space
ALSA: hda/hdmi - allow PIN_OUT to be dynamically enabled
ALSA: hda - hdmi: introduce patch_nvhdmi()
ALSA: hda - Don't set indep_hp flag for old AD codecs
KVM: PPC: e500: Fix bad address type in deliver_tlb_misss()
KVM: PPC: Book3S HV: use xics_wake_cpu only when defined
parisc: fix cache-flushing
alpha: fix broken network checksum
inet_diag: fix inet_diag_dump_icsk() timewait socket state logic
...Signed-off-by: Dan Murphy <DMurphy@ti.com>
-
The driver does not clear LCD_V2_TFT_24BPP_MODE and
LCD_V2_TFT_24BPP_UNPACK bits properly, when those features are not in
use. This cases RGB565 and packed RGB24 to fail.So clear the bits.
Signed-off-by: Tomi Valkeinen
Signed-off-by: Darren Etheridge -
On resume the screen contents were not being restored properly. Looking at
other DRM drivers it seems a call to drm_helper_resume_force_mode() is needed
in the resume handler to force restoration of the mode and framebuffer data.Signed-off-by: Darren Etheridge
-
A call to pm_set_vt_switch() is added to driver initialization to
allow the device to go into suspend without the need for VT interaction
(entering ctrl-c on the console).Signed-off-by: Darren Etheridge
-
Fix error introduced by commit
c1e9c32b2832bb636a9a2164300f85056d36d679 during build when
CONFIG_DRM_TILCDC=y is selected:drivers/gpu/drm/tilcdc/tilcdc_drv.c: In function ‘tilcdc_pm_suspend’:
drivers/gpu/drm/tilcdc/tilcdc_drv.c:546:36: error: ‘struct device’ has
no member named ‘dev’Signed-off-by: Dave Gerlach
Signed-off-by: Darren Etheridge -
commit ee291e63293146db64668e8d65eb35c97e8324f4 upstream.
When creating network portals rapidly, such as when restoring a
configuration, LIO's code to reuse existing portals can return a false
negative if the thread hasn't run yet and set np_thread_state to
ISCSI_NP_THREAD_ACTIVE. This causes an error in the network stack
when attempting to bind to the same address/port.This patch sets NP_THREAD_ACTIVE before the np is placed on g_np_list,
so even if the thread hasn't run yet, iscsit_get_np will return the
existing np.Also, convert np_lock -> np_mutex + hold across adding new net portal
to g_np_list to prevent a race where two threads may attempt to create
the same network portal, resulting in one of them failing.(nab: Add missing mutex_unlocks in iscsit_add_np failure paths)
(DanC: Fix incorrect spin_unlock -> spin_unlock_bh)Signed-off-by: Andy Grover
Signed-off-by: Nicholas Bellinger
Signed-off-by: Greg Kroah-Hartman -
commit 4a4caa29f1abcb14377e05d57c0793d338fb945d upstream.
This patch addresses an traditional iscsi-target fabric ack starvation
issue where iscsit_allocate_cmd() -> percpu_ida_alloc_state() ends up
hitting slow path percpu-ida code, because iscsit_ack_from_expstatsn()
is expected to free ack'ed tags after tag allocation.This is done to take into account the tags waiting to be acknowledged
and released in iscsit_ack_from_expstatsn(), but who's number are not
directly limited by the CmdSN Window queue_depth being enforced by
the target.So that said, this patch bumps up the pre-allocated number of
per session tags to:(max(queue_depth, ISCSIT_MIN_TAGS) * 2) + ISCSIT_EXTRA_TAGS
for good measure to avoid the percpu_ida_alloc_state() slow path.
Signed-off-by: Nicholas Bellinger
Signed-off-by: Greg Kroah-Hartman -
commit f466f75385369a181409e46da272db3de6f5c5cb upstream.
vqs are freed in virtscsi_freeze but the hotcpu_notifier is not
unregistered. We will have a use-after-free usage when the notifier
callback is called after virtscsi_freeze.Fixes: 285e71ea6f3583a85e27cb2b9a7d8c35d4c0d558
("virtio-scsi: reset virtqueue affinity when doing cpu hotplug")Signed-off-by: Asias He
Reviewed-by: Paolo Bonzini
Signed-off-by: Jason Wang
Signed-off-by: Rusty Russell
Signed-off-by: Greg Kroah-Hartman -
commit dcaf9aed995c2b2a49fb86bbbcfa2f92c797ab5d upstream.
Bfa driver crash is observed while pushing the firmware on to chinook
quad port card due to uninitialized bfi_image_ct2 access which gets
initialized only for CT2 ASIC based cards after request_firmware().
For quard port chinook (CT2 ASIC based), bfi_image_ct2 is not getting
initialized as there is no check for chinook PCI device ID before
request_firmware and instead bfi_image_cb is initialized as it is the
default case for card type check.This patch includes changes to read the right firmware for quad port chinook.
Signed-off-by: Vijaya Mohan Guvva
Signed-off-by: James Bottomley
Signed-off-by: Greg Kroah-Hartman -
commit 83e83ecb79a8225e79bc8e54e9aff3e0e27658a2 upstream.
There is no need to skip querying the config and string descriptors for
unauthorized WUSB devices when usb_new_device is called. It is allowed
by WUSB spec. The only action that needs to be delayed until
authorization time is the set config. This change allows user mode
tools to see the config and string descriptors earlier in enumeration
which is needed for some WUSB devices to function properly on Android
systems. It also reduces the amount of divergent code paths needed
for WUSB devices.Signed-off-by: Thomas Pugliese
Signed-off-by: Greg Kroah-Hartman -
[ Upstream commit cefe0078eea52af17411eb1248946a94afb84ca5 ]
This patch removes grant transfer releasing code from netfront, and uses
gnttab_end_foreign_access to end grant access since
gnttab_end_foreign_access_ref may fail when the grant entry is
currently used for reading or writing.* clean up grant transfer code kept from old netfront(2.6.18) which grants
pages for access/map and transfer. But grant transfer is deprecated in current
netfront, so remove corresponding release code for transfer.* fix resource leak, release grant access (through gnttab_end_foreign_access)
and skb for tx/rx path, use get_page to ensure page is released when grant
access is completed successfully.Xen-blkfront/xen-tpmfront/xen-pcifront also have similar issue, but patches
for them will be created separately.V6: Correct subject line and commit message.
V5: Remove unecessary change in xennet_end_access.
V4: Revert put_page in gnttab_end_foreign_access, and keep netfront change in
single patch.V3: Changes as suggestion from David Vrabel, ensure pages are not freed untill
grant acess is ended.V2: Improve patch comments.
Signed-off-by: Annie Li
Signed-off-by: David S. Miller
Signed-off-by: Greg Kroah-Hartman -
[ Upstream commit d0bc65557ad09a57b4db176e9e3ccddb26971453 ]
Make sure the practice set by commit 0afb166 "vxlan: Add capability
of Rx checksum offload for inner packet" is applied when the skb
goes through the portion of the RX code which is shared between
vxlan netdevices and ovs vxlan port instances.Cc: Joseph Gasparakis
Cc: Pravin B Shelar
Signed-off-by: Or Gerlitz
Signed-off-by: David S. Miller
Signed-off-by: Greg Kroah-Hartman -
[ Upstream commit a926592f5e4e900f3fa903298c4619a131e60963 ]
rhine_reset_task() misses to disable the tx scheduler upon reset,
this can lead to a crash if work is still scheduled while we're resetting
the tx queue.Fixes:
[ 93.591707] BUG: unable to handle kernel NULL pointer dereference at 0000004c
[ 93.595514] IP: [] rhine_napipoll+0x491/0x6Signed-off-by: Richard Weinberger
Signed-off-by: David S. Miller
Signed-off-by: Greg Kroah-Hartman -
[ Upstream commit fdc3452cd2c7b2bfe0f378f92123f4f9a98fa2bd ]
Commit 60e453a940ac ("USBNET: fix handling padding packet")
added an extra SG entry in case padding is necessary, but
failed to update the initialisation of the list. This can
cause list traversal to fall off the end of the list,
resulting in an oops.Fixes: 60e453a940ac ("USBNET: fix handling padding packet")
Reported-by: Thomas Kear
Cc: Ming Lei
Signed-off-by: Bjørn Mork
Tested-by: Ming Lei
Signed-off-by: David S. Miller
Signed-off-by: Greg Kroah-Hartman -
[ Upstream commit 95e92fd40c967c363ad66b2fd1ce4dcd68132e54 ]
bnx2x triggers warnings with CONFIG_DMA_API_DEBUG=y:
WARNING: CPU: 0 PID: 2253 at lib/dma-debug.c:887 check_unmap+0xf8/0x920()
bnx2x 0000:28:00.0: DMA-API: device driver frees DMA memory with
different size [device address=0x00000000da2b389e] [map size=1490 bytes]
[unmap size=66 bytes]The reason is that bnx2x splits a TSO BD into two BDs (headers + data)
using one DMA mapping for both, but it uses only the length of the first
BD when unmapping.This patch fixes the bug by unmapping the whole length of the two BDs.
Signed-off-by: Michal Schmidt
Reviewed-by: Eric Dumazet
Acked-by: Dmitry Kravkov
Signed-off-by: David S. Miller
Signed-off-by: Greg Kroah-Hartman -
commit 032f708bc4f6da868ec49dac48ddf3670d8035d3 upstream.
The locations of SMBus register base address and enablement bit are changed
from AMD ML, which need this patch to be supported.Signed-off-by: Shane Huang
Reviewed-by: Jean Delvare
Signed-off-by: Wolfram Sang
Signed-off-by: Greg Kroah-Hartman -
commit 6cf70ae928bae17077efc0d528dec49bc380438b upstream.
The first variants of Armada XP SoCs (A0 stepping) have issues related
to the i2c controller which prevent to use the offload mechanism and
lead to a kernel hang during boot.The commit introduces a new the compatible string
marvell,mv78230-a0-i2c for the i2c controller. When this compatible
string is used the driver disables the offload mechanism and the
kernel no more hangs on these SoCs.Signed-off-by: Gregory CLEMENT
Reported-by: Andrew Lunn
Acked-by: Wolfram Sang
Acked-by: Arnd Bergmann
Fixes: 930ab3d403ae (i2c: mv64xxx: Add I2C Transaction Generator support)
Signed-off-by: Jason Cooper
Signed-off-by: Greg Kroah-Hartman -
commit b0ad4ff35d479a46a3b995a299db9aeb097acfce upstream.
The DriveGuard chips on the new HP laptops are with a new PnP ID
"HPQ6007". It should be compatible with older chips.Acked-by: Éric Piel
Signed-off-by: Takashi Iwai
Signed-off-by: Matthew Garrett
Signed-off-by: Greg Kroah-Hartman -
commit da4a04126baa3be03bc566d4a2ee0944c5e783d0 upstream.
Dan and Sergey reported that there is a racy between reset and flushing
of pending work so that it could make oops by freeing zram->meta in
reset while zram_slot_free can access zram->meta if new request is
adding during the race window.This patch moves flush after taking init_lock so it prevents new request
so that it closes the race.Signed-off-by: Minchan Kim
Reported-by: Dan Carpenter
Cc: Nitin Gupta
Cc: Jerome Marchand
Tested-by: Sergey Senozhatsky
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
Signed-off-by: Greg Kroah-Hartman -
commit ef71ec00002d92a08eb27e9d036e3d48835b6597 upstream.
The code that handles overlapping extents that we've just read back in from disk
was depending on the behaviour of the code that handles overlapping extents as
we're inserting into a btree node in the case of an insert that forced an
existing extent to be split: on insert, if we had to split we'd also insert a
new extent to represent the top part of the old extent - and then that new
extent would get written out.The code that read the extents back in thus not bother with splitting extents -
if it saw an extent that ovelapped in the middle of an older extent, it would
trim the old extent to only represent the bottom part, assuming that the
original insert would've inserted a new extent to represent the top part.I still haven't figured out _how_ it can happen, but I'm now pretty convinced
(and testing has confirmed) that there's some kind of an obscure corner case
(probably involving extent merging, and multiple overwrites in different sets)
that breaks this. The fix is to change the mergesort fixup code to split extents
itself when required.Signed-off-by: Kent Overstreet
Signed-off-by: Greg Kroah-Hartman