aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-02-14Merge tag 'pm+acpi-3.14-rc3' of ↵Linus Torvalds6-22/+21
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull ACPI and power management fixes from Rafael Wysocki: "These include a fix for a recent intel_pstate regression, a fix for a regression in the ACPI-based PCI hotplug (ACPIPHP) code introduced during the 3.12 cycle, fixes for two bugs in the ACPI core introduced recently and a MAINTAINERS update related to cpufreq. Specifics: - Fix for a recent regression in the intel_pstate driver that introduced a race condition causing systems to crash during initialization in some situations. This removes the affected code altogether. From Dirk Brandewie. - ACPIPHP fix for a regression introduced during the 3.12 cycle causing devices to be dropped as a result of bus check notifications after system resume on some systems due to the way ACPIPHP interprets _STA return values (arguably incorrectly). From Mika Westerberg. - ACPI dock driver fix for a problem causing docking to fail due to a check that always fails after recent ACPI core changes (found by code inspection). - ACPI container driver fix to prevent memory from being leaked in an error code path after device_register() failures. - Update of the arm_big_little cpufreq driver maintainer's e-mail address" * tag 'pm+acpi-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: MAINTAINERS / cpufreq: update Sudeep's email address intel_pstate: Remove energy reporting from pstate_sample tracepoint ACPI / container: Fix error code path in container_device_attach() ACPI / hotplug / PCI: Relax the checking of _STA return values ACPI / dock: Use acpi_device_enumerated() to check if dock is present
2014-02-14Merge tag 'edac_for_3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bpLinus Torvalds3-10/+15
Pull EDAC fixes from Borislav Petkov: "Fix polling timeout setting through sysfs. You're surely wondering why the patches are not based on an rc. Well, Andrew sent you 79040cad3f82 ("drivers/edac/edac_mc_sysfs.c: poll timeout cannot be zero sent you") already (it got in in -rc2) but it is not enough as a fix because for one, setting too low polling intervals (< 1sec) don't make any sense and cause unnecessary polling load on the system. Then, even if we set some interval, we explode with [ 4143.094342] WARNING: CPU: 1 PID: 0 at kernel/workqueue.c:1393 __queue_work+0x1d7/0x340() because the workqueue setup path is used also for the timeout period resetting and we're doing INIT_DELAYED_WORK() on an already active workqueue. Which is total bollocks. So this is taken care of by the second patch. I've CCed stable for those two" * tag 'edac_for_3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: EDAC: Correct workqueue setup path EDAC: Poll timeout cannot be zero, p2
2014-02-14Merge tag 'fbdev-fixes-3.14' of ↵Linus Torvalds5-12/+13
git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux Pull fbdev fixes from Tomi Valkeinen: "Minor fbdev fixes for 3.14" * tag 'fbdev-fixes-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: video: Kconfig: Allow more broad selection of the imxfb framebuffer driver. video: exynos: Fix S6E8AX0 LCD driver build error OMAPDSS: fix fck field types OMAPDSS: DISPC: decimation rounding fix
2014-02-14Merge branch 'for-linus' of git://git.kernel.dk/linux-blockLinus Torvalds29-304/+397
Pull block IO fixes from Jens Axboe: "Second round of updates and fixes for 3.14-rc2. Most of this stuff has been queued up for a while. The notable exception is the blk-mq changes, which are naturally a bit more in flux still. The pull request contains: - Two bug fixes for the new immutable vecs, causing crashes with raid or swap. From Kent. - Various blk-mq tweaks and fixes from Christoph. A fix for integrity bio's from Nic. - A few bcache fixes from Kent and Darrick Wong. - xen-blk{front,back} fixes from David Vrabel, Matt Rushton, Nicolas Swenson, and Roger Pau Monne. - Fix for a vec miscount with integrity vectors from Martin. - Minor annotations or fixes from Masanari Iida and Rashika Kheria. - Tweak to null_blk to do more normal FIFO processing of requests from Shlomo Pongratz. - Elevator switching bypass fix from Tejun. - Softlockup in blkdev_issue_discard() fix when !CONFIG_PREEMPT from me" * 'for-linus' of git://git.kernel.dk/linux-block: (31 commits) block: add cond_resched() to potentially long running ioctl discard loop xen-blkback: init persistent_purge_work work_struct blk-mq: pair blk_mq_start_request / blk_mq_requeue_request blk-mq: dont assume rq->errors is set when returning an error from ->queue_rq block: Fix cloning of discard/write same bios block: Fix type mismatch in ssize_t_blk_mq_tag_sysfs_show blk-mq: rework flush sequencing logic null_blk: use blk_complete_request and blk_mq_complete_request virtio_blk: use blk_mq_complete_request blk-mq: rework I/O completions fs: Add prototype declaration to appropriate header file include/linux/bio.h fs: Mark function as static in fs/bio-integrity.c block/null_blk: Fix completion processing from LIFO to FIFO block: Explicitly handle discard/write same segments block: Fix nr_vecs for inline integrity vectors blk-mq: Add bio_integrity setup to blk_mq_make_request blk-mq: initialize sg_reserved_size blk-mq: handle dma_drain_size blk-mq: divert __blk_put_request for MQ ops blk-mq: support at_head inserations for blk_execute_rq ...
2014-02-14Merge tag 'sound-3.14-rc3' of ↵Linus Torvalds8-39/+51
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Again only fixes for HD-audio: - regression fixes due to the modularization - a few fixups for Dell, Sony and HP laptops - a revert of the previous fix as it leads to another regression" * tag 'sound-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: Revert "ALSA: hda/realtek - Avoid invalid COEFs for ALC271X" ALSA: hda - Fix undefined symbol due to builtin/module mixup ALSA: hda - Fix mic capture on Sony VAIO Pro 11 ALSA: hda - Add a headset quirk for Dell XPS 13 ALSA: hda - Fix inconsistent Mic mute LED ALSA: hda - Fix leftover ifdef checks after modularization
2014-02-14Merge tag 'rdma-for-linus' of ↵Linus Torvalds18-74/+214
git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband Pull RDMA/InfiniBand fixes from Roland Dreier: - Fix some rough edges from the "IP addressing for IBoE" merge - Other misc fixes, mostly to hardware drivers * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (21 commits) RDMA/ocrdma: Fix load time panic during GID table init RDMA/ocrdma: Fix traffic class shift IB/iser: Fix use after free in iser_snd_completion() IB/iser: Avoid dereferencing iscsi_iser conn object when not bound to iser connection IB/usnic: Fix smatch endianness error IB/mlx5: Remove dependency on X86 mlx5: Add include of <linux/slab.h> because of kzalloc()/kfree() use IB/qib: Add missing serdes init sequence RDMA/cxgb4: Add missing neigh_release in LE-Workaround path IB: Report using RoCE IP based gids in port caps IB/mlx4: Build the port IBoE GID table properly under bonding IB/mlx4: Do IBoE GID table resets per-port IB/mlx4: Do IBoE locking earlier when initializing the GID table IB/mlx4: Move rtnl locking to the right place IB/mlx4: Make sure GID index 0 is always occupied IB/mlx4: Don't allocate range of steerable UD QPs for Ethernet-only device RDMA/amso1100: Fix error return code RDMA/nes: Fix error return code IB/mlx5: Don't set "block multicast loopback" capability IB/mlx5: Fix binary compatibility with libmlx5 ...
2014-02-14Merge tag 'hwmon-for-linus' of ↵Linus Torvalds1-3/+3
git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon fix from Guenter Roeck: "Fix arithmetic overflow in ntc_thermistor driver" * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (ntc_thermistor) Avoid math overflow
2014-02-14Merge tag 'for-v3.14-fixes' of git://git.infradead.org/battery-2.6Linus Torvalds4-5/+51
Pull battery fixes from Dmitry Eremin-Solenikov: - Fix NULL pointer dereference in max17040 driver - Add bq2415x dts bindings documentation - Fix misleading comment in ds2782 driver - Remove useless check in isp1704 charger driver. * tag 'for-v3.14-fixes' of git://git.infradead.org/battery-2.6: power: max17040: Fix NULL pointer dereference when there is no platform_data dt: binding documentation for bq2415x charger isp1704_charger: remove useless check in isp1704_charger_probe() power: ds2782_battery: Typo in comment
2014-02-14Merge branches 'cma', 'cxgb4', 'iser', 'misc', 'mlx4', 'mlx5', 'nes', ↵Roland Dreier17-71/+210
'ocrdma', 'qib' and 'usnic' into for-next
2014-02-14RDMA/ocrdma: Fix load time panic during GID table initDevesh Sharma1-1/+1
We should use rdma_vlan_dev_real_dev() instead of using vlan_dev_real_dev() when building the GID table for a vlan interface. Signed-off-by: Devesh Sharma <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2014-02-14RDMA/ocrdma: Fix traffic class shiftDevesh Sharma1-1/+1
Use correct value for obtaining traffic class from device response for Query QP request. Signed-off-by: Devesh Sharma <[email protected]> Reported-by: Dan Carpenter <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2014-02-14IB/iser: Fix use after free in iser_snd_completion()Dan Carpenter1-1/+2
We use "tx_desc" again after we free it. Signed-off-by: Dan Carpenter <[email protected]> Acked-by: Or Gerlitz <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2014-02-14IB/iser: Avoid dereferencing iscsi_iser conn object when not bound to iser ↵Roi Dayan1-3/+7
connection Fix a possible NULL pointer dereference in disconnection flow. This can happen if the target disconnected/rejected the connection request, e.g before the binding stage between iscsi connection to the transport connection. Signed-off-by: Alex Tabachnik <[email protected]> Signed-off-by: Roi Dayan <[email protected]> Signed-off-by: Or Gerlitz <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2014-02-14IB/usnic: Fix smatch endianness errorUpinder Malhi1-1/+8
Error reported at http://marc.info/?l=linux-rdma&m=138995755801039&w=2 Fix short to int cast for big endian systems. Signed-off-by: Upinder Malhi <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2014-02-14arm64: KVM: Add VGIC device control for arm64Christoffer Dall2-0/+10
This fixes the build breakage introduced by c07a0191ef2de1f9510f12d1f88e3b0b5cd8d66f and adds support for the device control API and save/restore of the VGIC state for ARMv8. The defines were simply missing from the arm64 header files and uaccess.h must be implicitly imported from somewhere else on arm. Signed-off-by: Christoffer Dall <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]>
2014-02-14x86/efi: Check status field to validate BGRT headerMatt Fleming1-1/+1
Madper reported seeing the following crash, BUG: unable to handle kernel paging request at ffffffffff340003 IP: [<ffffffff81d85ba4>] efi_bgrt_init+0x9d/0x133 Call Trace: [<ffffffff81d8525d>] efi_late_init+0x9/0xb [<ffffffff81d68f59>] start_kernel+0x436/0x450 [<ffffffff81d6892c>] ? repair_env_string+0x5c/0x5c [<ffffffff81d68120>] ? early_idt_handlers+0x120/0x120 [<ffffffff81d685de>] x86_64_start_reservations+0x2a/0x2c [<ffffffff81d6871e>] x86_64_start_kernel+0x13e/0x14d This is caused because the layout of the ACPI BGRT header on this system doesn't match the definition from the ACPI spec, and so we get a bogus physical address when dereferencing ->image_address in efi_bgrt_init(). Luckily the status field in the BGRT header clearly marks it as invalid, so we can check that field and skip BGRT initialisation. Reported-by: Madper Xie <[email protected]> Suggested-by: Toshi Kani <[email protected]> Cc: "Rafael J. Wysocki" <[email protected]> Cc: Matthew Garrett <[email protected]> Cc: Josh Triplett <[email protected]> Signed-off-by: Matt Fleming <[email protected]>
2014-02-14EDAC: Correct workqueue setup pathBorislav Petkov1-4/+7
We're using edac_mc_workq_setup() both on the init path, when we load an edac driver and when we change the polling period (edac_mc_reset_delay_period) through /sys/.../edac_mc_poll_msec. On that second path we don't need to init the workqueue which has been initialized already. Thanks to Tejun for workqueue insights. Signed-off-by: Borislav Petkov <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Cc: <[email protected]>
2014-02-14EDAC: Poll timeout cannot be zero, p2Borislav Petkov3-7/+9
Sanitize code even more to accept unsigned longs only and to not allow polling intervals below 1 second as this is unnecessary and doesn't make much sense anyway for polling errors. Signed-off-by: Borislav Petkov <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Cc: Doug Thompson <[email protected]> Cc: <[email protected]>
2014-02-14x86/efi: Fix 32-bit falloutBorislav Petkov4-3/+19
We do not enable the new efi memmap on 32-bit and thus we need to run runtime_code_page_mkexec() unconditionally there. Fix that. Reported-and-tested-by: Lejun Zhu <[email protected]> Signed-off-by: Borislav Petkov <[email protected]> Signed-off-by: Matt Fleming <[email protected]>
2014-02-14video: Kconfig: Allow more broad selection of the imxfb framebuffer driver.Denis Carikli1-1/+1
Without that patch, a user can't select the imxfb driver when the i.MX25 and/or the i.MX27 device tree board are selected and that no boards that selects IMX_HAVE_PLATFORM_IMX_FB are compiled in. Cc: Eric Bénard <[email protected]> Cc: Jean-Christophe Plagniol-Villard <[email protected]> Cc: Sascha Hauer <[email protected]> Cc: Tomi Valkeinen <[email protected]> Cc: [email protected] Cc: [email protected] Signed-off-by: Denis Carikli <[email protected]> Acked-by: Shawn Guo <[email protected]> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <[email protected]> Acked-by: Sascha Hauer <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2014-02-14video: exynos: Fix S6E8AX0 LCD driver build errorSachin Kamat1-1/+2
Enable S6E8AX0 LCD driver only if LCD_CLASS_DEVICE is a built-in driver. Else we get the following errors due to missing symbols: drivers/built-in.o: In function `s6e8ax0_probe': :(.text+0x51aec): undefined reference to `lcd_device_register' :(.text+0x51c44): undefined reference to `lcd_device_unregister' Signed-off-by: Sachin Kamat <[email protected]> Signed-off-by: Tomi Valkeinen <[email protected]>
2014-02-13IB/mlx5: Remove dependency on X86Eli Cohen2-2/+2
Remove Kconfig dependency of mlx5_ib/mlx5_core on X86, since there is no such dependency in reality. Signed-off-by: Eli Cohen <[email protected]> Signed-off-by: Michael Neuling <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2014-02-13mlx5: Add include of <linux/slab.h> because of kzalloc()/kfree() useRoland Dreier1-0/+2
On some architectures (for example, arm), we don't end up indirectly pulling in the declaration of kzalloc() and kfree(), and so building anything that includes <linux/mlx5/driver.h> breaks. Fix this by adding an explicit include to get the declaration. Reported-by: kbuild test robot <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2014-02-13hwmon: (ntc_thermistor) Avoid math overflowDoug Anderson1-3/+3
The ntc thermistor code was doing math whose temporary result might have overflowed 32-bits. We need some casts in there to make it safe. In one example I found: - pullup_uV: 1800000 - result of iio_read_channel_raw: 3226 - 1800000 * 3226 => 0x15a1cbc80 Signed-off-by: Doug Anderson <[email protected]> Cc: [email protected] # 3.10+ Signed-off-by: Guenter Roeck <[email protected]>
2014-02-14ARM: EXYNOS: Remove unused header file from pm_domains.cTushar Behera1-2/+0
plat/devs.h is not required in this file. Signed-off-by: Tushar Behera <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2014-02-14ARM: SAMSUNG: Remove Exynos specific code from devs, s5p-pm-irq and pm-gpio.cTushar Behera3-24/+4
This file is only compiled when SAMSUNG_ATAGS is enabled, hence not for Exynos platform. Signed-off-by: Tushar Behera <[email protected]> [[email protected]: squashed into one] Signed-off-by: Kukjin Kim <[email protected]>
2014-02-14ARM: SAMSUNG: Delete unused plat/regs-serial.h header fileTushar Behera1-1/+0
There are no more users of this file, it can be deleted now. Signed-off-by: Tushar Behera <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2014-02-14ARM: SAMSUNG: Replace inclusion of plat/regs-serial.h header fileTushar Behera74-80/+74
regs-serial.h only includes linux/serial_s3c.h. Include this header directly to remove unnecessary platform dependency. Signed-off-by: Tushar Behera <[email protected]> [[email protected]: Acked for S3C64XX related changes] Acked-by: Mark Brown <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2014-02-14ARM: SAMSUNG: Remove platform dependency from samsung.SSachin Kamat1-1/+1
regs-serial.h only includes linux/serial_s3c.h. Include this header directly in samsung.S to remove unnecessary platform dependency. Signed-off-by: Sachin Kamat <[email protected]> Signed-off-by: Tushar Behera <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2014-02-14ARM: S3C24XX: get rid of unneeded selectsPaul Bolle1-2/+0
Commit c67d0f29262b ("ARM: s3c24xx: get rid of custom <mach/gpio.h>") got rid of the Kconfig symbols S3C24XX_GPIO_EXTRA64 and S3C24XX_GPIO_EXTRA128. It missed one select of both of these symbols, so get rid of those now. Signed-off-by: Paul Bolle <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2014-02-13IB/qib: Add missing serdes init sequenceMike Marciniszyn1-0/+5
Research has shown that commit a77fcf895046 ("IB/qib: Use a single txselect module parameter for serdes tuning") missed a key serdes init sequence. This patch add that sequence. Cc: <[email protected]> Reviewed-by: Dennis Dalessandro <[email protected]> Signed-off-by: Mike Marciniszyn <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2014-02-13RDMA/cxgb4: Add missing neigh_release in LE-Workaround pathKumar Sanghvi1-0/+1
Signed-off-by: Kumar Sanghvi <[email protected]> Signed-off-by: Hariprasad Shenai <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2014-02-13IB: Report using RoCE IP based gids in port capsMoni Shoua3-3/+4
For userspace RoCE UD QPs we need to know the GID format that the kernel uses, e.g when working over older kernels. For that end, add a new port capability IB_PORT_IP_BASED_GIDS and report it when query port is issued. Signed-off-by: Moni Shoua <[email protected]> Signed-off-by: Matan Barak <[email protected]> Signed-off-by: Or Gerlitz <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2014-02-13IB/mlx4: Build the port IBoE GID table properly under bondingMoni Shoua1-4/+37
When scanning netdevices we need to check a few more conditions and cases to build the IBoE GID table properly. For example, under bonding we must make sure that when a port is down, the bond IP address isn't programmed as a GID, since doing so will cause failure with IB core flows that selects ports by GID. Signed-off-by: Moni Shoua <[email protected]> Signed-off-by: Or Gerlitz <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2014-02-13IB/mlx4: Do IBoE GID table resets per-portMoni Shoua1-17/+18
The IBoE code used to reset the GID table did it for all Ethernet ports of the device. Since the whole architecture of generating GIDs and responding to events is port-based, this is inefficient and can lead to wrong content in the GID table. Change the reset flow to be per-port. Signed-off-by: Moni Shoua <[email protected]> Signed-off-by: Or Gerlitz <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2014-02-13IB/mlx4: Do IBoE locking earlier when initializing the GID tableMoni Shoua1-3/+3
Updating the GID table under IBoE requires read/write from/to shared data structures. These data structures are protected with the device iboe lock. The flows that modify the GID table start from 1. Initializing the GID table 2. NETDEV events 3. INET or INET6 events This patch makes sure that the flow of initializing the GID table is consistent with the other two flows w.r.t on what step the lock is taken. Signed-off-by: Moni Shoua <[email protected]> Signed-off-by: Or Gerlitz <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2014-02-13IB/mlx4: Move rtnl locking to the right placeMoni Shoua1-2/+2
On the one hand, the invocation of netdev_master_upper_dev_get() within mlx4_ib_scan_netdevs() must be done with rtnl lock held. On the other hand, it's wrong to call rtnl_lock() from within this function since it's also called by our netdev notifier callback. Therefore move the locking to mlx4_ib_add() so that both cases are covered. Signed-off-by: Moni Shoua <[email protected]> Signed-off-by: Or Gerlitz <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2014-02-13IB/mlx4: Make sure GID index 0 is always occupiedMoni Shoua1-24/+68
Make sure that for Ethernet ports, the port GID table index 0 is always occupied with a default GID of the relevant IPv6 link-local adderss. This provides better user experience for legacy applications that don't use the RDMA CM and were working on index 0 prior to the IP addressing change. Also, as GIDs are generated from IP addresses of the network devices that are associated with the port, it's basically possible that the GID table will be empty if no IP address was assigned. This doesn't comply with the IB spec section 4.1.1 "GID usage and properties". Signed-off-by: Moni Shoua <[email protected]> Signed-off-by: Or Gerlitz <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
2014-02-14irqchip: exynos-combiner: call handle_bad_irq directlyPankaj Dubey1-2/+1
This patch is inspired from following commit aec00956 (irqchip: gic: Call handle_bad_irq() directly) Also this will help in removing unwanted inclusion of header file "asm/mach/irq.h" Signed-off-by: Pankaj Dubey <[email protected]> Reviewed-by: Tomasz Figa <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2014-02-14clocksource: exynos_mct: remove unwanted header file inclusionPankaj Dubey1-2/+0
remove unwanted header file inclusion "asm/mach/time.h" from exynos_mct.c Signed-off-by: Pankaj Dubey <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2014-02-14ARM: SAMSUNG: remove unneeded s3c24xx_init_cpu()Heiko Stuebner3-9/+0
The function is nearly empty and samsung_cpu_rev is static so already 0 making the function obsolete, therefore remove it. Signed-off-by: Heiko Stuebner <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2014-02-14ARM: SAMSUNG: remove obsolete tick.hHeiko Stuebner3-77/+0
Commit 48cf83dc(ARM: samsung: remove unused tick.h) removed some occurences of tick.h. tick.h itself and s3c24xx_ostimer_pending was only used by the old timer driver and is not used anymore. Therefore remove the last 3 occurences. Signed-off-by: Heiko Stuebner <[email protected]> Reviewed-by: Tomasz Figa <[email protected]> Signed-off-by: Kukjin Kim <[email protected]>
2014-02-13tick: Clear broadcast pending bit when switching to oneshotThomas Gleixner1-0/+1
AMD systems which use the C1E workaround in the amd_e400_idle routine trigger the WARN_ON_ONCE in the broadcast code when onlining a CPU. The reason is that the idle routine of those AMD systems switches the cpu into forced broadcast mode early on before the newly brought up CPU can switch over to high resolution / NOHZ mode. The timer related CPU1 bringup looks like this: clockevent_register_device(local_apic); tick_setup(local_apic); ... idle() tick_broadcast_on_off(FORCE); tick_broadcast_oneshot_control(ENTER) cpumask_set(cpu, broadcast_oneshot_mask); halt(); Now the broadcast interrupt on CPU0 sets CPU1 in the broadcast_pending_mask and wakes CPU1. So CPU1 continues: local_apic_timer_interrupt() tick_handle_periodic(); softirq() tick_init_highres(); cpumask_clr(cpu, broadcast_oneshot_mask); tick_broadcast_oneshot_control(ENTER) WARN_ON(cpumask_test(cpu, broadcast_pending_mask); So while we remove CPU1 from the broadcast_oneshot_mask when we switch over to highres mode, we do not clear the pending bit, which then triggers the warning when we go back to idle. The reason why this is only visible on C1E affected AMD systems is that the other machines enter the deep sleep states via acpi_idle/intel_idle and exit the broadcast mode before executing the remote triggered local_apic_timer_interrupt. So the pending bit is already cleared when the switch over to highres mode is clearing the oneshot mask. The solution is simple: Clear the pending bit together with the mask bit when we switch over to highres mode. Stanislaw came up independently with the same patch by enforcing the C1E workaround and debugging the fallout. I picked mine, because mine has a changelog :) Reported-by: poma <[email protected]> Debugged-by: Stanislaw Gruszka <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Cc: Olaf Hering <[email protected]> Cc: Dave Jones <[email protected]> Cc: Justin M. Forbes <[email protected]> Cc: Josh Boyer <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Cc: [email protected] # 3.10+ Signed-off-by: Thomas Gleixner <[email protected]>
2014-02-13lockd: send correct lock when granting a delayed lock.NeilBrown1-0/+8
If an NFS client attempts to get a lock (using NLM) and the lock is not available, the server will remember the request and when the lock becomes available it will send a GRANT request to the client to provide the lock. If the client already held an adjacent lock, the GRANT callback will report the union of the existing and new locks, which can confuse the client. This happens because __posix_lock_file (called by vfs_lock_file) updates the passed-in file_lock structure when adjacent or over-lapping locks are found. To avoid this problem we take a copy of the two fields that can be changed (fl_start and fl_end) before the call and restore them afterwards. An alternate would be to allocate a 'struct file_lock', initialise it, use locks_copy_lock() to take a copy, then locks_release_private() after the vfs_lock_file() call. But that is a lot more work. Reported-by: Olaf Kirch <[email protected]> Signed-off-by: NeilBrown <[email protected]> Cc: [email protected] Signed-off-by: J. Bruce Fields <[email protected]> -- v1 had a couple of issues (large on-stack struct and didn't really work properly). This version is much better tested. Signed-off-by: J. Bruce Fields <[email protected]>
2014-02-13vt: Fix secure clear screenPetr Písař1-0/+2
\E[3J console code (secure clear screen) needs to update_screen(vc) in order to write-through blanks into off-screen video memory. This has been removed accidentally in 3.6 by: commit 81732c3b2fede049a692e58a7ceabb6d18ffb18c Author: Jean-François Moine <[email protected]> Date: Thu Sep 6 19:24:13 2012 +0200 tty vt: Fix line garbage in virtual console on command line edition Signed-off-by: Petr Písař <[email protected]> Cc: stable <[email protected]> # 3.6 Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-02-13serial: 8250: Support XR17V35x fraction divisorJoe Schultz1-0/+18
The Exar XR17V35x family of UARTs have an additional fractional divisor register (DLD) which was not being used. Calculate and set this register for these devices to reduce their baud rate error. Signed-off-by: Joe Schultz <[email protected]> Signed-off-by: Aaron Sierra <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-02-13n_tty: Fix stale echo outputPeter Hurley1-5/+7
When echoes cannot be flushed to output (usually because the tty has no more write room) and L_ECHO is subsequently turned off, then when L_ECHO is turned back on, stale echoes are output. Output completed echoes regardless of the L_ECHO setting: 1. before normal writes to that tty 2. if the tty was stopped by soft flow control and is being restarted Reported-by: Mikulas Patocka <[email protected]> Cc: <[email protected]> # 3.13.x Signed-off-by: Peter Hurley <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-02-13serial: sirf: fix kernel panic caused by unpaired spinlockQipan Li1-1/+3
commit 8b9ade9f74f8a279 coming from Viresh Kumar "tty: serial: sirfsoc: drop uart_port->lock before calling tty_flip_buffer_push()" broke sirfsoc uart driver by knic: [ 5.129122] BUG: spinlock already unlocked on CPU#0, ip6tables/1331 [ 5.132554] lock: sirfsoc_uart_ports+0x4/0x8a0, .magic: dead4ead, .owner: <none>/-1, .owner_cpu: -1 [ 5.141651] CPU: 0 PID: 1331 Comm: ip6tables Tainted: G W O 3.10.16 #3 [ 5.148866] [<c0013528>] (unwind_backtrace+0x0/0xe0) from [<c0010e70>] (show_stack+0x10/0x14) [ 5.157362] [<c0010e70>] (show_stack+0x10/0x14) from [<c01a5e68>] (do_raw_spin_unlock+0x40/0xc8) [ 5.166125] [<c01a5e68>] (do_raw_spin_unlock+0x40/0xc8) from [<c03ff8b4>] (_raw_spin_unlock+0x8/0x40) [ 5.175322] [<c03ff8b4>] (_raw_spin_unlock+0x8/0x40) from [<c0203fcc>] (sirfsoc_uart_pio_rx_chars+0xa4/0xc0) [ 5.185120] [<c0203fcc>] (sirfsoc_uart_pio_rx_chars+0xa4/0xc0) from [<c0204fb8>] (sirfsoc_rx_tmo_process_tl+0xdc/0x1e0) [ 5.195875] [<c0204fb8>] (sirfsoc_rx_tmo_process_tl+0xdc/0x1e0) from [<c0024b50>] (tasklet_action+0x8c/0xec) [ 5.205673] [<c0024b50>] (tasklet_action+0x8c/0xec) from [<c00242a8>] (__do_softirq+0xec/0x1d4) [ 5.214347] [<c00242a8>] (__do_softirq+0xec/0x1d4) from [<c0024428>] (do_softirq+0x48/0x54) [ 5.222674] [<c0024428>] (do_softirq+0x48/0x54) from [<c0024690>] (irq_exit+0x74/0xc0) [ 5.230573] [<c0024690>] (irq_exit+0x74/0xc0) from [<c000e1e8>] (handle_IRQ+0x6c/0x90) [ 5.238465] [<c000e1e8>] (handle_IRQ+0x6c/0x90) from [<c000d500>] (__irq_svc+0x40/0x70) [ 5.246446] [<c000d500>] (__irq_svc+0x40/0x70) from [<c0092e7c>] (mark_page_accessed+0xc/0x68) [ 5.255034] [<c0092e7c>] (mark_page_accessed+0xc/0x68) from [<c00a2a4c>] (unmap_single_vma+0x3bc/0x550) [ 5.264402] [<c00a2a4c>] (unmap_single_vma+0x3bc/0x550) from [<c00a3b4c>] (unmap_vmas+0x44/0x54) [ 5.273164] [<c00a3b4c>] (unmap_vmas+0x44/0x54) from [<c00a81a8>] (exit_mmap+0xc4/0x1e0) [ 5.281233] [<c00a81a8>] (exit_mmap+0xc4/0x1e0) from [<c001bb78>] (mmput+0x3c/0xdc) [ 5.288868] [<c001bb78>] (mmput+0x3c/0xdc) from [<c0021b0c>] (do_exit+0x30c/0x828) [ 5.296413] [<c0021b0c>] (do_exit+0x30c/0x828) from [<c0022dac>] (do_group_exit+0x4c/0xb0) [ 5.304653] [<c0022dac>] (do_group_exit+0x4c/0xb0) from [<c0022e20>] (__wake_up_parent+0x0/0x18) Root cause: the commit dropped uart_port->lock before calling tty_flip_buffer_push(), but in sirfsoc-uart, sirfsoc_uart_pio_rx_chars() can be called by sirfsoc_rx_tmo_process_tl(). here uart_port->lock has not been taken yet. so that caused unpaired lock/unlock. Solution: This patch is doing a quick fix for that, it adds spin_lock/unlock(&port->lock) protect to sirfsoc_uart_pio_rx_chars() in sirfsoc_rx_tmo_process_tl() to keep spin_lock/unlock in pair. Signed-off-by: Qipan Li <[email protected]> Signed-off-by: Barry Song <[email protected]> Cc: stable <[email protected]> # 3.12 Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-02-13serial: 8250_pci: unbreak last serial ports on NetMos 9865 cardsDmitry Eremin-Solenikov1-1/+2
Aparently 9865 uses standard BAR encoding scheme (unlike 99xx cards). Current pci_netmos_9900_setup() uses wrong BAR indices for the 9865 PCI device, function 2. Using standard BAR indices makes all 6 ports work for me. Thus disable the NetMos 9900 quirk for NetMos 9865 pci device. For the reference, here is the relevant part of lspci for my device: 02:07.0 Serial controller: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller (prog-if 02 [16550]) Subsystem: Device a000:1000 Flags: bus master, medium devsel, latency 32, IRQ 17 I/O ports at ac00 [size=8] Memory at fcfff000 (32-bit, non-prefetchable) [size=4K] Memory at fcffe000 (32-bit, non-prefetchable) [size=4K] Capabilities: [48] Power Management version 2 Kernel driver in use: serial 02:07.1 Serial controller: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller (prog-if 02 [16550]) Subsystem: Device a000:1000 Flags: bus master, medium devsel, latency 32, IRQ 18 I/O ports at a800 [size=8] Memory at fcffd000 (32-bit, non-prefetchable) [size=4K] Memory at fcffc000 (32-bit, non-prefetchable) [size=4K] Capabilities: [48] Power Management version 2 Kernel driver in use: serial 02:07.2 Communication controller: MosChip Semiconductor Technology Ltd. PCI 9865 Multi-I/O Controller Subsystem: Device a000:3004 Flags: bus master, medium devsel, latency 32, IRQ 19 I/O ports at a400 [size=8] I/O ports at a000 [size=8] I/O ports at 9c00 [size=8] I/O ports at 9800 [size=8] Memory at fcffb000 (32-bit, non-prefetchable) [size=4K] Capabilities: [48] Power Management version 2 Kernel driver in use: serial Signed-off-by: Dmitry Eremin-Solenikov <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-02-13n_tty: Fix poll() when TIME_CHAR and MIN_CHAR == 0Peter Hurley1-1/+1
Commit eafbe67f84761d787802e5113d895a316b6292fe, n_tty: Refactor input_available_p() by call site broke poll() when TIME_CHAR(tty) and MIN_CHAR(tty) are both 0. When TIME_CHAR and MIN_CHAR are both 0, input is available if the read_cnt is 1 (not 0). Reported-by: Eric Dumazet <[email protected]> Tested-by: Eric Dumazet <[email protected]> Reported-by: Stephane Eranian <[email protected]> Tested-by: David Ahern <[email protected]> Tested-by: Arnaldo Carvalho de Melo <[email protected]> Signed-off-by: Peter Hurley <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>