aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-03-15MAINTAINERS: add entry for USB OTG FSMPeter Chen1-0/+7
Add MAINTAINER entry for USB OTG Finite State Machine Cc: Felipe Balbi <[email protected]> Signed-off-by: Peter Chen <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-15usb: chipidea: otg: add a_alt_hnp_support response for B deviceLi Jun1-0/+11
This patch adds response to a_alt_hnp_support set feature request from legacy A device, that is, B-device can provide a message to the user indicating that the user needs to connect the B-device to an alternate port on the A-device. A device sets this feature indicates to the B-device that it is connected to an A-device port that is not capable of HNP, but that the A-device does have an alternate port that is capable of HNP. [Peter] Without this patch, the OTG B device can't be enumerated on non-HNP port at A device, see below log: [ 2.287464] usb 1-1: Dual-Role OTG device on non-HNP port [ 2.293105] usb 1-1: can't set HNP mode: -32 [ 2.417422] usb 1-1: new high-speed USB device number 4 using ci_hdrc [ 2.460635] usb 1-1: Dual-Role OTG device on non-HNP port [ 2.466424] usb 1-1: can't set HNP mode: -32 [ 2.587464] usb 1-1: new high-speed USB device number 5 using ci_hdrc [ 2.630649] usb 1-1: Dual-Role OTG device on non-HNP port [ 2.636436] usb 1-1: can't set HNP mode: -32 [ 2.641003] usb usb1-port1: unable to enumerate USB device Cc: stable <[email protected]> Acked-by: Peter Chen <[email protected]> Signed-off-by: Li Jun <[email protected]> Signed-off-by: Peter Chen <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-03-15Merge tag 'for-4.0-rc' of ↵Greg Kroah-Hartman17-66/+45
git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into usb-linus Kishon writes: contains fixes all over drivers/phy and includes the following *) Using phy_get_drvdata instead of dev_get_drvdata in armada375-usb2.c *) Fixes w.r.t checking return values in regmap APIs, protecting regmap ops with spin lock and directly using regmap_update_bits instead of having a separate function to do the same in the various PHYs used in exynos. *) check return value in platform_get_resource of hix5hd2-sata PHY *) Removed NULL terminating entry from phys array and fix off-by-one valid value checking for args->args[0] in of_xlate of exynos USB PHY. *) Fixup rockchip_usb_phy_power_on failure path *) Fix devm_phy_match to find the correct match in phy core and also fix to return the correct value from PHY APIs if PM runtime is not enabled. *) Removed redundant code in twl4030 and xgene *) Fixed sizeof during memory allocation in miphy PHYs *) simplify ti_pipe3_dpll_wait_lock implementation, fix missing clk_prepare when using old dt name and nit pick in MOUDLE_ALIAS in TI PHYs.
2015-03-15Merge branch 'irqchip/urgent-gic' into irqchip/urgentJason Cooper4-38/+146
2015-03-14bridge: reset bridge mtu after deleting an interfaceVenkat Venkatsubra1-0/+2
On adding an interface br_add_if() sets the MTU to the min of all the interfaces. Do the same thing on removing an interface too in br_del_if. Signed-off-by: Venkat Venkatsubra <[email protected]> Acked-by: Roopa Prabhu <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-03-14Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds10-110/+155
Pull drm fixes from Dave Airlie: "Misc i915, vmwgfx and radeon fixes along with a fix for one of those recursive sleep mutex debug cases in the mst code" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/vmwgfx: Fix an issue with the device losing its irq line on module unload drm/vmwgfx: Correctly NULLify dma buffer pointer on failure drm/vmwgfx: Reorder device takedown somewhat drm/vmwgfx: Fix a couple of lock dependency violations drm/radeon: drop setting UPLL to sleep mode drm/radeon: fix wait to actually occur after the signaling callback drm/i915: Prevent TLB error on first execution on SNB drm/i915: Do both mt and gen6 style forcewake reset on ivb probe drm/i915: Make WAIT_IOCTL negative timeouts be indefinite again drm/i915: use in_interrupt() not in_irq() to check context drm/mst: fix recursive sleep warning on qlock drm: Don't assign fbs for universal cursor support to files
2015-03-14Merge tag 'scsi-fixes' of ↵Linus Torvalds1-2/+4
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fix from James Bottomley: "This is a simple fix for a domain revalidation crash which has recently turned up in the libsas code (applies to mvsas, isc and aic94xx)" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: libsas: Fix Kernel Crash in smp_execute_task
2015-03-14Merge tag 'linux-can-fixes-for-4.0-20150314' of ↵David S. Miller2-33/+52
git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can Marc Kleine-Budde says: ==================== Hello David, this is a pull request for net/master, consisting of two patches: In the first patch Michal Simek enables the xilinx CAN driver for ARM64. The second patch by Ahmed S. Darwish fixes a race condition in the tx-queue of the kvaser_usb driver. ==================== Signed-off-by: David S. Miller <[email protected]>
2015-03-14Merge tag 'locks-v4.0-4' of git://git.samba.org/jlayton/linuxLinus Torvalds1-1/+1
Pull file locking bugfix from Jeff Layton: "Just a small fix for a potential problem in one of the lease tracepoints" * tag 'locks-v4.0-4' of git://git.samba.org/jlayton/linux: locks: fix generic_delete_lease tracepoint to use victim pointer
2015-03-14Merge tag 'vfio-v4.0-rc4' of git://github.com/awilliam/linux-vfioLinus Torvalds1-0/+2
Pull VFIO fix from Alex Williamson: "Add missing break to avoid clobbering ioctl (Alexey Kardashevskiy)" * tag 'vfio-v4.0-rc4' of git://github.com/awilliam/linux-vfio: vfio-pci: Add missing break to enable VFIO_PCI_ERR_IRQ_INDEX
2015-03-14Merge tag 'arm64-fixes' of ↵Linus Torvalds5-1/+34
git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 fixes from Catalin Marinas: - add TLB invalidation for page table tear-down which was missed when support for CONFIG_HAVE_RCU_TABLE_FREE was added (assuming page table freeing was always deferred) - use UEFI for system and reset poweroff if available - fix asm label placement in relation to the alignment statement * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: put __boot_cpu_mode label after alignment instead of before efi/arm64: use UEFI for system reset and poweroff arm64: Invalidate the TLB corresponding to intermediate page table levels
2015-03-14Merge tag 'linux-kselftest-4.0-rc4' of ↵Linus Torvalds1-1/+9
git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest Pull Kselftest fix from Shuah Khan: "selftests/exec: Check if the syscall exists and bail if not" * tag 'linux-kselftest-4.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: selftests/exec: Check if the syscall exists and bail if not
2015-03-14locks: fix generic_delete_lease tracepoint to use victim pointerJeff Layton1-1/+1
It's possible that "fl" won't point at a valid lock at this point, so use "victim" instead which is either a valid lock or NULL. Signed-off-by: Jeff Layton <[email protected]>
2015-03-14arm/arm64: KVM: Keep elrsr/aisr in sync with software modelChristoffer Dall4-0/+33
There is an interesting bug in the vgic code, which manifests itself when the KVM run loop has a signal pending or needs a vmid generation rollover after having disabled interrupts but before actually switching to the guest. In this case, we flush the vgic as usual, but we sync back the vgic state and exit to userspace before entering the guest. The consequence is that we will be syncing the list registers back to the software model using the GICH_ELRSR and GICH_EISR from the last execution of the guest, potentially overwriting a list register containing an interrupt. This showed up during migration testing where we would capture a state where the VM has masked the arch timer but there were no interrupts, resulting in a hung test. Cc: Marc Zyngier <[email protected]> Reported-by: Alex Bennee <[email protected]> Signed-off-by: Christoffer Dall <[email protected]> Signed-off-by: Alex Bennée <[email protected]> Acked-by: Marc Zyngier <[email protected]> Signed-off-by: Christoffer Dall <[email protected]>
2015-03-14arm64: put __boot_cpu_mode label after alignment instead of beforeArd Biesheuvel1-1/+1
Another one for the big head.S spring cleaning: the label should be after the .align or it may point to the padding. Signed-off-by: Ard Biesheuvel <[email protected]> Signed-off-by: Catalin Marinas <[email protected]>
2015-03-14efi/arm64: use UEFI for system reset and poweroffArd Biesheuvel2-0/+17
If UEFI Runtime Services are available, they are preferred over direct PSCI calls or other methods to reset the system. For the reset case, we need to hook into machine_restart(), as the arm_pm_restart function pointer may be overwritten by modules. Tested-by: Mark Rutland <[email protected]> Reviewed-by: Mark Rutland <[email protected]> Reviewed-by: Matt Fleming <[email protected]> Signed-off-by: Ard Biesheuvel <[email protected]> Signed-off-by: Catalin Marinas <[email protected]>
2015-03-14arm64: Invalidate the TLB corresponding to intermediate page table levelsCatalin Marinas2-0/+16
The ARM architecture allows the caching of intermediate page table levels and page table freeing requires a sequence like: pmd_clear() TLB invalidation pte page freeing With commit 5e5f6dc10546 (arm64: mm: enable HAVE_RCU_TABLE_FREE logic), the page table freeing batching was moved from tlb_remove_page() to tlb_remove_table(). The former takes care of TLB invalidation as this is also shared with pte clearing and page cache page freeing. The latter, however, does not invalidate the TLBs for intermediate page table levels as it probably relies on the architecture code to do it if required. When the mm->mm_users < 2, tlb_remove_table() does not do any batching and page table pages are freed before tlb_finish_mmu() which performs the actual TLB invalidation. This patch introduces __tlb_flush_pgtable() for arm64 and calls it from the {pte,pmd,pud}_free_tlb() directly without relying on deferred page table freeing. Fixes: 5e5f6dc10546 arm64: mm: enable HAVE_RCU_TABLE_FREE logic Reported-by: Jon Masters <[email protected]> Tested-by: Jon Masters <[email protected]> Tested-by: Steve Capper <[email protected]> Signed-off-by: Catalin Marinas <[email protected]>
2015-03-14Merge tag 'fixes-for-v4.0-rc3' of ↵Greg Kroah-Hartman9-536/+40
git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus Felipe writes: usb: fixes for v4.0-rc3 Revert interrupt endpoint support from g_zero as it regresses musb. A possible deadlock in isp1760 udc irq has been fixed. A fix to dwc2 for disconnect IRQ handling. We also have a new device ID for isp1760. Signed-off-by: Felipe Balbi <[email protected]>
2015-03-14can: kvaser_usb: Fix tx queue start/stop race conditionsAhmed S. Darwish1-32/+51
A number of tx queue wake-up events went missing due to the outlined scenario below. Start state is a pool of 16 tx URBs, active tx_urbs count = 15, with the netdev tx queue open. CPU #1 [softirq] CPU #2 [softirq] start_xmit() tx_acknowledge() ................ ................ atomic_inc(&tx_urbs); if (atomic_read(&tx_urbs) >= 16) { --> atomic_dec(&tx_urbs); netif_wake_queue(); return; <-- netif_stop_queue(); } At the end, the correct state expected is a 15 tx_urbs count value with the tx queue state _open_. Due to the race, we get the same tx_urbs value but with the tx queue state _stopped_. The wake-up event is completely lost. Thus avoid hand-rolled concurrency mechanisms and use a proper lock for contexts and tx queue protection. Signed-off-by: Ahmed S. Darwish <[email protected]> Cc: linux-stable <[email protected]> Signed-off-by: Marc Kleine-Budde <[email protected]>
2015-03-14net: can: Enable xilinx driver for ARM64Michal Simek1-1/+1
Enable the xilinx driver for ARM64. Signed-off-by: Michal Simek <[email protected]> Acked-by: Sören Brinkmann <[email protected]> Signed-off-by: Marc Kleine-Budde <[email protected]>
2015-03-13powercap / RAPL: handle domains with different energy unitsJacob Pan1-15/+39
The current driver assumes all RAPL domains within a CPU package have the same energy unit. This is no longer true for HSW server CPUs since DRAM domain has is own fixed energy unit which can be different than the package energy unit enumerated by package power MSR. In fact, the default HSW EP package power unit is 61uJ whereas DRAM domain unit is 15.3uJ. The result is that DRAM power consumption is counted 4x more than real power reported by energy counters, similarly for max_energy_range_uj of DRAM domain. This patch adds domain specific energy unit per cpu type, it allows domain energy unit to override package energy unit if non zero. Please see this document for details. "Intel Xeon Processor E5-1600 and E5-2600 v3 Product Families, Volume 2 of 2. Datasheet, September 2014, Reference Number: 330784-001 " Signed-off-by: Jacob Pan <[email protected]> Cc: 3.10+ <[email protected]> # 3.10+ Signed-off-by: Rafael J. Wysocki <[email protected]>
2015-03-13Merge tag 'pm+acpi-4.0-rc4' of ↵Linus Torvalds2-2/+5
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management and ACPI fixes from Rafael Wysocki: "Just two fixes, one for an ACPI LPSS driver issue introduced during the 3.17 cycle and one revert of a recent commit that sort of broke the cpupower tool. Specifics: - Fix an ACPI LPSS (Low-Power Subsystem) driver issue causing the 8250_dw driver to confuse an LPSS clock with another one it is supposed to handle due to the lack of identification allowing it to tell those clocks apart (Heikki Krogerus). - Revert a recent commit that was supposed to improve the usability of the cpupower tool, but clearly did the opposite (Josh Boyer)" * tag 'pm+acpi-4.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: Revert "cpupower Makefile change to help run the tool without 'make install'" ACPI / LPSS: provide con_id for the clkdev
2015-03-13Merge branch 'cpuidle/4.0-fixes' of ↵Rafael J. Wysocki1-6/+6
http://git.linaro.org/people/daniel.lezcano/linux into pm-cpuidle Pull ARM cpuidle fixes for v4.0 from Daniel Lezcano. * 'cpuidle/4.0-fixes' of http://git.linaro.org/people/daniel.lezcano/linux: cpuidle: mvebu: Update cpuidle thresholds for Armada XP SOCs cpuidle: mvebu: Fix the CPU PM notifier usage
2015-03-13MAINTAINERS: Add myself as co-maintainer to the legacy support of the mvebu SoCsGregory CLEMENT1-0/+1
I will also take care of the legacy support(not fully converted to DT) of the mvebu SoCs. Signed-off-by: Gregory CLEMENT <[email protected]> Acked-by: Andrew Lunn <[email protected]> Acked-by: Jason Cooper <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
2015-03-13Btrfs: fix ASSERT(list_empty(&cur_trans->dirty_bgs_list)Josef Bacik1-13/+18
Dave could hit this assert consistently running btrfs/078. This is because when we update the block groups we could truncate the free space, which would try to delete the csums for that range and dirty the csum root. For this to happen we have to have already written out the csum root so it's kind of hard to hit this case. This patch fixes this by changing the logic to only write the dirty block groups if the dirty_cowonly_roots list is empty. This will get us the same effect as before since we add the extent root last, and will cover the case that we dirty some other root again but not the extent root. Thanks, Reported-by: David Sterba <[email protected]> Signed-off-by: Josef Bacik <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2015-03-13Btrfs: account for the correct number of extents for delalloc reservationsJosef Bacik1-1/+5
Direct IO can easily pass in an buffer that is greater than BTRFS_MAX_EXTENT_SIZE, so take this into account when reserving extents in the delalloc reservation code. Thanks, Signed-off-by: Josef Bacik <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2015-03-13Btrfs: fix merge delalloc logicJosef Bacik1-1/+6
My patch to properly count outstanding extents wrt MAX_EXTENT_SIZE introduced a regression when re-dirtying already dirty areas. We have logic in split to make sure we are taking the largest space into account but didn't have it for merge, so it was sometimes making us think we were turning a tiny extent into a huge extent, when in reality we already had a huge extent and needed to use the other side in our logic. This fixes the regression that was reported by a user on list. Thanks, Reported-by: Markus Trippelsdorf <[email protected]> Signed-off-by: Josef Bacik <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2015-03-13Btrfs: fix comp_oper to get right orderLiu Bo1-1/+1
Case (oper1->seq > oper2->seq) should differ with case (oper1->seq < oper2->seq). Signed-off-by: Liu Bo <[email protected]> Reviewed-by: David Sterba <[email protected]> Reviewed-by: Filipe Manana <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2015-03-13Merge branch 'pm-tools'Rafael J. Wysocki1-1/+1
* pm-tools: Revert "cpupower Makefile change to help run the tool without 'make install'"
2015-03-13Btrfs: catch transaction abortion after waiting for itLiu Bo1-0/+3
This problem is uncovered by a test case: http://patchwork.ozlabs.org/patch/244297. Fsync() can report success when it actually doesn't. When we have several threads running fsync() at the same tiem and in one fsync() we get a transaction abortion due to some problems(in the test case it's disk failures), and other fsync()s may return successfully which makes userspace programs think that data is now safely flushed into disk. It's because that after fsyncs() fail btrfs_sync_log() due to disk failures, they get to try btrfs_commit_transaction() where it finds that there is already a transaction being committed, and they'll just call wait_for_commit() and return. Note that we actually check "trans->aborted" in btrfs_end_transaction, but it's likely that the error message is still not yet throwed out and only after wait_for_commit() we're sure whether the transaction is committed successfully. This add the necessary check and it now passes the test. Signed-off-by: Liu Bo <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2015-03-13btrfs: fix sizeof format specifier in btrfs_check_super_valid()Fabian Frederick1-1/+1
This patch fixes mips compilation warning: fs/btrfs/disk-io.c: In function 'btrfs_check_super_valid': fs/btrfs/disk-io.c:3927:21: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'unsigned int' [-Wformat] Signed-off-by: Fabian Frederick <[email protected]> Acked-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2015-03-13Merge tag 'stable/for-linus-4.0-rc3-tag' of ↵Linus Torvalds6-23/+66
git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull xen bug fixes from David Vrabel: - fix a PV regression in 3.19. - fix a dom0 crash on hosts with large numbers of PIRQs. - prevent pcifront from disabling memory or I/O port access, which may trigger host crashes. * tag 'stable/for-linus-4.0-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: xen-pciback: limit guest control of command register xen/events: avoid NULL pointer dereference in dom0 on large machines xen: Remove trailing semicolon from xenbus_register_frontend() definition x86/xen: correct bug in p2m list initialization
2015-03-13Merge tag 'sound-4.0-rc4' of ↵Linus Torvalds9-22/+82
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "This is a round of HD-audio fixes: there are a long-standing regression fix and a few more device/codec-specific quirks. In addition, a couple of FireWire regression fixes, a USB-audio quirk for Roland UA-22 and a sanity check in API for user-defined control elements" * tag 'sound-4.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda - Don't access stereo amps for mono channel widgets ALSA: hda - Add workaround for MacBook Air 5,2 built-in mic ALSA: hda - Set single_adc_amp flag for CS420x codecs ALSA: snd-usb: add quirks for Roland UA-22 ALSA: control: Add sanity checks for user ctl id name string ALSA: hda - Fix built-in mic on Compaq Presario CQ60 ALSA: firewire-lib: leave unit reference counting completely Revert "ALSA: dice: fix wrong offsets for Dice interface" ALSA: hda - Fix regression of HD-audio controller fallback modes
2015-03-13inet_diag: fix possible overflow in inet_diag_dump_one_icsk()Eric Dumazet1-3/+15
inet_diag_dump_one_icsk() allocates too small skb. Add inet_sk_attr_size() helper right before inet_sk_diag_fill() so that it can be updated if/when new attributes are added. iproute2/ss currently does not use this dump_one() interface, this might explain nobody noticed this problem yet. Signed-off-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-03-13Merge tag 'devicetree-fixes-for-4.0' of ↵Linus Torvalds9-22/+65
git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull DeviceTree fixes from Rob Herring: - fix for stdout-path option parsing with added unittest - fix for stdout-path interaction with earlycon - several DT unittest fixes - fix Sparc allmodconfig build error on of_platform_register_reconfig_notifier - several DT overlay kconfig and build warning fixes - several DT binding documentation updates * tag 'devicetree-fixes-for-4.0' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: of/platform: Fix sparc:allmodconfig build of: unittest: Add options string testcase variants of: fix handling of '/' in options for of_find_node_by_path() of/unittest: Fix the wrong expected value in of_selftest_property_string of/unittest: remove the duplicate of_changeset_init dt: submitting-patches: clarify that DT maintainers are to be cced on bindings of: unittest: fix I2C dependency of/overlay: Remove unused variable Documentation: DT: Renamed of-serial.txt to 8250.txt of: Fix premature bootconsole disable with 'stdout-path' serial: add device tree binding documentation for ETRAX FS UART of/overlay: Directly include idr.h of: Drop superfluous dependance for OF_OVERLAY of: Add vendor prefix for Arasan of: Add prompt for OF_OVERLAY config
2015-03-13Merge branch 'gadget' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfsLinus Torvalds6-400/+291
Pull gadgetfs fixes from Al Viro: "Assorted fixes around AIO on gadgetfs: leaks, use-after-free, troubles caused by ->f_op flipping" * 'gadget' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: gadgetfs: really get rid of switching ->f_op gadgetfs: get rid of flipping ->f_op in ep_config() gadget: switch ep_io_operations to ->read_iter/->write_iter gadgetfs: use-after-free in ->aio_read() gadget/function/f_fs.c: switch to ->{read,write}_iter() gadget/function/f_fs.c: use put iov_iter into io_data gadget/function/f_fs.c: close leaks move iov_iter.c from mm/ to lib/ new helper: dup_iter()
2015-03-13cpuidle: mvebu: Update cpuidle thresholds for Armada XP SOCsSebastien Rannou1-4/+4
Originally, the thresholds used in the cpuidle driver for Armada SOCs were temporarily chosen, leaving room for improvements. This commit updates the thresholds for the Armada XP SOCs with values that positively impact performances: without patch with patch vendor kernel - iperf localhost (gbit/sec) ~3.7 ~6.4 ~5.4 - ioping tmpfs (iops) ~163k ~206k ~179k - ioping tmpfs (mib/s) ~636 ~805 ~699 The idle power consumption is negatively impacted (proportionally less than the performance gain), and we are still performing better than the vendor kernel here: without patch with patch vendor kernel - power consumption idle (W) ~2.4 ~3.2 ~4.4 - power consumption busy (W) ~8.6 ~8.3 ~8.6 There is still room for improvement regarding the value of these thresholds, they were chosen to mimic the vendor kernel. This patch only impacts Armada XP SOCs and was tested on Online Labs C1 boards. A similar approach can be taken to improve the performances of the Armada 370 and Armada 38x SOCs. Thanks a lot to Thomas Petazzoni, Gregory Clement and Willy Tarreau for the discussions and tips around this topic. Signed-off-by: Sebastien Rannou <[email protected]> Signed-off-by: Daniel Lezcano <[email protected]> Acked-by: Gregory CLEMENT <[email protected]>
2015-03-13cpuidle: mvebu: Fix the CPU PM notifier usageGregory CLEMENT1-2/+2
As stated in kernel/cpu_pm.c, "Platform is responsible for ensuring that cpu_pm_enter is not called twice on the same CPU before cpu_pm_exit is called.". In the current code in case of failure when calling mvebu_v7_cpu_suspend, the function cpu_pm_exit() is never called whereas cpu_pm_enter() was called just before. This patch moves the cpu_pm_exit() in order to balance the cpu_pm_enter() calls. Cc: [email protected] Reported-by: Fulvio Benini <[email protected]> Signed-off-by: Gregory CLEMENT <[email protected]> Signed-off-by: Daniel Lezcano <[email protected]>
2015-03-13Revert "net: fec: fix the warning found by dma debug"Fabio Estevam1-23/+11
This reverts commit 2b995f63987013bacde99168218f9c7b252bdcf1. Панов Андрей reported the following regression: "Commit 2b995f63987013bacde99168218f9c7b252bdcf1 in 4.0.0-rc3 introduces a nasty bug in transmit, corrupting packets. To reproduce: $ dd if=/dev/zero of=zeros bs=1M count=20 $ md5sum -b zeros 8f4e33f3dc3e414ff94e5fb6905cba8c *zeros This checksum is correct. Copy file "zeros" to another host with NFS, and it gets corrupted, checksum is changed. File should be big, small amounts of transmit isn't affected. I use an i.MX6 Quad board. If this commit is reverted, all works fine." Reported-by: Панов Андрей <[email protected]> Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-03-13vxlan: fix wrong usage of VXLAN_VID_MASKAlexey Kodanev2-2/+3
commit dfd8645ea1bd9127 wrongly assumes that VXLAN_VDI_MASK includes eight lower order reserved bits of VNI field that are using for remote checksum offload. Right now, when VNI number greater then 0xffff, vxlan_udp_encap_recv() will always return with 'bad_flag' error, reducing the usable vni range from 0..16777215 to 0..65535. Also, it doesn't really check whether RCO bits processed or not. Fix it by adding new VNI mask which has all 32 bits of VNI field: 24 bits for id and 8 bits for other usage. Signed-off-by: Alexey Kodanev <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-03-13tulip_core.c : out-of-bounds check.Ameen Ali1-1/+1
Array index 'j' is used before limits check. Suggest put limit check before index use. Signed-off-by : <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-03-13of/platform: Fix sparc:allmodconfig buildGuenter Roeck1-1/+1
sparc:allmodconfig fails to build with: drivers/built-in.o: In function `platform_bus_init': (.init.text+0x3684): undefined reference to `of_platform_register_reconfig_notifier' of_platform_register_reconfig_notifier is only declared if both OF_ADDRESS and OF_DYNAMIC are configured. Yet, the include file only declares a dummy function if OF_DYNAMIC is not configured. The sparc architecture does not configure OF_ADDRESS, but does configure OF_DYNAMIC, causing above error. Fixes: 801d728c10db ("of/reconfig: Add OF_DYNAMIC notifier for platform_bus_type") Cc: Pantelis Antoniou <[email protected]> Signed-off-by: Guenter Roeck <[email protected]> Signed-off-by: Rob Herring <[email protected]>
2015-03-13KVM: VMX: Set msr bitmap correctly if vcpu is in guest modeWincy Van1-4/+7
In commit 3af18d9c5fe9 ("KVM: nVMX: Prepare for using hardware MSR bitmap"), we are setting MSR_BITMAP in prepare_vmcs02 if we should use hardware. This is not enough since the field will be modified by following vmx_set_efer. Fix this by setting vmx_msr_bitmap_nested in vmx_set_msr_bitmap if vcpu is in guest mode. Signed-off-by: Wincy Van <[email protected]> Signed-off-by: Marcelo Tosatti <[email protected]>
2015-03-13phy: omap-usb2: Fix missing clk_prepare call when using old dt nameAxel Lin1-2/+3
Current code does not call clk_prepare(phy->optclk) when using the old usb_otg_ss_refclk960m name. Fix it. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Kishon Vijay Abraham I <[email protected]>
2015-03-13phy: ti/omap: Fix modaliasAxel Lin3-3/+3
Remove extra space in MODULE_ALIAS. Signed-off-by: Axel Lin <[email protected]> Acked-by: Roger Quadros <[email protected]> Signed-off-by: Kishon Vijay Abraham I <[email protected]>
2015-03-13phy: core: Fixup return value of phy_exit when !pm_runtime_enabledAxel Lin1-4/+3
When phy_pm_runtime_get_sync() returns -ENOTSUPP, phy_exit() also returns -ENOTSUPP if !phy->ops->exit. Fix it. Also move the code to override ret close to the code we got ret. I think it is less error prone this way. Signed-off-by: Axel Lin <[email protected]> Acked-by: Roger Quadros <[email protected]> Signed-off-by: Kishon Vijay Abraham I <[email protected]>
2015-03-13phy: miphy28lp: Convert to devm_kcalloc and fix wrong sizofAxel Lin1-3/+2
Prefer devm_kcalloc over devm_kzalloc with multiply. In additional, use sizeof(phy) is incorrect, fix it. Signed-off-by: Axel Lin <[email protected]> Acked-by: Gabriel Fernandez<[email protected]> Signed-off-by: Kishon Vijay Abraham I <[email protected]>
2015-03-13phy: miphy365x: Convert to devm_kcalloc and fix wrong sizeofAxel Lin1-3/+2
Prefer devm_kcalloc over devm_kzalloc with multiply. In additional, use sizeof(phy) is incorrect, fix it. Signed-off-by: Axel Lin <[email protected]> Acked-by: Lee Jones <[email protected]> Signed-off-by: Kishon Vijay Abraham I <[email protected]>
2015-03-13phy: twl4030-usb: Remove redundant assignment for twl->linkstatAxel Lin1-1/+0
It's pointless to set twl->linkstat twice. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Kishon Vijay Abraham I <[email protected]>
2015-03-13phy: exynos5-usbdrd: Fix off-by-one valid value checking for args->args[0]Axel Lin1-1/+1
Current code uses args->args[0] as array subscript of phy_drd->phys[]. So the valid value range for args->args[0] is 0 ... EXYNOS5_DRDPHYS_NUM - 1. Signed-off-by: Axel Lin <[email protected]> Reviewed by: Vivek Gautam <[email protected]> Signed-off-by: Kishon Vijay Abraham I <[email protected]>