31 Mar, 2017
2 commits
26 Aug, 2016
1 commit
24 Aug, 2016
1 commit
17 Aug, 2016
1 commit
02 Jun, 2016
35 commits
-
TI-Feature: ti_linux_base_lsk
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.4.y* 'ti-linux-4.4.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
ARM: dts: keystone: increase number of descriptors in region-12
ti_config_fragments/connectivity.cfg: Enable IPSec configSigned-off-by: LCPD Auto Merger
-
…rnel-integration-tree into ti-linux-4.4.y
TI-Feature: integration
TI-Tree: git://git.ti.com/ti-linux-kernel/kernel-integration-tree.git
TI-Branch: integration-ti-linux-4.4.y* 'integration-ti-linux-4.4.y' of git://git.ti.com/ti-linux-kernel/kernel-integration-tree:
ARM: dts: keystone: increase number of descriptors in region-12
ti_config_fragments/connectivity.cfg: Enable IPSec configSigned-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
-
New interfaces were added recently but number of descriptors
were not adjusted accordingly. This patch updates the
number of descriptors in descriptor pool region-12 so that
it is enough for 2 gbe+pa and 2 10gbe interfaces.Signed-off-by: WingMan Kwok
Acked-by: Kishon Vijay Abraham I -
Configs which are required for a successful ipsec association need
to be enabled. Doing that here.Signed-off-by: Aparna Balasubramanian
[nsekhar@ti.com: remove duplicates, use modules where possible]
Signed-off-by: Sekhar Nori
[grygorii.strashko@ti.com: remove option not related to IPSec]
Signed-off-by: Grygorii Strashko -
TI-Feature: ti_linux_base_lsk
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.4.y* 'ti-linux-4.4.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel:
ti_config_fragments/connectivity.cfg: build matrix-keypad as module
ARM: dts: keystone: remove bogus PCI IO resources in DT bindingsSigned-off-by: LCPD Auto Merger
-
…gration-tree/connectivity-ti-linux-kernel into ti-linux-4.4.y
TI-Feature: connectivity
TI-Tree: git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel.git
TI-Branch: connectivity-ti-linux-4.4.y* 'connectivity-ti-linux-4.4.y' of git://git.ti.com/connectivity-integration-tree/connectivity-ti-linux-kernel:
ti_config_fragments/connectivity.cfg: build matrix-keypad as module
ARM: dts: keystone: remove bogus PCI IO resources in DT bindingsSigned-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
-
am335x-evm and several of the am437x platforms make use of the
matrix-keypad driver so make sure to set CONFIG_KEYBOARD_MATRIX=m so
that it is built as a module as it was with omap2plus_defconfig.Signed-off-by: Dave Gerlach
Signed-off-by: Sekhar Nori -
In the past, the PCI controller required a IO resource to be specified
without which it fails in PCI core when creating the RC device. So
to overcome this, a bogus entry was added. In recent kernel, this
requirement is removed and we could initialize without specifying an IO
resource. Keystone PCI controller hardware doesn't support IO window.
So it is not required.The flip side of this is that during boot, following error log is thrown
in, but doesn't cause any issues with SATA hard drive access. So remove
the bogus entry as having it can causes the device to fail for access to
the IO window (only snapshot of first few lines of dump shown)[ 37.182381] Unable to handle kernel paging request at virtual address fee01020
[ 37.189598] pgd = d9d5fec0
[ 37.192297] [fee01020] *pgd=80000800007003, *pmd=00000000
[ 37.197700] Internal error: Oops: 206 [#1] PREEMPT SMP ARM
[ 37.203176] Modules linked in: xhci_plat_hcd ahci libahci dwc3 libata udc_core extcon dwc3_keystone
[ 37.212258] CPU: 0 PID: 1797 Comm: udevadm Not tainted 4.4.11-00323-ge3a9adb #1
[ 37.219557] Hardware name: Keystone
[ 37.223038] task: daaec600 ti: d9eba000 task.ti: d9eba000
[ 37.228433] PC is at pci_read_resource_io+0xe4/0xf4
[ 37.233302] LR is at 0x0
[ 37.235830] pc : [] lr : [] psr: 60010013
[ 37.235830] sp : d9ebbe50 ip : da11a240 fp : d9ebbe6c
[ 37.247295] r10: d9fe4000 r9 : da31e9cc r8 : d9ebbf80
[ 37.252511] r7 : 00000000 r6 : 00001023 r5 : 00000000 r4 : 00001023
[ 37.259029] r3 : d9fe4000 r2 : fee01020 r1 : 00001020 r0 : 00000004
[ 37.265548] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 37.272673] Control: 30c5387d Table: 19d5fec0 DAC: fffffffd
[ 37.278410] Process udevadm (pid: 1797, stack limit = 0xd9eba210)Signed-off-by: Murali Karicheri
Signed-off-by: Sekhar Nori -
TI-Feature: ti_linux_base_lsk
TI-Tree: git@git.ti.com:ti-linux-kernel/ti-linux-kernel.git
TI-Branch: ti-linux-4.4.y* 'ti-linux-4.4.y' of git.ti.com:ti-linux-kernel/ti-linux-kernel: (87 commits)
Linux 4.4.12
kbuild: move -Wunused-const-variable to W=1 warning level
Revert "scsi: fix soft lockup in scsi_remove_target() on module removal"
scsi: Add intermediate STARGET_REMOVE state to scsi_target_state
hpfs: implement the show_options method
hpfs: fix remount failure when there are no options changed
UBI: Fix static volume checks when Fastmap is used
SIGNAL: Move generic copy_siginfo() to signal.h
thunderbolt: Fix double free of drom buffer
IB/srp: Fix a debug kernel crash
ALSA: hda - Fix headset mic detection problem for one Dell machine
ALSA: hda/realtek - Add support for ALC295/ALC3254
ALSA: hda - Fix headphone noise on Dell XPS 13 9360
ALSA: hda/realtek - New codecs support for ALC234/ALC274/ALC294
mcb: Fixed bar number assignment for the gdd
clk: bcm2835: add locking to pll*_on/off methods
locking,qspinlock: Fix spin_is_locked() and spin_unlock_wait()
serial: samsung: Reorder the sequence of clock control when call s3c24xx_serial_set_termios()
serial: 8250_mid: recognize interrupt source in handler
serial: 8250_mid: use proper bar for DNV platform
...Signed-off-by: LCPD Auto Merger
-
…ux-stable into ti-linux-4.4.y
This is the 4.4.12 stable release
* tag 'v4.4.12' of http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable: (87 commits)
Linux 4.4.12
kbuild: move -Wunused-const-variable to W=1 warning level
Revert "scsi: fix soft lockup in scsi_remove_target() on module removal"
scsi: Add intermediate STARGET_REMOVE state to scsi_target_state
hpfs: implement the show_options method
hpfs: fix remount failure when there are no options changed
UBI: Fix static volume checks when Fastmap is used
SIGNAL: Move generic copy_siginfo() to signal.h
thunderbolt: Fix double free of drom buffer
IB/srp: Fix a debug kernel crash
ALSA: hda - Fix headset mic detection problem for one Dell machine
ALSA: hda/realtek - Add support for ALC295/ALC3254
ALSA: hda - Fix headphone noise on Dell XPS 13 9360
ALSA: hda/realtek - New codecs support for ALC234/ALC274/ALC294
mcb: Fixed bar number assignment for the gdd
clk: bcm2835: add locking to pll*_on/off methods
locking,qspinlock: Fix spin_is_locked() and spin_unlock_wait()
serial: samsung: Reorder the sequence of clock control when call s3c24xx_serial_set_termios()
serial: 8250_mid: recognize interrupt source in handler
serial: 8250_mid: use proper bar for DNV platform
...Signed-off-by: LCPD Auto Merger <lcpd_integration@list.ti.com>
-
commit c9c6837d39311b0cc14cdbe7c18e815ab44aefb1 upstream.
gcc-6 started warning by default about variables that are not
used anywhere and that are marked 'const', generating many
false positives in an allmodconfig build, e.g.:arch/arm/mach-davinci/board-da830-evm.c:282:20: warning: 'da830_evm_emif25_pins' defined but not used [-Wunused-const-variable=]
arch/arm/plat-omap/dmtimer.c:958:34: warning: 'omap_timer_match' defined but not used [-Wunused-const-variable=]
drivers/bluetooth/hci_bcm.c:625:39: warning: 'acpi_bcm_default_gpios' defined but not used [-Wunused-const-variable=]
drivers/char/hw_random/omap-rng.c:92:18: warning: 'reg_map_omap4' defined but not used [-Wunused-const-variable=]
drivers/devfreq/exynos/exynos5_bus.c:381:32: warning: 'exynos5_busfreq_int_pm' defined but not used [-Wunused-const-variable=]
drivers/dma/mv_xor.c:1139:34: warning: 'mv_xor_dt_ids' defined but not used [-Wunused-const-variable=]This is similar to the existing -Wunused-but-set-variable warning
that was added in an earlier release and that we disable by default
now and only enable when W=1 is set, so it makes sense to do
the same here. Once we have eliminated the majority of the
warnings for both, we can put them back into the default list.We probably want this in backport kernels as well, to allow building
them with gcc-6 without introducing extra warnings.Signed-off-by: Arnd Bergmann
Acked-by: Olof Johansson
Acked-by: Lee Jones
Signed-off-by: Michal Marek
Signed-off-by: Greg Kroah-Hartman -
commit 305c2e71b3d733ec065cb716c76af7d554bd5571 upstream.
Now that we've done a more comprehensive fix with the intermediate
target state we can remove the previous hack introduced with commit
90a88d6ef88e ("scsi: fix soft lockup in scsi_remove_target() on module
removal").Signed-off-by: Johannes Thumshirn
Reviewed-by: Ewan D. Milne
Reviewed-by: Hannes Reinecke
Signed-off-by: Martin K. Petersen
Signed-off-by: Greg Kroah-Hartman -
commit f05795d3d771f30a7bdc3a138bf714b06d42aa95 upstream.
Add intermediate STARGET_REMOVE state to scsi_target_state to avoid
running into the BUG_ON() in scsi_target_reap(). The STARGET_REMOVE
state is only valid in the path from scsi_remove_target() to
scsi_target_destroy() indicating this target is going to be removed.This re-fixes the problem introduced in commits bc3f02a795d3 ("[SCSI]
scsi_remove_target: fix softlockup regression on hot remove") and
40998193560d ("scsi: restart list search after unlock in
scsi_remove_target") in a more comprehensive way.[mkp: Included James' fix for scsi_target_destroy()]
Signed-off-by: Johannes Thumshirn
Fixes: 40998193560dab6c3ce8d25f4fa58a23e252ef38
Reported-by: Sergey Senozhatsky
Tested-by: Sergey Senozhatsky
Reviewed-by: Ewan D. Milne
Reviewed-by: Hannes Reinecke
Reviewed-by: James Bottomley
Signed-off-by: Martin K. Petersen
Signed-off-by: Greg Kroah-Hartman -
commit 037369b872940cd923835a0a589763180c4a36bc upstream.
The HPFS filesystem used generic_show_options to produce string that is
displayed in /proc/mounts. However, there is a problem that the options
may disappear after remount. If we mount the filesystem with option1
and then remount it with option2, /proc/mounts should show both option1
and option2, however it only shows option2 because the whole option
string is replaced with replace_mount_options in hpfs_remount_fs.To fix this bug, implement the hpfs_show_options function that prints
options that are currently selected.Signed-off-by: Mikulas Patocka
Signed-off-by: Linus Torvalds
Signed-off-by: Greg Kroah-Hartman -
commit 44d51706b4685f965cd32acde3fe0fcc1e6198e8 upstream.
Commit ce657611baf9 ("hpfs: kstrdup() out of memory handling") checks if
the kstrdup function returns NULL due to out-of-memory condition.However, if we are remounting a filesystem with no change to
filesystem-specific options, the parameter data is NULL. In this case,
kstrdup returns NULL (because it was passed NULL parameter), although no
out of memory condition exists. The mount syscall then fails with
ENOMEM.This patch fixes the bug. We fail with ENOMEM only if data is non-NULL.
The patch also changes the call to replace_mount_options - if we didn't
pass any filesystem-specific options, we don't call
replace_mount_options (thus we don't erase existing reported options).Fixes: ce657611baf9 ("hpfs: kstrdup() out of memory handling")
Signed-off-by: Mikulas Patocka
Signed-off-by: Linus Torvalds
Signed-off-by: Greg Kroah-Hartman -
commit 1900149c835ab5b48bea31a823ea5e5a401fb560 upstream.
Ezequiel reported that he's facing UBI going into read-only
mode after power cut. It turned out that this behavior happens
only when updating a static volume is interrupted and Fastmap is
used.A possible trace can look like:
ubi0 warning: ubi_io_read_vid_hdr [ubi]: no VID header found at PEB 2323, only 0xFF bytes
ubi0 warning: ubi_eba_read_leb [ubi]: switch to read-only mode
CPU: 0 PID: 833 Comm: ubiupdatevol Not tainted 4.6.0-rc2-ARCH #4
Hardware name: SAMSUNG ELECTRONICS CO., LTD. 300E4C/300E5C/300E7C/NP300E5C-AD8AR, BIOS P04RAP 10/15/2012
0000000000000286 00000000eba949bd ffff8800c45a7b38 ffffffff8140d841
ffff8801964be000 ffff88018eaa4800 ffff8800c45a7bb8 ffffffffa003abf6
ffffffff850e2ac0 8000000000000163 ffff8801850e2ac0 ffff8801850e2ac0
Call Trace:
[] dump_stack+0x63/0x82
[] ubi_eba_read_leb+0x486/0x4a0 [ubi]
[] ubi_check_volume+0x83/0xf0 [ubi]
[] ubi_open_volume+0x177/0x350 [ubi]
[] vol_cdev_open+0x58/0xb0 [ubi]
[] chrdev_open+0xae/0x1d0
[] do_dentry_open+0x1ff/0x300
[] ? cdev_put+0x30/0x30
[] vfs_open+0x56/0x60
[] path_openat+0x4f4/0x1190
[] do_filp_open+0x91/0x100
[] ? __alloc_fd+0xc7/0x190
[] do_sys_open+0x13f/0x210
[] SyS_open+0x1e/0x20
[] entry_SYSCALL_64_fastpath+0x1a/0xa4UBI checks static volumes for data consistency and reads the
whole volume upon first open. If the volume is found erroneous
users of UBI cannot read from it, but another volume update is
possible to fix it. The check is performed by running
ubi_eba_read_leb() on every allocated LEB of the volume.
For static volumes ubi_eba_read_leb() computes the checksum of all
data stored in a LEB. To verify the computed checksum it has to read
the LEB's volume header which stores the original checksum.
If the volume header is not found UBI treats this as fatal internal
error and switches to RO mode. If the UBI device was attached via a
full scan the assumption is correct, the volume header has to be
present as it had to be there while scanning to get known as mapped.
If the attach operation happened via Fastmap the assumption is no
longer correct. When attaching via Fastmap UBI learns the mapping
table from Fastmap's snapshot of the system state and not via a full
scan. It can happen that a LEB got unmapped after a Fastmap was
written to the flash. Then UBI can learn the LEB still as mapped and
accessing it returns only 0xFF bytes. As UBI is not a FTL it is
allowed to have mappings to empty PEBs, it assumes that the layer
above takes care of LEB accounting and referencing.
UBIFS does so using the LEB property tree (LPT).
For static volumes UBI blindly assumes that all LEBs are present and
therefore special actions have to be taken.The described situation can happen when updating a static volume is
interrupted, either by a user or a power cut.
The volume update code first unmaps all LEBs of a volume and then
writes LEB by LEB. If the sequence of operations is interrupted UBI
detects this either by the absence of LEBs, no volume header present
at scan time, or corrupted payload, detected via checksum.
In the Fastmap case the former method won't trigger as no scan
happened and UBI automatically thinks all LEBs are present.
Only by reading data from a LEB it detects that the volume header is
missing and incorrectly treats this as fatal error.
To deal with the situation ubi_eba_read_leb() from now on checks
whether we attached via Fastmap and handles the absence of a
volume header like a data corruption error.
This way interrupted static volume updates will correctly get detected
also when Fastmap is used.Reported-by: Ezequiel Garcia
Tested-by: Ezequiel Garcia
Signed-off-by: Richard Weinberger
Signed-off-by: Greg Kroah-Hartman -
commit ca9eb49aa9562eaadf3cea071ec7018ad6800425 upstream.
The generic copy_siginfo() is currently defined in
asm-generic/siginfo.h, after including uapi/asm-generic/siginfo.h which
defines the generic struct siginfo. However this makes it awkward for an
architecture to use it if it has to define its own struct siginfo (e.g.
MIPS and potentially IA64), since it means that asm-generic/siginfo.h
can only be included after defining the arch-specific siginfo, which may
be problematic if the arch-specific definition needs definitions from
uapi/asm-generic/siginfo.h.It is possible to work around this by first including
uapi/asm-generic/siginfo.h to get the constants before defining the
arch-specific siginfo, and include asm-generic/siginfo.h after. However
uapi headers can't be included by other uapi headers, so that first
include has to be in an ifdef __kernel__, with the non __kernel__ case
including the non-UAPI header instead.Instead of that mess, move the generic copy_siginfo() definition into
linux/signal.h, which allows an arch-specific uapi/asm/siginfo.h to
include asm-generic/siginfo.h and define the arch-specific siginfo, and
for the generic copy_siginfo() to see that arch-specific definition.Signed-off-by: James Hogan
Cc: Arnd Bergmann
Cc: Ralf Baechle
Cc: Petr Malat
Cc: Tony Luck
Cc: Fenghua Yu
Cc: Christopher Ferris
Cc: linux-arch@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: linux-ia64@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12478/
Signed-off-by: Ralf Baechle
Signed-off-by: Greg Kroah-Hartman -
commit 2ffa9a5d76a75abbc1f95c17959fced666095bdd upstream.
If tb_drom_read() fails, sw->drom is freed but not set to NULL. sw->drom
is then freed again in the error path of tb_switch_alloc().The bug can be triggered by unplugging a thunderbolt device shortly after
it is detected by the thunderbolt driver.Clear sw->drom if tb_drom_read() fails.
[bhelgaas: add Fixes:, stable versions of interest]
Fixes: 343fcb8c70d7 ("thunderbolt: Fix nontrivial endpoint devices.")
Signed-off-by: Andreas Noever
Signed-off-by: Bjorn Helgaas
CC: Lukas Wunner
Signed-off-by: Greg Kroah-Hartman -
commit 54f5c9c52d69afa55abf2b034df8d45f588466c3 upstream.
Avoid that the following BUG() is triggered against a debug
kernel:kernel BUG at include/linux/scatterlist.h:92!
RIP: 0010:[] [] srp_map_idb+0x199/0x1a0 [ib_srp]
Call Trace:
[] srp_map_data+0x84a/0x890 [ib_srp]
[] srp_queuecommand+0x1e4/0x610 [ib_srp]
[] scsi_dispatch_cmd+0x9e/0x180
[] scsi_request_fn+0x477/0x610
[] __blk_run_queue+0x2e/0x40
[] blk_delay_work+0x20/0x30
[] process_one_work+0x197/0x480
[] worker_thread+0x49/0x490
[] kthread+0xea/0x100
[] ret_from_fork+0x22/0x40Fixes: f7f7aab1a5c0 ("IB/srp: Convert to new registration API")
Signed-off-by: Bart Van Assche
Cc: Sagi Grimberg
Cc: Christoph Hellwig
Reviewed-by: Max Gurtovoy
Reviewed-by: Sagi Grimberg
Signed-off-by: Doug Ledford
Signed-off-by: Greg Kroah-Hartman -
commit 86c72d1ce91d804e4fa8d90b316a89597dd220f1 upstream.
Add the pin configuration value of this machine into the pin_quirk
table to make DELL1_MIC_NO_PRESENCE apply to this machine.Signed-off-by: Hui Wang
Signed-off-by: Takashi Iwai
Signed-off-by: Greg Kroah-Hartman -
commit 7d727869c7b86da0874436ac5675dcdadaf3a0a1 upstream.
Add support for ALC295/ALC3254.
They are simply compatible with ALC225 chip.Signed-off-by: Kailang Yang
Signed-off-by: Takashi Iwai
Signed-off-by: Greg Kroah-Hartman -
commit 423cd785619ac6778252fbdb916505aa1c153959 upstream.
The headphone has noise when playing sound or switching microphone sources.
It uses the same codec on XPS 13 9350, but with different subsystem ID.
Applying the fixup can solve the issue.
Also, changing the model name to better differentiate models.v2: Reorder by device ID.
Signed-off-by: Kai-Heng Feng
Signed-off-by: Takashi Iwai
Signed-off-by: Greg Kroah-Hartman -
commit dcd4f0db6141d6bf2cb897309d5d6f53d1b1696f upstream.
Support new codecs for ALC234/ALC274/ALC294.
This three codecs was the same IC.
But bonding is not the same.Signed-off-by: Kailang Yang
Signed-off-by: Takashi Iwai
Signed-off-by: Greg Kroah-Hartman -
commit f75564d343010b025301d9548f2304f48eb25f01 upstream.
The bar number is found in reg2 within the gdd. Therefore
we need to change the assigment from reg1 to reg2 which
is the correct location.Signed-off-by: Andreas Werner
Fixes: '3764e82e5' drivers: Introduce MEN Chameleon Bus
Signed-off-by: Johannes Thumshirn
Signed-off-by: Greg Kroah-Hartman -
commit ec36a5c6682fdd5328abf15c3c67281bed0241d7 upstream.
Add missing locking to:
* bcm2835_pll_divider_on
* bcm2835_pll_divider_off
to protect the read modify write cycle for the
register access protecting both cm_reg and a2w_reg
registers.Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the
audio domain clocks")Signed-off-by: Martin Sperl
Signed-off-by: Eric Anholt
Reviewed-by: Eric Anholt
Signed-off-by: Greg Kroah-Hartman -
commit 54cf809b9512be95f53ed4a5e3b631d1ac42f0fa upstream.
Similar to commits:
51d7d5205d33 ("powerpc: Add smp_mb() to arch_spin_is_locked()")
d86b8da04dfa ("arm64: spinlock: serialise spin_unlock_wait against concurrent lockers")qspinlock suffers from the fact that the _Q_LOCKED_VAL store is
unordered inside the ACQUIRE of the lock.And while this is not a problem for the regular mutual exclusive
critical section usage of spinlocks, it breaks creative locking like:spin_lock(A) spin_lock(B)
spin_unlock_wait(B) if (!spin_is_locked(A))
do_something() do_something()In that both CPUs can end up running do_something at the same time,
because our _Q_LOCKED_VAL store can drop past the spin_unlock_wait()
spin_is_locked() loads (even on x86!!).To avoid making the normal case slower, add smp_mb()s to the less used
spin_unlock_wait() / spin_is_locked() side of things to avoid this
problem.Reported-and-tested-by: Davidlohr Bueso
Reported-by: Giovanni Gherdovich
Signed-off-by: Peter Zijlstra (Intel)
Signed-off-by: Linus Torvalds
Signed-off-by: Greg Kroah-Hartman -
commit b8995f527aac143e83d3900ff39357651ea4e0f6 upstream.
This patch fixes the broken serial log when changing the clock source
of uart device. Before disabling the original clock source, this patch
enables the new clock source to protect the clock off state for a split second.Signed-off-by: Chanwoo Choi
Reviewed-by: Marek Szyprowski
Signed-off-by: Greg Kroah-Hartman
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Krzysztof Kozlowski -
commit c42850f1ae7e70056f852e67bb9dddf927853b47 upstream.
There is a special register that shows interrupt status by source. In
particular case the source can be a combination of DMA Tx, DMA Rx, and UART.Read the register and call the handlers only for sources that request an
interrupt.Fixes: 6ede6dcd87aa ("serial: 8250_mid: add support for DMA engine handling from UART MMIO")
Reviewed-by: Heikki Krogerus
Signed-off-by: Andy Shevchenko
Signed-off-by: Greg Kroah-Hartman -
commit 107e15fc1f8d6ef69eac5f175971252f76e82f0d upstream.
Unlike Intel Medfield and Tangier platforms DNV uses PCI BAR0 for IO compatible
resources and BAR1 for MMIO. We need latter in a way to support DMA. Introduce
an additional field in the internal structure and pass PCI BAR based on device
ID.Reported-by: "Lai, Poey Seng"
Fixes: 6ede6dcd87aa ("serial: 8250_mid: add support for DMA engine handling from UART MMIO")
Reviewed-by: Heikki Krogerus
Signed-off-by: Andy Shevchenko
Signed-off-by: Greg Kroah-Hartman -
commit 6f210c18c1c0f016772c8cd51ae12a02bfb9e7ef upstream.
Since commit 21947ba654a6 ("serial: 8250_pci: replace switch-case by
formula"), the 8250 driver crashes in the byt_set_termios() function
with a divide error. This is caused by the fact that a baud rate of 0 (B0)
is not handled properly. Fix it by falling back to B9600 in this case.Signed-off-by: David Müller
Fixes: 21947ba654a6 ("serial: 8250_pci: replace switch-case by formula")
Suggested-by: Andy Shevchenko
Reviewed-by: Andy Shevchenko
Signed-off-by: Greg Kroah-Hartman -
commit 0f40fbbcc34e093255a2b2d70b6b0fb48c3f39aa upstream.
OpenSSH expects the (non-blocking) read() of pty master to return
EAGAIN only if it has received all of the slave-side output after
it has received SIGCHLD. This used to work on pre-3.12 kernels.This fix effectively forces non-blocking read() and poll() to
block for parallel i/o to complete for all ttys. It also unwinds
these changes:1) f8747d4a466ab2cafe56112c51b3379f9fdb7a12
tty: Fix pty master read() after slave closes2) 52bce7f8d4fc633c9a9d0646eef58ba6ae9a3b73
pty, n_tty: Simplify input processing on final close3) 1a48632ffed61352a7810ce089dc5a8bcd505a60
pty: Fix input race when closingInspired by analysis and patch from Marc Aurele La France
Reported-by: Volth
Reported-by: Marc Aurele La France
BugLink: https://bugzilla.mindrot.org/show_bug.cgi?id=52
BugLink: https://bugzilla.mindrot.org/show_bug.cgi?id=2492
Signed-off-by: Brian Bloniarz
Reviewed-by: Peter Hurley
Signed-off-by: Greg Kroah-Hartman -
commit 5be605ac9af979265d7b64c160ad9928088a78be upstream.
Commit 1cf6e8fc8341 ("tty/serial: at91: fix RTS line management when
hardware handshake is enabled") actually allowed to enable hardware
handshaking.
Before, the CRTSCTS flags was silently ignored.As the DMA controller can't drive RTS (as explain in the commit message).
Ensure that hardware flow control stays disabled when DMA is used and FIFOs
are not available.Signed-off-by: Alexandre Belloni
Acked-by: Nicolas Ferre
Fixes: 1cf6e8fc8341 ("tty/serial: at91: fix RTS line management when hardware handshake is enabled")
Signed-off-by: Greg Kroah-Hartman -
commit d175feca89a1c162f60f4e3560ca7bc9437c65eb upstream.
Dmitry reported, that the current cleanup code in n_gsm can trigger a
warning:
WARNING: CPU: 2 PID: 24238 at drivers/tty/n_gsm.c:2048 gsm_cleanup_mux+0x166/0x6b0()
...
Call Trace:
...
[] warn_slowpath_null+0x29/0x30 kernel/panic.c:490
[] gsm_cleanup_mux+0x166/0x6b0 drivers/tty/n_gsm.c:2048
[] gsmld_open+0x5b7/0x7a0 drivers/tty/n_gsm.c:2386
[] tty_ldisc_open.isra.2+0x78/0xd0 drivers/tty/tty_ldisc.c:447
[] tty_set_ldisc+0x1ca/0xa70 drivers/tty/tty_ldisc.c:567
[< inline >] tiocsetd drivers/tty/tty_io.c:2650
[] tty_ioctl+0xb2a/0x2140 drivers/tty/tty_io.c:2883
...But this is a legal path when open fails to find a space in the
gsm_mux array and tries to clean up. So make it a standard test
instead of a warning.Reported-by: "Dmitry Vyukov"
Cc: Alan Cox
Link: http://lkml.kernel.org/r/CACT4Y+bHQbAB68VFi7Romcs-Z9ZW3kQRvcq+BvHH1oa5NcAdLA@mail.gmail.com
Fixes: 5a640967 ("tty/n_gsm.c: fix a memory leak in gsmld_open()")
Signed-off-by: Jiri Slaby
Signed-off-by: Greg Kroah-Hartman -
commit 6798df4c5fe0a7e6d2065cf79649a794e5ba7114 upstream.
When csw->con_startup() fails in do_register_con_driver, we return no
error (i.e. 0). This was changed back in 2006 by commit 3e795de763.
Before that we used to return -ENODEV.So fix the return value to be -ENODEV in that case again.
Fixes: 3e795de763 ("VT binding: Add binding/unbinding support for the VT console")
Signed-off-by: Jiri Slaby
Reported-by: "Dan Carpenter"
Signed-off-by: Greg Kroah-Hartman