01 Feb, 2017

1 commit

  • commit 950eabbd6ddedc1b08350b9169a6a51b130ebaaf upstream.

    With some gcc versions, we get a warning about the eicon driver,
    and that currently shows up as the only remaining warning in one
    of the build bots:

    In file included from ../drivers/isdn/hardware/eicon/message.c:30:0:
    eicon/message.c: In function 'mixer_notify_update':
    eicon/platform.h:333:18: warning: array subscript is above array bounds [-Warray-bounds]

    The code is easily changed to open-code the unusual PUT_WORD() line
    causing this to avoid the warning.

    Link: http://arm-soc.lixom.net/buildlogs/stable-rc/v4.4.45/
    Signed-off-by: Arnd Bergmann
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     

09 Dec, 2016

1 commit


06 Dec, 2016

1 commit

  • In function hfc4s8s_probe(), the value of return variable err should be
    negative on failures. However, when the call to request_region() returns
    NULL, the value of err is 0. This patch fixes the bug, assigning
    "-EBUSY" to err on the path that request_region() fails.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188931

    Signed-off-by: Pan Bian
    Signed-off-by: David S. Miller

    Pan Bian
     

02 Sep, 2016

1 commit

  • We get a few warnings when building kernel with W=1:
    drivers/isdn/hardware/mISDN/hfcmulti.c:568:1: warning: no previous declaration for 'enablepcibridge' [-Wmissing-declarations]
    drivers/isdn/hardware/mISDN/hfcmulti.c:574:1: warning: no previous declaration for 'disablepcibridge' [-Wmissing-declarations]
    drivers/isdn/hardware/mISDN/hfcmulti.c:580:1: warning: no previous declaration for 'readpcibridge' [-Wmissing-declarations]
    drivers/isdn/hardware/mISDN/hfcmulti.c:608:1: warning: no previous declaration for 'writepcibridge' [-Wmissing-declarations]
    drivers/isdn/hardware/mISDN/hfcmulti.c:638:1: warning: no previous declaration for 'cpld_set_reg' [-Wmissing-declarations]
    drivers/isdn/hardware/mISDN/hfcmulti.c:645:1: warning: no previous declaration for 'cpld_write_reg' [-Wmissing-declarations]
    drivers/isdn/hardware/mISDN/hfcmulti.c:657:1: warning: no previous declaration for 'cpld_read_reg' [-Wmissing-declarations]
    drivers/isdn/hardware/mISDN/hfcmulti.c:674:1: warning: no previous declaration for 'vpm_write_address' [-Wmissing-declarations]
    drivers/isdn/hardware/mISDN/hfcmulti.c:681:1: warning: no previous declaration for 'vpm_read_address' [-Wmissing-declarations]
    drivers/isdn/hardware/mISDN/hfcmulti.c:695:1: warning: no previous declaration for 'vpm_in' [-Wmissing-declarations]
    drivers/isdn/hardware/mISDN/hfcmulti.c:716:1: warning: no previous declaration for 'vpm_out' [-Wmissing-declarations]
    drivers/isdn/hardware/mISDN/hfcmulti.c:1028:1: warning: no previous declaration for 'plxsd_checksync' [-Wmissing-declarations]
    ....

    In fact, these functions are only used in the file in which they are
    declared and don't need a declaration, but can be made static.
    so this patch marks these functions with 'static'.

    Signed-off-by: Baoyou Xie
    Acked-by: Arnd Bergmann
    Signed-off-by: David S. Miller

    Baoyou Xie
     

17 Jun, 2016

1 commit

  • Modern C standards expect the '__inline__' keyword to come before the return
    type in a declaration, and we get many warnings for this with "make W=1"
    because the eicon driver has this in a header file:

    eicon/divasmain.c:448:1: error: '__inline__' is not at beginning of declaration [-Werror=old-style-declaration]
    eicon/divasmain.c:453:1: error: '__inline__' is not at beginning of declaration [-Werror=old-style-declaration]
    eicon/divasmain.c:458:1: error: '__inline__' is not at beginning of declaration [-Werror=old-style-declaration]
    eicon/divasmain.c:463:1: error: '__inline__' is not at beginning of declaration [-Werror=old-style-declaration]
    eicon/divasmain.c:468:1: error: '__inline__' is not at beginning of declaration [-Werror=old-style-declaration]
    eicon/divasmain.c:473:1: error: '__inline__' is not at beginning of declaration [-Werror=old-style-declaration]
    eicon/platform.h:274:1: error: '__inline__' is not at beginning of declaration [-Werror=old-style-declaration]
    eicon/platform.h:280:1: error: '__inline__' is not at beginning of declaration [-Werror=old-style-declaration]

    A similar warning gets printed for the diva_os_register_io_port()
    declaration, because 'register' is interpreted as a keyword instead
    of a variable name:

    In file included from eicon/diva_didd.c:21:0:
    eicon/platform.h:206:1: error: 'register' is not at beginning of declaration [-Werror=old-style-declaration]

    Signed-off-by: Arnd Bergmann
    Signed-off-by: David S. Miller

    Arnd Bergmann
     

21 May, 2016

1 commit

  • Pull tty and serial driver updates from Greg KH:
    "Here's the large TTY and Serial driver update for 4.7-rc1.

    A few new serial drivers are added here, and Peter has fixed a bunch
    of long-standing bugs in the tty layer and serial drivers as normal.
    Full details in the shortlog.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'tty-4.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (88 commits)
    MAINTAINERS: 8250: remove website reference
    serial: core: Fix port mutex assert if lockdep disabled
    serial: 8250_dw: fix wrong logic in dw8250_check_lcr()
    tty: vt, finish looping on duplicate
    tty: vt, return error when con_startup fails
    QE-UART: add "fsl,t1040-ucc-uart" to of_device_id
    serial: mctrl_gpio: Drop support for out1-gpios and out2-gpios
    serial: 8250dw: Add device HID for future AMD UART controller
    Fix OpenSSH pty regression on close
    serial: mctrl_gpio: add IRQ locking
    serial: 8250: Integrate Fintek into 8250_base
    serial: mps2-uart: add support for early console
    serial: mps2-uart: add MPS2 UART driver
    dt-bindings: document the MPS2 UART bindings
    serial: sirf: Use generic uart-has-rtscts DT property
    serial: sirf: Introduce helper variable struct device_node *np
    serial: mxs-auart: Use generic uart-has-rtscts DT property
    serial: imx: Use generic uart-has-rtscts DT property
    doc: DT: Add Generic Serial Device Tree Bindings
    serial: 8250: of: Make tegra_serial_handle_break() static
    ...

    Linus Torvalds
     

09 May, 2016

1 commit


05 May, 2016

1 commit

  • Replace all trans_start updates with netif_trans_update helper.
    change was done via spatch:

    struct net_device *d;
    @@
    - d->trans_start = jiffies
    + netif_trans_update(d)

    Compile tested only.

    Cc: user-mode-linux-devel@lists.sourceforge.net
    Cc: linux-xtensa@linux-xtensa.org
    Cc: linux1394-devel@lists.sourceforge.net
    Cc: linux-rdma@vger.kernel.org
    Cc: netdev@vger.kernel.org
    Cc: MPT-FusionLinux.pdl@broadcom.com
    Cc: linux-scsi@vger.kernel.org
    Cc: linux-can@vger.kernel.org
    Cc: linux-parisc@vger.kernel.org
    Cc: linux-omap@vger.kernel.org
    Cc: linux-hams@vger.kernel.org
    Cc: linux-usb@vger.kernel.org
    Cc: linux-wireless@vger.kernel.org
    Cc: linux-s390@vger.kernel.org
    Cc: devel@driverdev.osuosl.org
    Cc: b.a.t.m.a.n@lists.open-mesh.org
    Cc: linux-bluetooth@vger.kernel.org
    Signed-off-by: Florian Westphal
    Acked-by: Felipe Balbi
    Acked-by: Mugunthan V N
    Acked-by: Antonio Quartulli
    Signed-off-by: David S. Miller

    Florian Westphal
     

01 May, 2016

4 commits

  • Replace ASYNC_INITIALIZED bit in the tty_port::flags field with
    TTY_PORT_INITIALIZED bit in the tty_port::iflags field. Introduce helpers
    tty_port_set_initialized() and tty_port_initialized() to abstract
    atomic bit ops.

    Note: the transforms for test_and_set_bit() and test_and_clear_bit()
    are unnecessary as the state transitions are already mutually exclusive;
    the tty lock prevents concurrent open/close/hangup.

    Signed-off-by: Peter Hurley
    Signed-off-by: Greg Kroah-Hartman

    Peter Hurley
     
  • Replace ASYNC_CHECK_CD bit in the tty_port::flags field with
    TTY_PORT_CHECK_CD bit in the tty_port::iflags field. Introduce helpers
    tty_port_set_check_carrier() and tty_port_check_carrier() to abstract
    the atomic bit ops.

    Signed-off-by: Peter Hurley
    Signed-off-by: Greg Kroah-Hartman

    Peter Hurley
     
  • Replace ASYNC_NORMAL_ACTIVE bit in the tty_port::flags field with
    TTY_PORT_ACTIVE bit in the tty_port::iflags field. Introduce helpers
    tty_port_set_active() and tty_port_active() to abstract atomic bit ops.

    Extract state changes from port lock sections, as this usage is
    broken and confused; the state transitions are protected by the
    tty lock (which mutually excludes parallel open/close/hangup),
    and no user tests the active state while holding the port lock.

    Signed-off-by: Peter Hurley
    Signed-off-by: Greg Kroah-Hartman

    Peter Hurley
     
  • Abstract TTY_IO_ERROR status test treewide with tty_io_error().
    NB: tty->flags uses atomic bit ops; replace non-atomic bit test
    with test_bit().

    Signed-off-by: Peter Hurley
    Signed-off-by: Greg Kroah-Hartman

    Peter Hurley
     

14 Apr, 2016

1 commit


28 Mar, 2016

1 commit


21 Mar, 2016

1 commit

  • 'struct timeval' uses 32-bit representation for seconds which will
    overflow in year 2038 and beyond. mISDN/clock.c needs to compute and
    store elapsed time in intervals of 125 microseconds. This patch replaces
    the usage of 'struct timeval' with 64-bit ktime_t which is y2038 safe.
    The patch also replaces do_gettimeofday() (wall-clock time) with
    ktime_get() (monotonic time) since we only care about elapsed time here.

    Signed-off-by: Tina Ruchandani
    Suggested-by: Arnd Bergmnann
    Suggested-by: David Miller
    Signed-off-by: David S. Miller

    Tina Ruchandani
     

20 Mar, 2016

1 commit

  • Pull networking updates from David Miller:
    "Highlights:

    1) Support more Realtek wireless chips, from Jes Sorenson.

    2) New BPF types for per-cpu hash and arrap maps, from Alexei
    Starovoitov.

    3) Make several TCP sysctls per-namespace, from Nikolay Borisov.

    4) Allow the use of SO_REUSEPORT in order to do per-thread processing
    of incoming TCP/UDP connections. The muxing can be done using a
    BPF program which hashes the incoming packet. From Craig Gallek.

    5) Add a multiplexer for TCP streams, to provide a messaged based
    interface. BPF programs can be used to determine the message
    boundaries. From Tom Herbert.

    6) Add 802.1AE MACSEC support, from Sabrina Dubroca.

    7) Avoid factorial complexity when taking down an inetdev interface
    with lots of configured addresses. We were doing things like
    traversing the entire address less for each address removed, and
    flushing the entire netfilter conntrack table for every address as
    well.

    8) Add and use SKB bulk free infrastructure, from Jesper Brouer.

    9) Allow offloading u32 classifiers to hardware, and implement for
    ixgbe, from John Fastabend.

    10) Allow configuring IRQ coalescing parameters on a per-queue basis,
    from Kan Liang.

    11) Extend ethtool so that larger link mode masks can be supported.
    From David Decotigny.

    12) Introduce devlink, which can be used to configure port link types
    (ethernet vs Infiniband, etc.), port splitting, and switch device
    level attributes as a whole. From Jiri Pirko.

    13) Hardware offload support for flower classifiers, from Amir Vadai.

    14) Add "Local Checksum Offload". Basically, for a tunneled packet
    the checksum of the outer header is 'constant' (because with the
    checksum field filled into the inner protocol header, the payload
    of the outer frame checksums to 'zero'), and we can take advantage
    of that in various ways. From Edward Cree"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1548 commits)
    bonding: fix bond_get_stats()
    net: bcmgenet: fix dma api length mismatch
    net/mlx4_core: Fix backward compatibility on VFs
    phy: mdio-thunder: Fix some Kconfig typos
    lan78xx: add ndo_get_stats64
    lan78xx: handle statistics counter rollover
    RDS: TCP: Remove unused constant
    RDS: TCP: Add sysctl tunables for sndbuf/rcvbuf on rds-tcp socket
    net: smc911x: convert pxa dma to dmaengine
    team: remove duplicate set of flag IFF_MULTICAST
    bonding: remove duplicate set of flag IFF_MULTICAST
    net: fix a comment typo
    ethernet: micrel: fix some error codes
    ip_tunnels, bpf: define IP_TUNNEL_OPTS_MAX and use it
    bpf, dst: add and use dst_tclassid helper
    bpf: make skb->tc_classid also readable
    net: mvneta: bm: clarify dependencies
    cls_bpf: reset class and reuse major in da
    ldmvsw: Checkpatch sunvnet.c and sunvnet_common.c
    ldmvsw: Add ldmvsw.c driver code
    ...

    Linus Torvalds
     

18 Mar, 2016

2 commits

  • Pull staging driver updates from Greg KH:
    "Here is the big staging driver pull request for 4.6-rc1.

    Lots of little things here, over 1600 patches or so. Notable is all
    of the good Lustre work happening, those developers have finally woken
    up and are cleaning up their code greatly. The Outreachy intern
    application process is also happening, which brought in another 400 or
    so patches. Full details are in the very long shortlog.

    All of these have been in linux-next with no reported issues"

    * tag 'staging-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1673 commits)
    staging: lustre: fix aligments in lnet selftest
    staging: lustre: report minimum of two buffers for LNet selftest load test
    staging: lustre: test for proper errno code in lstcon_rpc_trans_abort
    staging: lustre: filter remaining extra spacing for lnet selftest
    staging: lustre: remove extra spacing when setting variable for lnet selftest
    staging: lustre: remove extra spacing of variable declartions for lnet selftest
    staging: lustre: fix spacing issues checkpatch reported in lnet selftest
    staging: lustre: remove returns in void function for lnet selftest
    staging: lustre: fix bogus lst errors for lnet selftest
    staging: netlogic: Replacing pr_err with dev_err after the call to devm_kzalloc
    staging: mt29f_spinand: Replacing pr_info with dev_info after the call to devm_kzalloc
    staging: android: ion: fix up file mode
    staging: ion: debugfs invalid gfp mask
    staging: rts5208: Replace pci_enable_device with pcim_enable_device
    Staging: ieee80211: Place constant on right side of the test.
    staging: speakup: Replace del_timer with del_timer_sync
    staging: lowmemorykiller: fix 2 checks that checkpatch complained
    staging: mt29f_spinand: Drop void pointer cast
    staging: rdma: hfi1: file_ops: Replace ALIGN with PAGE_ALIGN
    staging: rdma: hfi1: driver: Replace IS_ALIGNED with PAGE_ALIGNED
    ...

    Linus Torvalds
     
  • Pull tty/serial updates from Greg KH:
    "Here's the big tty/serial driver pull request for 4.6-rc1.

    Lots of changes in here, Peter has been on a tear again, with lots of
    refactoring and bugs fixes, many thanks to the great work he has been
    doing. Lots of driver updates and fixes as well, full details in the
    shortlog.

    All have been in linux-next for a while with no reported issues"

    * tag 'tty-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (220 commits)
    serial: 8250: describe CONFIG_SERIAL_8250_RSA
    serial: samsung: optimize UART rx fifo access routine
    serial: pl011: add mark/space parity support
    serial: sa1100: make sa1100_register_uart_fns a function
    tty: serial: 8250: add MOXA Smartio MUE boards support
    serial: 8250: convert drivers to use up_to_u8250p()
    serial: 8250/mediatek: fix building with SERIAL_8250=m
    serial: 8250/ingenic: fix building with SERIAL_8250=m
    serial: 8250/uniphier: fix modular build
    Revert "drivers/tty/serial: make 8250/8250_ingenic.c explicitly non-modular"
    Revert "drivers/tty/serial: make 8250/8250_mtk.c explicitly non-modular"
    serial: mvebu-uart: initial support for Armada-3700 serial port
    serial: mctrl_gpio: Add missing module license
    serial: ifx6x60: avoid uninitialized variable use
    tty/serial: at91: fix bad offset for UART timeout register
    tty/serial: at91: restore dynamic driver binding
    serial: 8250: Add hardware dependency to RT288X option
    TTY, devpts: document pty count limiting
    tty: goldfish: support platform_device with id -1
    drivers: tty: goldfish: Add device tree bindings
    ...

    Linus Torvalds
     

15 Mar, 2016

2 commits

  • According to figure 39 in PEB3086 data sheet, version 1.4 this indication
    replaces DR when layer 1 transition source state is F6.

    This fixes mISDN layer 1 getting stuck in F6 state in TE mode on
    Dialogic Diva 2.02 card (and possibly others) when NT deactivates it.

    Signed-off-by: Maciej S. Szmigiero
    Acked-by: Karsten Keil
    Signed-off-by: David S. Miller

    Maciej S. Szmigiero
     
  • It looks like IPAC/ISAC chips register defines weren't in any particular
    order.

    Order them by their number to make it easier to spot holes.

    Signed-off-by: Maciej S. Szmigiero
    Acked-by: Karsten Keil
    Signed-off-by: David S. Miller

    Maciej S. Szmigiero
     

06 Mar, 2016

2 commits

  • The icn, act2000 and pcbit drivers are all for very old hardware,
    and it is highly unlikely that anyone is actually still using them
    on modern kernels, if at all.

    All three drivers apparently are for hardware that predates PCI
    being the common connector, as they are ISA-only and active
    PCI ISDN cards were widely available in the 1990s.

    Looking through the git logs, it I cannot find any indication of a
    patch to any of these drivers that has been tested on real hardware,
    only cleanups or global API changes.

    Signed-off-by: Arnd Bergmann
    Acked-by: Karsten Keil
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     
  • The icn driver currently produces an unconditional #warning whenever
    we build it, introduced by Karsten Keil back in 2003:

    #warning TODO test headroom or use skb->nb to flag ACK

    Karsten's original commit (from BitKeeper) contains this description:

    - here are lot of bugs left, so ISDN is not stable yet but
    I think it's really time to fix it, even if it need some cycles
    to get it right (normally I'm only send patches if it works 100% for
    me).
    - I add some additional #warnings to address places which need fixing
    (I hope that some of the other ISDN developer jump in)

    Apparently this has not happened, and it is unlikely that it ever will,
    given that the driver doesn't seem to work. No substantial bug fixes
    other than janitorial cleanups have happened in the driver since then,
    and I see no indication that anyone who patched it had the hardware.

    We should probably either remove the driver, or remove all of i4l,
    but for now, this shuts up the distracting #warning by turning it
    into a comment.

    Signed-off-by: Arnd Bergmann
    Link: http://git.meleeweb.net/linux.git/commit/?id=b0deac0886b0056765afd149e9834373b38e096b
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     

23 Feb, 2016

1 commit


20 Feb, 2016

1 commit

  • The purpose of gigaset_device_release() is to kfree() the struct
    ser_cardstate that contains our struct device. This is done via a bit of
    a detour. First we make our struct device's driver_data point to the
    container of our struct ser_cardstate (which is a struct cardstate). In
    gigaset_device_release() we then retrieve that driver_data again. And
    after that we finally kfree() the struct ser_cardstate that was saved in
    the struct cardstate.

    All of this can be achieved much easier by using container_of() to get
    from our struct device to its container, struct ser_cardstate. Do so.

    Note that at the time the detour was implemented commit b8b2c7d845d5
    ("base/platform: assert that dev_pm_domain callbacks are called
    unconditionally") had just entered the tree. That commit disconnected
    our platform_device and our platform_driver. These were reconnected
    again in v4.5-rc2 through commit 25cad69f21f5 ("base/platform: Fix
    platform drivers with no probe callback"). And one of the consequences
    of that fix was that it broke the detour via driver_data. That's because
    it made __device_release_driver() stop being a NOP for our struct device
    and actually do stuff again. One of the things it now does, is setting
    our driver_data to NULL. That, in turn, makes it impossible for
    gigaset_device_release() to get to our struct cardstate. Which has the
    net effect of leaking a struct ser_cardstate at every call of this
    driver's tty close() operation. So using container_of() has the
    additional benefit of actually working.

    Reported-by: Dmitry Vyukov
    Tested-by: Dmitry Vyukov
    Signed-off-by: Paul Bolle
    Acked-by: Tilman Schmidt
    Signed-off-by: David S. Miller

    Paul Bolle
     

19 Feb, 2016

2 commits

  • A return value of the bchannel_get_rxbuf() function is compared with the
    positive ENOMEM value instead of the negative -ENOMEM value to detect a
    memory allocation problem. Thus, after a possible memory allocation
    failure the bc->bch.rx_skb will be NULL which will lead to a NULL
    pointer dereference.

    Signed-off-by: Anton Protopopov
    Signed-off-by: David S. Miller

    Anton Protopopov
     
  • divamnt stores a start_time at module init and uses it to calculate
    elapsed time. The elapsed time, stored in secs and usecs, is part of
    the trace data the driver maintains for the DIVA Server ISDN cards.
    No change to the format of that time data is required.

    To avoid overflow on 32-bit systems use ktime_get_ts64() to return
    the elapsed monotonic time since system boot.

    This is a change from real to monotonic time. Since the driver only
    stores elapsed time, monotonic time is sufficient and more robust
    against real time clock changes. These new monotonic values can be
    more useful for debugging because they can be easily compared to
    other monotonic timestamps.

    Note elaspsed time values will now start at system boot time rather
    than module load time, so they will differ slightly from previously
    reported values.

    Remove declaration and init of previously unused time constants:
    start_sec, start_usec.

    Signed-off-by: Alison Schofield
    Reviewed-by: Arnd Bergmann
    Signed-off-by: David S. Miller

    Alison Schofield
     

29 Jan, 2016

1 commit

  • The tty core no longer provides ASYNC_CLOSING. Use private flag for
    same purpose, which is to disable AT-emulator output (why this is
    necessary is not clear).

    Cc: Karsten Keil
    Signed-off-by: Peter Hurley
    Signed-off-by: Greg Kroah-Hartman

    Peter Hurley
     

12 Jan, 2016

1 commit


09 Jan, 2016

1 commit


18 Dec, 2015

1 commit


16 Dec, 2015

5 commits

  • device->platform_data and platform_device->resource are never used
    and remain NULL through their entire life. Drops the kfree() calls
    for them from the device release method.

    Signed-off-by: Tilman Schmidt
    Signed-off-by: Paul Bolle
    Signed-off-by: David S. Miller

    Tilman Schmidt
     
  • When shutting down the device, the struct ser_cardstate must not be
    kfree()d immediately after the call to platform_device_unregister()
    since the embedded struct platform_device is still in use.
    Move the kfree() call to the release method instead.

    Signed-off-by: Tilman Schmidt
    Fixes: 2869b23e4b95 ("drivers/isdn/gigaset: new M101 driver (v2)")
    Reported-by: Sasha Levin
    Signed-off-by: Paul Bolle
    Signed-off-by: David S. Miller

    Tilman Schmidt
     
  • These checks do nothing useful to protect the code from races. On the
    other hand if the old code has been masking a real bug we would like to
    know about it.

    The check for tiocmset is kept because it is valid for a tty driver to
    have a NULL tiocmset method. That in itself is probably a mistake given
    modern coding practices - but needs fixing in the tty layer.

    Signed-off-by: Alan Cox
    Acked-by: Tilman Schmidt
    Signed-off-by: Paul Bolle
    Signed-off-by: David S. Miller

    Alan Cox
     
  • Commit f34d7a5b7010 ("tty: The big operations rework") changed
    tty->driver to tty->ops but left NULL checks for tty->driver untouched.
    Fix.

    Signed-off-by: Tilman Schmidt
    [pebolle: removed Fixes tag]
    Signed-off-by: Paul Bolle
    Signed-off-by: David S. Miller

    Tilman Schmidt
     
  • There are two issue here.
    1) cnt starts as maxloop + 1 so all these loops iterate one more time
    than intended.
    2) At the end of the loop we test for "if (maxloop && !cnt)" but for
    the first two loops, we end with cnt equal to -1. Changing this to
    a pre-op means we end with cnt set to 0.

    Fixes: cae86d4a4e56 ('mISDN: Add driver for Infineon ISDN chipset family')
    Signed-off-by: Dan Carpenter
    Signed-off-by: David S. Miller

    Dan Carpenter
     

04 Dec, 2015

1 commit


02 Dec, 2015

1 commit

  • The 'sc' ISDN driver relies on using readl() to access ISA I/O memory.
    This has been deprecated and produced warnings since linux-2.3.23,
    disabled by default since 2.4.10 and finally removed in 2.6.5.

    I found this because the compiling the driver for ARM produces
    a warning:

    In file included from ../drivers/isdn/sc/includes.h:8:0,
    from ../drivers/isdn/sc/init.c:13:
    ../arch/arm/include/asm/io.h:115:21: note: expected 'const volatile void *' but argument is of type 'long unsigned int'

    It is pretty clear that this driver has not been used for a long time
    and there is no point fixing it now, so let's remove it.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: David S. Miller

    Arnd Bergmann
     

26 Nov, 2015

1 commit

  • Commit 35a4a57 ("isdn: clean up debug format string usage") introduced
    a safeguard to avoid accidential format string interpolation of data
    when calling debugl1 or HiSax_putstatus. This did however not take into
    account VHiSax_putstatus (called by HiSax_putstatus) does *not* call
    vsprintf if the head parameter is NULL - the format string is treated
    as plain text then instead. As a result, the string "%s" is processed
    literally, and the actual information is lost. This affects the isdnlog
    userspace program which stopped logging information since that commit.

    So revert the HiSax_putstatus invocations to the previous state.

    Fixes: 35a4a5733b0a ("isdn: clean up debug format string usage")
    Cc: Kees Cook
    Cc: Karsten Keil
    Signed-off-by: Christoph Biedl
    Signed-off-by: David S. Miller

    Christoph Biedl
     

05 Nov, 2015

1 commit

  • Pull tty/serial driver updates from Greg KH:
    "Here is the big tty and serial driver update for 4.4-rc1.

    Lots of serial driver updates and a few small tty core changes. Full
    details in the shortlog.

    All of these have been in linux-next for a while"

    * tag 'tty-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (148 commits)
    tty: Use unbound workqueue for all input workers
    tty: Abstract tty buffer work
    tty: Prevent tty teardown during tty_write_message()
    tty: core: Use correct spinlock flavor in tiocspgrp()
    tty: Combine SIGTTOU/SIGTTIN handling
    serial: amba-pl011: fix incorrect integer size in pl011_fifo_to_tty()
    ttyFDC: Fix build problems due to use of module_{init,exit}
    tty: remove unneeded return statement
    serial: 8250_mid: add support for DMA engine handling from UART MMIO
    dmaengine: hsu: remove platform data
    dmaengine: hsu: introduce stubs for the exported functions
    dmaengine: hsu: make the UART driver in control of selecting this driver
    serial: fix mctrl helper functions
    serial: 8250_pci: Intel MID UART support to its own driver
    serial: fsl_lpuart: add earlycon support
    tty: disable unbind for old 74xx based serial/mpsc console port
    serial: pl011: Spelling s/clocks-names/clock-names/
    n_tty: Remove reader wakeups for TTY_BREAK/TTY_PARITY chars
    tty: synclink, fix indentation
    serial: at91, fix rs485 properties
    ...

    Linus Torvalds
     

04 Nov, 2015

1 commit