aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-05-08sched/core: Fix regression in cpuset_cpu_inactive() for suspendOmar Sandoval1-16/+12
Commit 3c18d447b3b3 ("sched/core: Check for available DL bandwidth in cpuset_cpu_inactive()"), a SCHED_DEADLINE bugfix, had a logic error that caused a regression in setting a CPU inactive during suspend. I ran into this when a program was failing pthread_setaffinity_np() with EINVAL after a suspend+wake up. A simple reproducer: $ ./a.out sched_setaffinity: Success $ systemctl suspend $ ./a.out sched_setaffinity: Invalid argument ... where ./a.out is: #define _GNU_SOURCE #include <errno.h> #include <sched.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> int main(void) { long num_cores; cpu_set_t cpu_set; int ret; num_cores = sysconf(_SC_NPROCESSORS_ONLN); CPU_ZERO(&cpu_set); CPU_SET(num_cores - 1, &cpu_set); errno = 0; ret = sched_setaffinity(getpid(), sizeof(cpu_set), &cpu_set); perror("sched_setaffinity"); return ret ? EXIT_FAILURE : EXIT_SUCCESS; } The mistake is that suspend is handled in the action == CPU_DOWN_PREPARE_FROZEN case of the switch statement in cpuset_cpu_inactive(). However, the commit in question masked out CPU_TASKS_FROZEN from the action, making this case dead. The fix is straightforward. Signed-off-by: Omar Sandoval <[email protected]> Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Juri Lelli <[email protected]> Cc: Thomas Gleixner <[email protected]> Fixes: 3c18d447b3b3 ("sched/core: Check for available DL bandwidth in cpuset_cpu_inactive()") Link: http://lkml.kernel.org/r/1cb5ecb3d6543c38cce5790387f336f54ec8e2bc.1430733960.git.osandov@osandov.com Signed-off-by: Ingo Molnar <[email protected]>
2015-05-08sched: Handle priority boosted tasks proper in setscheduler()Thomas Gleixner3-20/+25
Ronny reported that the following scenario is not handled correctly: T1 (prio = 10) lock(rtmutex); T2 (prio = 20) lock(rtmutex) boost T1 T1 (prio = 20) sys_set_scheduler(prio = 30) T1 prio = 30 .... sys_set_scheduler(prio = 10) T1 prio = 30 The last step is wrong as T1 should now be back at prio 20. Commit c365c292d059 ("sched: Consider pi boosting in setscheduler()") only handles the case where a boosted tasks tries to lower its priority. Fix it by taking the new effective priority into account for the decision whether a change of the priority is required. Reported-by: Ronny Meeus <[email protected]> Tested-by: Steven Rostedt <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Reviewed-by: Steven Rostedt <[email protected]> Cc: <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Mike Galbraith <[email protected]> Fixes: c365c292d059 ("sched: Consider pi boosting in setscheduler()") Link: http://lkml.kernel.org/r/alpine.DEB.2.11.1505051806060.4225@nanos Signed-off-by: Ingo Molnar <[email protected]>
2015-05-08md/raid5: fix handling of degraded stripes in batches.NeilBrown1-14/+3
There is no need for special handling of stripe-batches when the array is degraded. There may be if there is a failure in the batch, but STRIPE_DEGRADED does not imply an error. So don't set STRIPE_BATCH_ERR in ops_run_io just because the array is degraded. This actually causes a bug: the STRIPE_DEGRADED flag gets cleared in check_break_stripe_batch_list() and so the bitmap bit gets cleared when it shouldn't. So in check_break_stripe_batch_list(), split the batch up completely - again STRIPE_DEGRADED isn't meaningful. Also don't set STRIPE_BATCH_ERR when there is a write error to a replacement device. This simply removes the replacement device and requires no extra handling. Signed-off-by: NeilBrown <[email protected]>
2015-05-08md/raid5: fix allocation of 'scribble' array.NeilBrown1-22/+43
As the new 'scribble' array is sized based on chunk size, we need to make sure the size matches the largest of 'old' and 'new' chunk sizes when the array is undergoing reshape. We also potentially need to resize it even when not resizing the stripe cache, as chunk size can change without changing number of devices. So move the 'resize' code into a separate function, and consider old and new sizes when allocating. Signed-off-by: NeilBrown <[email protected]> Fixes: 46d5b785621a ("raid5: use flex_array for scribble data")
2015-05-08md/raid5: don't record new size if resize_stripes fails.NeilBrown1-1/+2
If any memory allocation in resize_stripes fails we will return -ENOMEM, but in some cases we update conf->pool_size anyway. This means that if we try again, the allocations will be assumed to be larger than they are, and badness results. So only update pool_size if there is no error. This bug was introduced in 2.6.17 and the patch is suitable for -stable. Fixes: ad01c9e3752f ("[PATCH] md: Allow stripes to be expanded in preparation for expanding an array") Cc: [email protected] (v2.6.17+) Signed-off-by: NeilBrown <[email protected]>
2015-05-08md/raid5: avoid reading parity blocks for full-stripe write to degraded arrayNeilBrown1-1/+3
When performing a reconstruct write, we need to read all blocks that are not being over-written .. except the parity (P and Q) blocks. The code currently reads these (as they are not being over-written!) unnecessarily. Signed-off-by: NeilBrown <[email protected]> Fixes: ea664c8245f3 ("md/raid5: need_this_block: tidy/fix last condition.")
2015-05-08md/raid5: more incorrect BUG_ON in handle_stripe_fill.NeilBrown1-1/+1
It is not incorrect to call handle_stripe_fill() when a batch of full-stripe writes is active. It is, however, a BUG if fetch_block() then decides it needs to actually fetch anything. So move the 'BUG_ON' to where it belongs. Signed-off-by: NeilBrown <[email protected]> Fixes: 59fc630b8b5f ("RAID5: batch adjacent full stripe write")
2015-05-08md/raid5: new alloc_stripe() to allocate an initialize a stripe.NeilBrown1-14/+18
The new batch_lock and batch_list fields are being initialized in grow_one_stripe() but not in resize_stripes(). This causes a crash on resize. So separate the core initialization into a new function and call it from both allocation sites. Signed-off-by: NeilBrown <[email protected]> Fixes: 59fc630b8b5f ("RAID5: batch adjacent full stripe write")
2015-05-08md-raid0: conditional mddev->queue access to suit dm-raidHeinz Mauelshagen1-2/+3
This patch is a prerequisite for dm-raid "raid0" support to allow dm-raid to access the MD RAID0 personality doing unconditional accesses to mddev->queue, which is NULL in case of dm-raid stacked on top of MD. Most of the conditional mddev->queue accesses made it to upstream but this missing one, which prohibits md raid0 to set disk stack limits (being done in dm core in case of md underneath dm). Signed-off-by: Heinz Mauelshagen <[email protected]> Tested-by: Heinz Mauelshagen <[email protected]> Signed-off-by: NeilBrown <[email protected]>
2015-05-08mmc: dw_mmc: dw_mci_get_cd check MMC_CAP_NONREMOVABLEZhangfei Gao1-1/+2
When non-removable is used for emmc, MMC_CAP_NONREMOVABLE should also be checked, otherwise detection fail since present=0 Signed-off-by: Zhangfei Gao <[email protected]> Signed-off-by: Jaehoon Chung <[email protected]> Signed-off-by: Ulf Hansson <[email protected]>
2015-05-08mmc: dw_mmc: init desc in dw_mci_idmac_initZhangfei Gao1-1/+3
Set 0 to des1 in 32bit case. Otherwise the random value of des1 will be used in dw_mci_translate_sglist: IDMAC_SET_BUFFER1_SIZE(desc, length) Signed-off-by: Fei Wang <[email protected]> Signed-off-by: Zhangfei Gao <[email protected]> Signed-off-by: Jaehoon Chung <[email protected]> Signed-off-by: Ulf Hansson <[email protected]>
2015-05-08staging: rtl8712: freeing an ERR_PTRDan Carpenter1-10/+7
If memdup_user() fails then "pparmbuf" is an error pointer and we can't pass it to kfree(). I changed the "goto _r871x_mp_ioctl_hdl_exit" to a direct return. I changed the earlier goto to a direct return as well for consistency and removed the "pparmbuf = NULL" initializer since it's no longer needed. Fixes: 45de432775d6 ('Staging: rtl8712: Use memdup_user() instead of copy_from_user()') Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-05-08staging: sm750: remove incorrect __exit annotationArnd Bergmann1-1/+1
The lynxfb_pci_remove function is used as the 'remove' callback of the driver, and must not be discarded: lynxfb_pci_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.exit.text' of drivers/built-in.o This removes the extraneous annotation. Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2015-05-07Merge tag 'pm+acpi-4.1-rc3' of ↵Linus Torvalds6-7/+51
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management and ACPI fixes from Rafael Wysocki: "These include three regression fixes (PCI resources management, ACPI/PNP device enumeration, ACPI SBS on MacBook) and two ACPI documentation fixes related to GPIO. Specifics: - Fix for a PCI resources management regression introduced during the 4.0 cycle and related to the handling of ACPI resources' Producer/Consumer flags that turn out to be useless (Jiang Liu) - Fix for a MacBook regression related to the Smart Battery Subsystem (SBS) driver causing various problems (stalls on boot, failure to detect or report battery) to happen and introduced during the 3.18 cycle (Chris Bainbridge) - Fix for an ACPI/PNP device enumeration regression introduced during the 3.16 cycle caused by failing to include two PNP device IDs into the list of IDs that PNP device objects need to be created for (Witold Szczeponik) - Fixes for two minor mistakes in the ACPI GPIO properties documentation (Antonio Ospite, Rafael J Wysocki)" * tag 'pm+acpi-4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: ACPI / PNP: add two IDs to list for PNPACPI device enumeration ACPI / documentation: Fix ambiguity in the GPIO properties document ACPI / documentation: fix a sentence about GPIO resources ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook x86/PCI/ACPI: Make all resources except [io 0xcf8-0xcff] available on PCI bus
2015-05-07iio: kfifo: Set update_needed to false only if a buffer was allocatedGabriele Mazzotta1-1/+2
Check whether the allocation of a new kfifo buffer failed or not before setting the update_needed flag to false. This will make iio_request_update_kfifo() try to allocate a new buffer the next time a buffer update is requested. Signed-off-by: Gabriele Mazzotta <[email protected]> Signed-off-by: Jonathan Cameron <[email protected]>
2015-05-07Merge branches 'acpi-resources', 'acpi-battery', 'acpi-doc' and 'acpi-pnp'Rafael J. Wysocki230-1649/+2700
* acpi-resources: x86/PCI/ACPI: Make all resources except [io 0xcf8-0xcff] available on PCI bus * acpi-battery: ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook * acpi-doc: ACPI / documentation: Fix ambiguity in the GPIO properties document ACPI / documentation: fix a sentence about GPIO resources * acpi-pnp: ACPI / PNP: add two IDs to list for PNPACPI device enumeration
2015-05-07ACPI / init: Fix the ordering of acpi_reserve_resources()Rafael J. Wysocki1-4/+2
Since acpi_reserve_resources() is defined as a device_initcall(), there's no guarantee that it will be executed in the right order with respect to the rest of the ACPI initialization code. On some systems this leads to breakage if, for example, the address range that should be reserved for the ACPI fixed registers is given to the PCI host bridge instead if the race is won by the wrong code path. Fix this by turning acpi_reserve_resources() into a void function and calling it directly from within the ACPI initialization sequence. Reported-and-tested-by: George McCollister <[email protected]> Link: http://marc.info/?t=143092384600002&r=1&w=2 Cc: All applicable <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2015-05-07Merge tag 'for-f2fs-4.1-rc3' of ↵Linus Torvalds4-5/+12
git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs Pull f2fs fixes from Jaegeuk Kim: "Fix a performance regression and a bug" * tag 'for-f2fs-4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: f2fs: fix wrong error hanlder in f2fs_follow_link Revert "f2fs: enhance multi-threads performance"
2015-05-07ARM: multi_v7_defconfig: Select more FSL SoCsFabio Estevam1-0/+3
Select IMX50, IMX6SX and LS1021A SoC support. Signed-off-by: Fabio Estevam <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
2015-05-07MAINTAINERS: replace an AT91 maintainerNicolas Ferre2-2/+8
As some help is needed from an active maintainer, replace Andrew Victor by Alexandre Belloni in the ARM/Atmel MAINTAINERS' entry (aka AT91). Add an entry to the CREDITS file. Thanks Andrew for the great role you played during the early days of this product family. Signed-off-by: Nicolas Ferre <[email protected]> Acked-by: Andrew Victor <[email protected]> Acked-by: Alexandre Belloni <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
2015-05-07drivers: CCI: fix used_mask init in validate_group()Mark Salter1-1/+1
Currently in validate_group(), there is a static initializer for fake_pmu.used_mask which is based on CPU_BITS_NONE but the used_mask array size is based on CCI_PMU_MAX_HW_EVENTS. CCI_PMU_MAX_HW_EVENTS is not based on NR_CPUS, so CPU_BITS_NONE is not correct and will cause a build failure if NR_CPUS is set high enough to make CPU_BITS_NONE larger than used_mask. Reviewed-by: Mark Rutland <[email protected]> Signed-off-by: Mark Salter <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
2015-05-07Merge tag 'stericsson-fixes-v4.1' of ↵Arnd Bergmann3-17/+28
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into fixes Merge "Ux500 fixes" from Linus Walleij: This fixes an MMC/SD configuration issue present for some time in the Ux500 DT but triggered by proper error handling in v4.1-rc1. * tag 'stericsson-fixes-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson: ARM: ux500: Enable GPIO regulator for SD-card for snowball ARM: ux500: Enable GPIO regulator for SD-card for HREF boards ARM: ux500: Move GPIO regulator for SD-card into board DTSs
2015-05-07Merge tag 'renesas-fixes-for-v4.1' of ↵Arnd Bergmann1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes Merge "Renesas ARM Based SoC Fixes for v4.1" from Simon Horman: * Fix adv7511 IRQ sensing on koelsch board * tag 'renesas-fixes-for-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: koelsch: Fix adv7511 IRQ sensing
2015-05-07Merge tag 'omap-for-v4.1/fixes-rc1' of ↵Arnd Bergmann16-32/+81
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes Merge "omap fixes against v4.1-rc1" from Tony Lindgren: Fixes for omaps, mostly a fix for power power consumption creeping up during idle, and two l3-noc device fixes: - Fix power consumption creeping up with I2C4 staying on - Fix n900 microphone bias voltages - Fix dra7 l3-noc for host clock - Fix omap5 l3-noc id address decoding The rest are all just minor dts fixes: - Fix changed EXTCON_USB_GPIO_USB in defconfig - Fix missing isp and iva #iommu-cells property - Various beagle x15 dts fixes for pre-production changes - Fix am437x-sk display dts entries * tag 'omap-for-v4.1/fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: bus: omap_l3_noc: Fix master id address decoding for OMAP5 bus: omap_l3_noc: Fix offset for DRA7 CLK1_HOST_CLK1_2 instance ARM: dts: dra7: Fix efuse register size for ABB ARM: dts: am57xx-beagle-x15: Switch GPIO fan number ARM: dts: am57xx-beagle-x15: Switch UART mux pins ARM: dts: am437x-sk: reduce col-scan-delay-us ARM: dts: am437x-sk: fix for new newhaven display module revision ARM: dts: am57xx-beagle-x15: Fix RTC aliases ARM: dts: am57xx-beagle-x15: Fix IRQ type for mcp7941x ARM: dts: omap3: Add #iommu-cells to isp and iva iommu ARM: omap2plus_defconfig: Enable EXTCON_USB_GPIO ARM: dts: OMAP3-N900: Add microphone bias voltages ARM: OMAP2+: Fix omap off idle power consumption creeping up
2015-05-07Merge tag 'arm-soc/for-4.1/maintainers' of ↵Arnd Bergmann1-2/+2
http://github.com/broadcom/stblinux into fixes Merge "MAINTAINERS update for Broadcom SoCs for 4.1 #2" from Florian Fainelli: This pull request contains 3 changes to the MAINTAINERS file for Broadcom SoCs: - add Ray and Scott for mach-bcm - remove Christian for mach-bcm - remove Marc for brcmstb * tag 'arm-soc/for-4.1/maintainers' of http://github.com/broadcom/stblinux: MAINTAINERS: Update brcmstb entry MAINTAINERS: Remove Christian Daudt for mach-bcm MAINTAINERS: Update mach-bcm maintainers list
2015-05-07Merge tag 'mvebu-fixes-4.1' of git://git.infradead.org/linux-mvebu into fixesArnd Bergmann1-0/+4
Pull "mvebu fix for 4.1" from Gregory CLEMENT: Disable the unused internal RTC in the dts of the OpenBlock AX3 * tag 'mvebu-fixes-4.1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: armada-xp-openblocks-ax3-4: Disable internal RTC
2015-05-07Merge tag 'fixes-for-v4.1-rc2' of https://github.com/rjarzmik/linux into fixesArnd Bergmann7-172/+274
Merged "ARM: pxa: fixes for v4.1-rc2" from Robert Jarzmik: These fixes reenable the lubbock(pxa25x) and mainstone(pxa27x) platforms, which were broken since the gpio handling was converted to a driver, and the interrupt ordering broke the external interrupts of these systems. * tag 'fixes-for-v4.1-rc2' of https://github.com/rjarzmik/linux: ARM: pxa: lubbock: use new pxa_cplds driver ARM: pxa: mainstone: use new pxa_cplds driver ARM: pxa: pxa_cplds: add lubbock and mainstone IO
2015-05-07Merge tag 'imx-fixes-4.1' of ↵Arnd Bergmann7-5/+9
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes Pull "The i.MX fixes for 4.1" from Shawn Guo: - A couple of imx23-olinuxino device tree fixes regarding to LED GPIO polarity and USB dr_mode setting - One i.MX28 device tree fix on AUART4 TX-DMA interrupt name - Add missing pwm-cells to PWM4 for i.MX25 device tree - Fix imx6q-phytec device tree to get correct USB VBUS control - Drop invalid pinctrl-assert-gpios property from imx6qdl-sabreauto device tree, which was sneaked in from vendor device tree - One fix on Wolfram's broken email address * tag 'imx-fixes-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: dts: imx6qdl-sabreauto: remove pinctrl-assert-gpios ARM: dts: imx28: Fix AUART4 TX-DMA interrupt name ARM: dts: imx25: Add #pwm-cells to pwm4 ARM: dts: imx6: phyFLEX: USB VBUS control is active-high ARM: mach-imx: devices: platform-sdhci-esdhc-imx: fix broken email address ARM: dts: imx23-olinuxino: Fix dr_mode of usb0 ARM: dts: imx23-olinuxino: Fix polarity of LED GPIO
2015-05-07Merge tag 'v4.1-rockchip-socfixes1' of ↵Arnd Bergmann3-0/+60
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into fixes Merge "ARM: rockchip: some soc-level fixes for 4.1" from Heiko Stübner: Two fixes from Chris Zhong, fixing some suspend oddities. And I've given up on the timer7 issue. While I initially thought devices would either have both the grave mmu issue requiring a uboot update and the timer7 issue or none, it looks like in all units in the field the mmu issue got fixed while the timer7 issue stayed on. So instead of making everybody wanting to use mainline jump through a hoop just make sure timer7 is on on boot before we init the arch-timer. * tag 'v4.1-rockchip-socfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: rockchip: make sure timer7 is enabled on rk3288 platforms ARM: rockchip: fix undefined instruction of reset_ctrl_regs ARM: rockchip: disable dapswjdp during suspend
2015-05-07Merge tag 'pinctrl-v4.1-3' of ↵Linus Torvalds7-13/+16
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control fixes from Linus Walleij: "Here is a smallish set of pin control fixes for the v4.1 cycle, collected the last two weeks: - fix a real nasty legacy bug that has screwed up the protection of adding pinctrl maps dynamically. Normally this didn't happen so much but Dough Anderson ran into it and fixed it, kudos! - minor driver fixes for Qualcomm spmi, mediatek and Marvell drivers" * tag 'pinctrl-v4.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: pinctrl: Don't just pretend to protect pinctrl_maps, do it for real pinctrl: mediatek: mtk-common: initialize unmask pinctrl: qcom-spmi-mpp: Fix input value report pinctrl: qcom-spmi: Fix pin direction configuration pinctrl: mvebu: Fix mapping of pin 63 (gpo -> gpio)
2015-05-07Merge tag 'vfio-v4.1-rc3' of git://github.com/awilliam/linux-vfioLinus Torvalds2-4/+25
Pull vfio fixes from Alex Williamson: "Fix some undesirable behavior with the vfio device request interface: - increase verbosity of device request channel (Alex Williamson) - fix runaway interruptible timeout (Alex Williamson)" * tag 'vfio-v4.1-rc3' of git://github.com/awilliam/linux-vfio: vfio: Fix runaway interruptible timeout vfio-pci: Log device requests more verbosely
2015-05-07drm/radeon: stop trying to suspend UVD sessionsChristian König2-21/+19
Saving the current UVD state on suspend and restoring it on resume just doesn't work reliable. Just close cleanup all sessions on suspend. Signed-off-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-05-07drm/radeon: more strictly validate the UVD codecChristian König1-2/+31
MPEG 2/4 are only supported since UVD3. Signed-off-by: Christian König <[email protected]> CC: [email protected] Signed-off-by: Alex Deucher <[email protected]>
2015-05-07drm/radeon: make UVD handle checking more strictChristian König1-29/+43
Invalid messages can crash the hw otherwise. Signed-off-by: Christian König <[email protected]> CC: [email protected] Signed-off-by: Alex Deucher <[email protected]>
2015-05-07drm/radeon: make VCE handle check more strictChristian König1-17/+48
Invalid handles can crash the hw. Signed-off-by: Christian König <[email protected]> CC: [email protected] Signed-off-by: Alex Deucher <[email protected]>
2015-05-07drm/radeon: fix userptr lockupChristian König1-0/+3
We shouldn't try to reserve and wait for a BO that isn't bound. Otherwise we can run into a deadlock if we have a fault during binding the BO. Signed-off-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2015-05-07drm/radeon: fix userptr BO unpin bug v3monk.liu1-5/+3
Fixing a memory leak with userptrs. v2: clean up the loop, use an iterator instead v3: remove unused variable Signed-off-by: monk.liu <[email protected]> Signed-off-by: Christian König <[email protected]> CC: [email protected] Signed-off-by: Alex Deucher <[email protected]>
2015-05-07drm/amdkfd: Initialize sdma vm when creating sdma queueXihan Zhang1-0/+2
This patch fixes a bug where sdma vm wasn't initialized when an sdma queue was created in HWS mode. This caused GPUVM faults to appear on dmesg and it is one of the causes that SDMA queues are not working. Signed-off-by: Xihan Zhang <[email protected]> Reviewed-by: Ben Goz <[email protected]> Signed-off-by: Oded Gabbay <[email protected]> Cc: [email protected] Reviewed-by: Alex Deucher <[email protected]>
2015-05-07drm/amdkfd: Don't report local memory sizeOded Gabbay1-2/+2
This patch sets the local memory size that is reported to userspace to 0. This is done to make sure that userspace won't try to allocate local memory for HSA. As long as amdkfd doesn't support allocating local memory for HSA, we need this patch. Signed-off-by: Oded Gabbay <[email protected]> Cc: [email protected] Reviewed-by: Alex Deucher <[email protected]>
2015-05-07drm/amdkfd: allow unregister process with queuesOded Gabbay1-2/+3
Sometimes we might unregister process that have queues, because we couldn't preempt the queues. Until now we blocked it with BUG_ON but instead just print it as debug. Reviewed-by: Ben Goz <[email protected]> Signed-off-by: Oded Gabbay <[email protected]> Cc: [email protected] Reviewed-by: Alex Deucher <[email protected]>
2015-05-07nohz: Fix !HIGH_RES_TIMERS hangThomas Gleixner1-6/+3
Simon Horman reported this crash on a system with high-res timers disabled but nohz enabled: > ------------[ cut here ]------------ > kernel BUG at kernel/irq_work.c:135! BUG_ON(!irqs_disabled()); So something enabled interrupts in the periodic tick handling machinery, and that code path indeed has a local_irq_disable()/enable pair in tick_nohz_switch_to_nohz() which causes havoc. Fix it. This patch also fixes a +nohz -hrtimers hang reported by Ingo Molnar. Reported-by: Simon Horman <[email protected]> Reported-by: Ingo Molnar <[email protected]> Tested-by: Simon Horman <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: LAK <[email protected]> Cc: Magnus Damm <[email protected]> Cc: Peter Zijlstra <[email protected]> Link: http://lkml.kernel.org/r/alpine.DEB.2.11.1505071425520.4225@nanos Signed-off-by: Ingo Molnar <[email protected]>
2015-05-07Merge tag 'for-linus' of git://github.com/dledford/linuxLinus Torvalds31-219/+568
Pull infiniband updates from Doug Ledford: "Minor updates for 4.1-rc Most of the changes are fairly small and well confined. The iWARP address reporting changes are the only ones that are a medium size. I had these queued up prior to rc1, but due to the shuffle in maintainers, they did not get submitted when I expected. My apologies for that. I feel comfortable with them however due to the testing they've received, so I left them in this submission" * tag 'for-linus' of git://github.com/dledford/linux: MAINTAINERS: Update InfiniBand subsystem maintainer MAINTAINERS: add include/rdma/ to InfiniBand subsystem IPoIB/CM: Fix indentation level iw_cxgb4: Remove negative advice dmesg warnings IB/core: Fix unaligned accesses IB/core: change rdma_gid2ip into void function as it always return zero IB/qib: use arch_phys_wc_add() IB/qib: add acounting for MTRR IB/core: dma unmap optimizations IB/core: dma map/unmap locking optimizations RDMA/cxgb4: Report the actual address of the remote connecting peer RDMA/nes: Report the actual address of the remote connecting peer RDMA/core: Enable the iWarp Port Mapper to provide the actual address of the connecting peer to its clients iw_cxgb4: enforce qp/cq id requirements iw_cxgb4: use BAR2 GTS register for T5 kernel mode CQs iw_cxgb4: 32b platform fixes iw_cxgb4: Cleanup register defines/MACROS RDMA/CMA: Canonize IPv4 on IPV6 sockets properly
2015-05-07drm/i915: Drop PIPE-A quirk for 945GSE HP MiniChris Wilson1-3/+0
Since the introduction of BIOS fb preservation, circa 3.17, we began encountering a failure during boot when trying to use force-detect before GEM was initialised. That bug is from commit 7fad798e16fecddd41c6a91728a09f0b9507e40c Author: Daniel Vetter <[email protected]> Date: Wed Jul 4 17:51:47 2012 +0200 drm/i915: ensure the force pipe A quirk is actually followed but investigation of the affected machine revealed that it was using a PIPE-A quirk even though it was a 945GSE and the quirk is only supposed to be used to workaround a hardware issue on 830/845. That quirk was added for this HP Mini in commit 6b93afc564a5e74b0eaaa46c95f557449951b3b9 Author: Bryce Harrington <[email protected]> Date: Wed May 27 03:40:52 2009 -0700 add pipe a force quirk for Dell mini in order to workaround an issue with the BIOS behaving strangely during lid-close. Since then we have a much larger hammer to thwart the BIOS after opening the lid and the PIPE-A quirk is no longer required. Reported-and-tested-by: Apostolos B. <[email protected]> References: https://bugs.freedesktop.org/show_bug.cgi?id=21960 Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=87521 Signed-off-by: Chris Wilson <[email protected]> Signed-off-by: Jani Nikula <[email protected]>
2015-05-07igb: Fix NULL assignment to incorrect variable in igb_reset_q_vectorToshiaki Makita1-1/+1
adapter->tx_ring is set to NULL where rx_ring should be. Fixes: 5536d2102a2d ("igb: Combine q_vector and ring allocation into a single function") Signed-off-by: Toshiaki Makita <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-05-07igb: Fix oops on changing number of ringsToshiaki Makita1-0/+2
When changing the number of rings by ethtool -L, q_vectors are reused, which causes oops because of uninitialized pointers. - When an rx is reused as a tx, q_vector->rx.ring is not set to NULL, which misleads igb_poll() to determine that it has an rx ring although it actually points to the tx ring. - When a tx is reused as an rx, q_vector->rx.ring->skb (q_vector->ring[0].skb) has a value that was used as tx_stats before. Fix these problems by zeroing it out on reuseing it. Fixes: 02ef6e1d0b00 ("igb: Fix queue allocation method to accommodate changing during runtime") Signed-off-by: Toshiaki Makita <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-05-07iio: mcp320x: Fix occasional incorrect readingsMichael Welling1-3/+3
Without the cacheline alignment, the readings will occasionally incorrectly return 0. Signed-off-by: Michael Welling <[email protected]> Signed-off-by: Jonathan Cameron <[email protected]>
2015-05-07drm/i915: Sink rate read should be saved in deca-kHzSonika Jindal1-1/+2
The sink rate read from supported link rate table is in KHz as per spec while in drm, the saved clock is in deca-KHz. So divide the link rate by 10 before storing. Reading of rates was added by: commit fc0f8e25318f ("drm/i915/skl: Read sink supported rates from edp panel") Cc: Ville Syrjälä <[email protected]> Signed-off-by: Sonika Jindal <[email protected]> Reviewed-by: Ville Syrjälä <[email protected]> Signed-off-by: Jani Nikula <[email protected]>
2015-05-07crypto: arm64/sha2-ce - prevent asm code finalization in final() pathArd Biesheuvel1-0/+3
Ensure that the asm code finalization path is not triggered when invoked via final(), since it already takes care of that itself. Signed-off-by: Ard Biesheuvel <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2015-05-07crypto: arm64/sha1-ce - prevent asm code finalization in final() pathArd Biesheuvel1-0/+3
Ensure that the asm code finalization path is not triggered when invoked via final(), since it already takes care of that itself. Signed-off-by: Ard Biesheuvel <[email protected]> Signed-off-by: Herbert Xu <[email protected]>
2015-05-07crypto: arm64/crc32 - bring in line with generic CRC32Ard Biesheuvel1-3/+19
The arm64 CRC32 (not CRC32c) implementation was not quite doing the same thing as the generic one. Fix that. Signed-off-by: Ard Biesheuvel <[email protected]> Acked-by: Steve Capper <[email protected]> Signed-off-by: Herbert Xu <[email protected]>