aboutsummaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2014-09-11Merge branch 'pm-cpufreq'Rafael J. Wysocki1-1/+1
* pm-cpufreq: cpufreq / OPP: Fix the order of arguments for kcalloc()
2014-09-11drm/msm: don't crash if no msm.vram paramRob Clark1-1/+1
If VRAM carveout is used, due to no IOMMU, we should have a default value for msm.vram so that we don't simply crash. Reported-by: Srinivas Kandagatla <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2014-09-11drm/msm/hdmi: fix build break on non-CCF platformsRob Clark1-2/+13
Reported-by: Russell King <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2014-09-11drm/msm: Change nested function to static functionMark Charlebois1-22/+24
There is currently a nested function in Russel King's tree for the msm HDMI driver. The last nested function was removed from the Linux kernel when the Thinkpad driver was fixed. I believe nested functions are not desired upstream, and it also breaks compilation with clang so here is a patch to change the nested function into static function. The patch works with both clang and gcc. Signed-off-by: Mark Charlebois <[email protected]> Signed-off-by: Rob Clark <[email protected]>
2014-09-11Merge tag 'drm-intel-fixes-2014-09-10' of ↵Dave Airlie7-221/+300
git://anongit.freedesktop.org/drm-intel into drm-fixes more fixes for 3.17, almost all Cc: stable material. * tag 'drm-intel-fixes-2014-09-10' of git://anongit.freedesktop.org/drm-intel: drm/i915: Wait for vblank before enabling the TV encoder drm/i915: Evict CS TLBs between batches drm/i915: Fix irq enable tracking in driver load drm/i915: Fix EIO/wedged handling in gem fault handler drm/i915: Prevent recursive deadlock on releasing a busy userptr
2014-09-11Merge branch 'drm-fixes-3.17' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie4-15/+31
into drm-fixes Just a few fixes for radeon for 3.17. * 'drm-fixes-3.17' of git://people.freedesktop.org/~agd5f/linux: drm/radeon/dpm: set the thermal type properly for special configs drm/radeon: reduce memory footprint for debugging drm/radeon: add connector quirk for fujitsu board drm/radeon: fix semaphore value init drm/radeon: only use me/pfp sync on evergreen+
2014-09-11dmaengine: jz4740: Fix non-cyclic descriptor completionLars-Peter Clausen1-1/+2
We need to make sure to deqeueue the descriptor from the active list before we call vchan_cookie_complete(). Also we need obviously only set chan->desc to NULL after we stopped using it. Signed-off-by: Lars-Peter Clausen <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
2014-09-10usb: chipidea: msm: Initialize PHY on reset eventIvan T. Ivanov1-0/+1
Initialize USB PHY after every Link controller reset Cc: 3.16+ <[email protected]> Cc: Tim Bird <[email protected]> Signed-off-by: Peter Chen <[email protected]> Signed-off-by: Ivan T. Ivanov <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-10usb: chipidea: msm: Use USB PHY API to control PHY stateIvan T. Ivanov1-5/+1
PHY drivers keep track of the current state of the hardware, so don't change PHY settings under it. Cc: 3.16+ <[email protected]> Cc: Tim Bird <[email protected]> Signed-off-by: Peter Chen <[email protected]> Signed-off-by: Ivan T. Ivanov <[email protected]> Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-10usb: hub: take hub->hdev reference when processing from eventlistJoe Lawrence1-1/+3
During surprise device hotplug removal tests, it was observed that hub_events may try to call usb_lock_device on a device that has already been freed. Protect the usb_device by taking out a reference (under the hub_event_lock) when hub_events pulls it off the list, returning the reference after hub_events is finished using it. Signed-off-by: Joe Lawrence <[email protected]> Suggested-by: David Bulkow <[email protected]> for using kref Suggested-by: Alan Stern <[email protected]> for placement Acked-by: Alan Stern <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-10uas: Disable uas on ASM1051 devicesHans de Goede1-4/+23
There are a large numbers of issues with ASM1051 devices in uas mode: 1) They do not support REPORT SUPPORTED OPERATION CODES 2) They use out of spec 8 byte status iu-s when they have no sense data, switching to normal 16 byte status iu-s when they do have sense data. 3) They hang / crash when combined with some disks, e.g. a Crucial M500 ssd. 4) They hang / crash when stressed (through e.g. sg_reset --bus) with disks with which then normally do work (once 1 & 2 are worked around). Where as in BOT mode they appear to work fine, so the best way forward with these devices is to just blacklist them for uas usage. Unfortunately this is easier said then done. as older versions of the ASM1053 (which works fine) use the same usb-id as the ASM1051. When connected over USB-3 the 2 can be told apart by the number of streams they support. So this patch adds some less then pretty code to disable uas for the ASM1051. When connected over USB-2, simply disable uas alltogether for devices with the shared usb-id. Cc: [email protected] # 3.16 Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-10Input: serport - add compat handling for SPIOCSTYPE ioctlJohn Sung1-7/+38
When running a 32-bit inputattach utility in a 64-bit system, there will be error code "inputattach: can't set device type". This is caused by the serport device driver not supporting compat_ioctl, so that SPIOCSTYPE ioctl fails. Cc: [email protected] Signed-off-by: John Sung <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-09-10Input: atmel_mxt_ts - fix double free of input deviceStephen Warren1-5/+13
[Nick Dyer: reworked to move free of input device into separate function and only call in paths that require it.] Signed-off-by: Nick Dyer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-09-10dm cache: fix race causing dirty blocks to be marked as cleanAnssi Hannula1-2/+2
When a writeback or a promotion of a block is completed, the cell of that block is removed from the prison, the block is marked as clean, and the clear_dirty() callback of the cache policy is called. Unfortunately, performing those actions in this order allows an incoming new write bio for that block to come in before clearing the dirty status is completed and therefore possibly causing one of these two scenarios: Scenario A: Thread 1 Thread 2 cell_defer() . - cell removed from prison . - detained bios queued . . incoming write bio . remapped to cache . set_dirty() called, . but block already dirty . => it does nothing clear_dirty() . - block marked clean . - policy clear_dirty() called . Result: Block is marked clean even though it is actually dirty. No writeback will occur. Scenario B: Thread 1 Thread 2 cell_defer() . - cell removed from prison . - detained bios queued . clear_dirty() . - block marked clean . . incoming write bio . remapped to cache . set_dirty() called . - block marked dirty . - policy set_dirty() called - policy clear_dirty() called . Result: Block is properly marked as dirty, but policy thinks it is clean and therefore never asks us to writeback it. This case is visible in "dmsetup status" dirty block count (which normally decreases to 0 on a quiet device). Fix these issues by calling clear_dirty() before calling cell_defer(). Incoming bios for that block will then be detained in the cell and released only after clear_dirty() has completed, so the race will not occur. Found by inspecting the code after noticing spurious dirty counts (scenario B). Signed-off-by: Anssi Hannula <[email protected]> Acked-by: Joe Thornber <[email protected]> Signed-off-by: Mike Snitzer <[email protected]> Cc: [email protected]
2014-09-10pinctrl: baytrail: resolve unbalanced IRQ wake disable warningMathias Nyman1-0/+1
Add the IRQCHIP_SKIP_SET_WAKE flag to baytrail gpio irq_chip to resolve unbalaced IRQ wake disable warnings. Suggested-by: Borun Fu <[email protected]> Signed-off-by: Mathias Nyman <[email protected]> Reviewed-by: Mika Westerberg <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2014-09-10rbd: fix error return code in rbd_dev_device_setup()Wei Yongjun1-1/+3
Fix to return -ENOMEM from the workqueue alloc error handling case instead of 0, as done elsewhere in this function. Reviewed-by: Alex Elder <[email protected]> Signed-off-by: Wei Yongjun <[email protected]>
2014-09-10rbd: avoid format-security warning inside alloc_workqueue()Ilya Dryomov1-1/+1
drivers/block/rbd.c: In function ‘rbd_dev_device_setup’: drivers/block/rbd.c:5090:19: warning: format not a string literal and no format arguments [-Wformat-security] Reported-by: kbuild test robot <[email protected]> Signed-off-by: Ilya Dryomov <[email protected]>
2014-09-09Input: synaptics - add support for ForcePadsDmitry Torokhov2-16/+63
ForcePads are found on HP EliteBook 1040 laptops. They lack any kind of physical buttons, instead they generate primary button click when user presses somewhat hard on the surface of the touchpad. Unfortunately they also report primary button click whenever there are 2 or more contacts on the pad, messing up all multi-finger gestures (2-finger scrolling, multi-finger tapping, etc). To cope with this behavior we introduce a delay (currently 50 msecs) in reporting primary press in case more contacts appear. Cc: [email protected] Reviewed-by: Hans de Goede <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-09-09Input: matrix_keypad - use request_any_context_irq()Lothar Waßmann1-4/+5
When trying to use the matrix-keypad driver with GPIO drivers that require nested irq handlers (e.g. I2C GPIO adapters like PCA9554), request_irq() fails because the GPIO driver requires a threaded interrupt handler. Use request_any_context_irq() to be able to use any GPIO driver as keypad driver. Signed-off-by: Lothar Waßmann <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-09-09Input: atmel_mxt_ts - downgrade warning about empty interruptsNick Dyer1-1/+6
In the case where the CHG/interrupt line mode is not configured correctly, this warning is output to dmesg output for each interrupt. Downgrade the message to debug. Signed-off-by: Nick Dyer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-09-09Input: wm971x - fix typo in module parameter descriptionMasanari Iida2-2/+2
Signed-off-by: Masanari Iida <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-09-09usb: dwc2/gadget: avoid disabling ep0Robert Baldyga1-1/+1
Endpoint 0 should not be disabled, so we start loop counter from number 1. Signed-off-by: Robert Baldyga <[email protected]> Cc: stable <[email protected]> # 3.16 Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-09usb: dwc2/gadget: delay enabling irq once hardware is configured properlyMarek Szyprowski1-7/+11
This patch fixes kernel panic/interrupt storm/etc issues if bootloader left s3c-hsotg module in enabled state. Now interrupt handler is enabled only after proper configuration of hardware registers. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Robert Baldyga <[email protected]> Cc: stable <[email protected]> # 3.16 Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-09usb: dwc2/gadget: do not call disconnect method in pullupMarek Szyprowski1-1/+0
This leads to potential spinlock recursion in composite framework, other udc drivers also don't call it directly from pullup method. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Robert Baldyga <[email protected]> Cc: stable <[email protected]> # 3.16 Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-09usb: dwc2/gadget: break infinite loop in endpoint disable codeMarek Szyprowski1-0/+1
This patch fixes possible freeze caused by infinite loop in interrupt context. Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Robert Baldyga <[email protected]> Cc: stable <[email protected]> # 3.16 Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-09usb: dwc2/gadget: fix phy initialization sequenceKamil Debski1-15/+12
In the Generic PHY Framework a NULL phy is considered to be a valid phy thus the "if (hsotg->phy)" check does not give us the information whether the Generic PHY Framework is used. In addition to the above this patch also removes phy_init from probe and phy_exit from remove. This is not necessary when init/exit is done in the s3c_hsotg_phy_enable/disable functions. Signed-off-by: Kamil Debski <[email protected]> Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Robert Baldyga <[email protected]> Cc: stable <[email protected]> # 3.16 Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-09usb: dwc2/gadget: fix phy disable sequenceKamil Debski1-3/+0
When the driver is removed s3c_hsotg_phy_disable is called three times instead of once. This results in decreasing of the phy reference counter below zero and thus consecutive inserts of the module fails. This patch removes calls to s3c_hsotg_phy_disable from s3c_hsotg_remove and s3c_hsotg_udc_stop. s3c_hsotg_udc_stop is called from udc-core.c only after usb_gadget_disconnect, which in turn calls s3c_hsotg_pullup, which already calls s3c_hsotg_phy_disable. s3c_hsotg_remove must be called only after udc_stop, so there is no point in disabling phy once again there. Signed-off-by: Kamil Debski <[email protected]> Signed-off-by: Marek Szyprowski <[email protected]> Signed-off-by: Robert Baldyga <[email protected]> Cc: stable <[email protected]> # 3.16 Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-09drm/radeon/dpm: set the thermal type properly for special configsAlex Deucher1-7/+19
On systems with special thermal configurations make sure we make note of the thermal setup. This is required for proper firmware configuration on these systems. Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected]
2014-09-09drm/radeon: reduce memory footprint for debuggingAndy Shevchenko1-5/+2
There is no need to use hex_dump_to_buffer() since we have a kernel helper to dump up to 64 bytes just via printk(). In our case the actual size is 15 bytes. Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-09-09ACPI / LPSS: complete PM entries for LPSS power domainFu Zhonghui1-5/+5
PM entries of LPSS power domain were not implemented correctly in commit c78b0830667a "ACPI / LPSS: custom power domain for LPSS". This patch fixes and completes these PM entries. Fixes: c78b0830667a (ACPI / LPSS: custom power domain for LPSS) Signed-off-by: Li Aubrey <[email protected]> Signed-off-by: Mika Westerberg <[email protected]> Signed-off-by: Fu Zhonghui <[email protected]> Cc: 3.16+ <[email protected]> # 3.16+ Signed-off-by: Rafael J. Wysocki <[email protected]>
2014-09-09Revert "ACPI / battery: fix wrong value of capacity_now reported when fully ↵Bjørn Mork1-14/+0
charged" This reverts commit 232de5143790 ("ACPI / battery: fix wrong value of capacity_now reported when fully charged") There is nothing wrong or unexpected about 'capacity_now' increasing above the last 'full_charge_capacity' value. Different charging cycles will cause 'full_charge_capacity' to vary, both up and down. Good battery firmwares will update 'full_charge_capacity' when the current charging cycle is complete, increasing it if necessary. It might even go above 'design_capacity' on a fresh and healthy battery. Capping 'capacity_now' to 'full_charge_capacity' is plain wrong, and printing a warning if this doesn't happen to match the 'design_capacity' is both annoying and terribly wrong. This results in bogus warnings on perfectly working systems/firmwares: [Firmware Bug]: battery: reported current charge level (39800) is higher than reported maximum charge level (39800). and wrong values being reported for 'capacity_now' and 'full_charge_capacity' after the warning has been triggered. Fixes: 232de5143790 ("ACPI / battery: fix wrong value of capacity_now reported when fully charged") Cc: 3.16+ <[email protected]> # 3.16+ Signed-off-by: Bjørn Mork <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2014-09-09Revert "ACPI / battery: Fix warning message in acpi_battery_get_state()"Bjørn Mork1-1/+1
This reverts commit d719870b41e0 ("ACPI / battery: Fix warning message in acpi_battery_get_state()") Capping 'capacity_now' to 'full_charge_capacity' is plain wrong. If this is necessary to work around some buggy firmware, then the workaround needs protection against being applied to working firmwares. Good battery firmwares will allow 'capacity_now' to increase above 'full_charge_capacity', and will update the latter when the battery is fully charged. By capping 'capacity_now' we lose accurate capacity reporting until charging is complete whenever 'full_charge_capacity' needs to be increased. Fixes: d719870b41e0 ("ACPI / battery: Fix warning message in acpi_battery_get_state()") Cc: 3.16+ <[email protected]> # 3.16+ Signed-off-by: Bjørn Mork <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2014-09-08tty: xuartps: Fix tx_emtpy() callbackLars-Peter Clausen1-1/+1
The tx_empty() callback currently checks the TXEMPTY bit in the interrupt status register to decided whether the FIFO should be reported as empty or not. The bit in this register gets set when the FIFO state transitions from non-empty to empty but is cleared again in the interrupt handler. This means it is not suitable to be used to decided whether the FIFO is currently empty or not. Instead use the TXEMPTY bit from the status register which will be set as long as the FIFO is empty. Signed-off-by: Lars-Peter Clausen <[email protected]> Acked-by: Soren Brinkmann <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-08tty/serial: at91: BUG: disable interrupts when !UART_ENABLE_MS()Richard Genoud1-1/+42
In set_termios(), interrupts where not disabled if UART_ENABLE_MS() was false. Tested on at91sam9g35. Signed-off-by: Richard Genoud <[email protected]> Cc: stable <[email protected]> # >= 3.16 Reviewed-by: Peter Hurley <[email protected]> Acked-by: Nicolas Ferre <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-08serial: 8250_dw: Add ACPI ID for Intel BraswellAlan Cox1-0/+1
Another new ACPI identifier for the 8250 dw bindings to cover newer Intel SoCs such as Braswell. Signed-off-by: Alan Cox <[email protected]> Signed-off-by: Mika Westerberg <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-08uwb: init beacon cache entry before registering uwb deviceThomas Pugliese1-4/+9
Make sure the uwb_dev->bce entry is set before calling uwb_dev_add in uwbd_dev_onair so that usermode will only see the device after it is properly initialized. This fixes a kernel panic that can occur if usermode tries to access the IEs sysfs attribute of a UWB device before the driver has had a chance to set the beacon cache entry. Signed-off-by: Thomas Pugliese <[email protected]> Cc: [email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-08USB: ftdi_sio: Add support for GE Healthcare Nemo Tracker deviceTaylor Braun-Jones2-0/+8
Signed-off-by: Taylor Braun-Jones <[email protected]> Cc: Johan Hovold <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-08Input: cap1106 - fix register definitionKlaus Goger1-2/+2
Use the correct register address for Calibration Active and Interrupt Enable. Signed-off-by: Klaus Goger <[email protected]> Acked-by: Daniel Mack <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-09-08Input: add missing POINTER / DIRECT properties to a bunch of driversHans de Goede5-0/+10
I've not done a full audit of all mouse drivers, I noticed these ones were missing the POINTER property while working on the POINTING_STICK property. Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-09-08Input: add INPUT_PROP_POINTING_STICK propertyHans de Goede4-0/+9
It is useful for userspace to know that there not dealing with a regular mouse but rather with a pointing stick (e.g. a trackpoint) so that userspace can e.g. automatically enable middle button scrollwheel emulation. It is impossible to tell the difference from the evdev info without resorting to putting a list of device / driver names in userspace, this is undesirable. Add a property which allows userspace to see if a device is a pointing stick, and set it on all the pointing stick drivers. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Benjamin Tissoires <[email protected]> Acked-by: Peter Hutterer <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-09-08Input: elantech - fix detection of touchpad on ASUS s301lHans de Goede1-0/+7
Adjust Elantech signature validation to account fo rnewer models of touchpads. Cc: [email protected] Reported-and-tested-by: Màrius Monton <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
2014-09-08Lattice ECP3 FPGA: Check firmware pointerJean-Michel Hautbois1-0/+5
This patch corrects a lack of testing. If fw is NULL when calling firmware_load(), it results in a kernel oops. Signed-off-by: Jean-Michel Hautbois <[email protected]> Reviewed-by: Takashi Iwai <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-08usb: host: xhci: fix compliance mode workaroundFelipe Balbi1-3/+5
Commit 71c731a (usb: host: xhci: Fix Compliance Mode on SN65LVP3502CP Hardware) implemented a workaround for a known issue with Texas Instruments' USB 3.0 redriver IC but it left a condition where any xHCI host would be taken out of reset if port was placed in compliance mode and there was no device connected to the port. That condition would trigger a fake connection to a non-existent device so that usbcore would trigger a warm reset of the port, thus taking the link out of reset. This has the side-effect of preventing any xHCI host connected to a Linux machine from starting and running the USB 3.0 Electrical Compliance Suite because the port will mysteriously taken out of compliance mode and, thus, xHCI won't step through the necessary compliance patterns for link validation. This patch fixes the issue by just adding a missing check for XHCI_COMP_MODE_QUIRK inside xhci_hub_report_usb3_link_state() when PORT_CAS isn't set. This patch should be backported to all kernels containing commit 71c731a. Fixes: 71c731a (usb: host: xhci: Fix Compliance Mode on SN65LVP3502CP Hardware) Cc: Alexis R. Cortes <[email protected]> Cc: <[email protected]> # v3.2+ Signed-off-by: Felipe Balbi <[email protected]> Acked-by: Mathias Nyman <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-08android: fix reference leak in sync_fence_createMaarten Lankhorst1-1/+0
According to the documentation sync_fence_create takes ownership of the point, not a reference on the point. This fixes a memory leak introduced in 3.17's android fence rework. Signed-off-by: Maarten Lankhorst <[email protected]> Cc: Colin Cross <[email protected]> Cc: Dan Carpenter <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-08imx-drm: imx-ldb: fix NULL pointer in imx_ldb_unbind()Russell King1-0/+3
When trying to unbind imx-drm, the following oops was observed from the imx-ldb driver: Unable to handle kernel NULL pointer dereference at virtual address 0000001c pgd = de954000 [0000001c] *pgd=2e92c831, *pte=00000000, *ppte=00000000 Internal error: Oops: 17 [#1] SMP ARM Modules linked in: bnep rfcomm bluetooth nfsd exportfs hid_cypress brcmfmac brcmutil snd_soc_fsl_ssi snd_soc_fsl_spdif imx_pcm_fiq imx_pcm_dma imx_ldb(C) imx_thermal imx_sdma imx2_wdt snd_soc_sgtl5000 snd_soc_imx_sgtl5000 snd_soc_imx_spdif snd_soc_imx_audmux CPU: 1 PID: 1228 Comm: bash Tainted: G C 3.16.0-rc2+ #1229 task: ea378d80 ti: de948000 task.ti: de948000 PC is at imx_ldb_unbind+0x1c/0x58 [imx_ldb] LR is at component_unbind+0x38/0x70 pc : [<bf025068>] lr : [<c0353108>] psr: 200f0013 sp : de949da8 ip : de949dc0 fp : de949dbc r10: e9a44b0c r9 : 00000000 r8 : de949f78 r7 : 00000012 r6 : e9b3f400 r5 : e9b133b8 r4 : e9b13010 r3 : 00000000 r2 : e9b3f400 r1 : ea9a0210 r0 : e9b13020 Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 10c53c7d Table: 2e95404a DAC: 00000015 Process bash (pid: 1228, stack limit = 0xde948240) Stack: (0xde949da8 to 0xde94a000) ... Backtrace: [<bf02504c>] (imx_ldb_unbind [imx_ldb]) from [<c0353108>] (component_unbind+0x38/0x70) [<c03530d0>] (component_unbind) from [<c03531d4>] (component_unbind_all+0x94/0xc8) [<c0353140>] (component_unbind_all) from [<c04bc224>] (imx_drm_driver_unload+0x34/0x4c) [<c04bc1f0>] (imx_drm_driver_unload) from [<c03394a4>] (drm_dev_unregister+0x2c/0xa0) [<c0339478>] (drm_dev_unregister) from [<c0339f8c>] (drm_put_dev+0x30/0x6c) [<c0339f5c>] (drm_put_dev) from [<c04bc1cc>] (imx_drm_unbind+0x14/0x18) [<c04bc1b8>] (imx_drm_unbind) from [<c03530b4>] (component_master_del+0xbc/0xd8) ... Code: e5904058 e2840010 e2845fea e59430a0 (e593301c) ---[ end trace 4f211c6dbbcd4963 ]--- This is caused by only having one channel out of the pair configured in DT; the second channel remains uninitialised, but upon unbind, the driver attempts to clean up both, thereby dereferencing a NULL pointer. Avoid this by checking that the second channel is initialised. Fixes: 1b3f76756633 ("imx-drm: initialise drm components directly") Cc: <[email protected]> Signed-off-by: Russell King <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-08imx-drm: ipuv3-plane: fix ipu_plane_dpms()Russell King1-1/+2
When unbinding imx-drm, the following oops was observed: Unable to handle kernel NULL pointer dereference at virtual address 00000004 pgd = e995c000 [00000004] *pgd=4fea5831 Internal error: Oops: 817 [#1] SMP ARM Modules linked in: bnep rfcomm bluetooth nfsd exportfs hid_cypress brcmfmac brcmutil snd_soc_fsl_ssi snd_soc_fsl_spdif imx_pcm_fiq imx_pcm_dma snd_soc_sgtl5000 imx_sdma imx2_wdt imx_ldb(C) imx_thermal snd_soc_imx_sgtl5000 snd_soc_imx_spdif snd_soc_imx_audmux CPU: 1 PID: 779 Comm: bash Tainted: G C 3.16.0-rc2+ #1230 task: ea9eb180 ti: ea378000 task.ti: ea378000 PC is at ipu_dp_put+0x10/0x18 LR is at ipu_plane_dpms+0x60/0x8c pc : [<c0350d20>] lr : [<c04bd9e8>] psr: 200f0013 sp : ea379d80 ip : ea379d90 fp : ea379d8c r10: 00100100 r9 : 00000000 r8 : 00200200 r7 : e9ba0264 r6 : e9ba01f8 r5 : 00000000 r4 : ea34b800 r3 : 00000000 r2 : 00000000 r1 : 0000009b r0 : 00000000 Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 10c53c7d Table: 3995c04a DAC: 00000015 Process bash (pid: 779, stack limit = 0xea378240) Stack: (0xea379d80 to 0xea37a000) ... Backtrace: [<c0350d10>] (ipu_dp_put) from [<c04bd9e8>] (ipu_plane_dpms+0x60/0x8c) [<c04bd988>] (ipu_plane_dpms) from [<c04bda40>] (ipu_disable_plane+0x2c/0x60) [<c04bda14>] (ipu_disable_plane) from [<c04bda9c>] (ipu_plane_destroy+0x28/0x60) [<c04bda74>] (ipu_plane_destroy) from [<c033ff84>] (drm_mode_config_cleanup+0x1b8/0x250) [<c033fdcc>] (drm_mode_config_cleanup) from [<c04bc234>] (imx_drm_driver_unload+0x44/0x4c) [<c04bc1f0>] (imx_drm_driver_unload) from [<c03394a4>] (drm_dev_unregister+0x2c/0xa0) [<c0339478>] (drm_dev_unregister) from [<c0339f8c>] (drm_put_dev+0x30/0x6c) [<c0339f5c>] (drm_put_dev) from [<c04bc1cc>] (imx_drm_unbind+0x14/0x18) [<c04bc1b8>] (imx_drm_unbind) from [<c03530b4>] (component_master_del+0xbc/0xd8) ... Code: e1a0c00d e92dd800 e24cb004 e3a03000 (e5c03004) This is caused by a missing check in ipu_plane_dpms for a NULL pointer. Fixes: b8d181e408af ("staging: drm/imx: add drm plane support") Cc: <[email protected]> Signed-off-by: Russell King <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-09-08drm/radeon: add connector quirk for fujitsu boardAlex Deucher1-0/+7
Vbios connector table lists non-existent VGA port. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=83184 Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected]
2014-09-08drm/radeon: fix semaphore value initChristian König1-1/+1
Semaphore values have 64 bits, not 32. This fixes a very subtle bug that disables synchronization when the upper 32bits wasn't zero. Signed-off-by: Christian König <[email protected]> Cc: [email protected] Reviewed-By: Grigori Goronzy <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-09-08drm/radeon: only use me/pfp sync on evergreen+Alex Deucher1-2/+2
The packet seems to cause hangs on some 7xx asics. bug: https://bugs.freedesktop.org/show_bug.cgi?id=83616 Signed-off-by: Alex Deucher <[email protected]>
2014-09-08Merge branch 'for-linus' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 fixes from Martin Schwidefsky: "A bug fix for the vdso code, the loadparm for booting from SCSI is added and the access permissions for the dasd module parameters are corrected" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/vdso: remove NULL pointer check from clock_gettime s390/ipl: Add missing SCSI loadparm attributes to /sys/firmware s390/dasd: Make module parameter visible in sysfs