16 May, 2017

3 commits

  • The new driver cannot link correctly when the netdevice infrastructure
    is disabled:

    ERROR: "netdev_info" [drivers/staging/fsl-dpaa2/ethernet/fsl-dpaa2-eth.ko] undefined!
    ERROR: "skb_to_sgvec" [drivers/staging/fsl-dpaa2/ethernet/fsl-dpaa2-eth.ko] undefined!
    ERROR: "napi_disable" [drivers/staging/fsl-dpaa2/ethernet/fsl-dpaa2-eth.ko] undefined!
    ERROR: "napi_schedule_prep" [drivers/staging/fsl-dpaa2/ethernet/fsl-dpaa2-eth.ko] undefined!
    ERROR: "__napi_schedule_irqoff" [drivers/staging/fsl-dpaa2/ethernet/fsl-dpaa2-eth.ko] undefined!
    ERROR: "netif_carrier_on" [drivers/staging/fsl-dpaa2/ethernet/fsl-dpaa2-eth.ko] undefined!

    This adds a dependency on NETDEVICES and ETHERNET.

    Fixes: 0352d1d85201 ("staging: fsl-dpaa2/eth: Add APIs for DPNI objects")
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     
  • The i2c functions need to test the pm_suspend state and do, if needed, some
    retry before i2c operations. This code was repeated 4x.

    To isolate this, create a new function to check suspend state and call it in
    every need place.

    As at it, move the error message from pr_err to dev_err.

    Signed-off-by: Rui Miguel Silva
    Acked-by: Yueyao Zhu
    Reviewed-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Rui Miguel Silva
     
  • Fix reset of i2c_busy flag if an error occurs during the i2c block read.

    Signed-off-by: Rui Miguel Silva
    Acked-by: Yueyao Zhu
    Reviewed-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Rui Miguel Silva
     

15 May, 2017

17 commits

  • A re-positioned call to kfree() in
    drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
    causes a segmentation error. This patch removed the kfree() call.

    Fixes 6557ddfec348 ("staging: rtl8723bs: Fix various errors in os_dep/ioctl_cfg80211.c")
    Signed-off-by: Ian W Morrison
    Reviewed-by: Hans de Goede
    Reviewed-by: Andy Shevchenko
    Signed-off-by: Greg Kroah-Hartman

    Ian W MORRISON
     
  • TID 7 is a valid value for QoS IEEE 802.11e.

    The switch statement that follows states 7 is valid.

    Remove function IsACValid and use the default case to filter
    invalid TIDs.

    Signed-off-by: Malcolm Priestley
    Cc:
    Signed-off-by: Greg Kroah-Hartman

    Malcolm Priestley
     
  • EPROM_CMD is 2 byte aligned on PCI map so calling with rtl92e_readl
    will return invalid data so use rtl92e_readw.

    The device is unable to select the right eeprom type.

    Signed-off-by: Malcolm Priestley
    Cc:
    Signed-off-by: Greg Kroah-Hartman

    Malcolm Priestley
     
  • BSSIDR has two byte alignment on PCI ioremap correct the write
    by swapping to 16 bits first.

    This fixes a problem that the device associates fail because
    the filter is not set correctly.

    Signed-off-by: Malcolm Priestley
    Cc:
    Signed-off-by: Greg Kroah-Hartman

    Malcolm Priestley
     
  • The driver attempts to alter memory that is mapped to PCI device.

    This is because tx_fwinfo_8190pci points to skb->data

    Move the pci_map_single to when completed buffer is ready to be mapped with
    psdec is empty to drop on mapping error.

    Signed-off-by: Malcolm Priestley
    Cc:
    Signed-off-by: Greg Kroah-Hartman

    Malcolm Priestley
     
  • vchiq_arm supports transfers less than one page and at arbitrary
    alignment, using the dma-mapping API to perform its cache maintenance
    (even though the VPU drives the DMA hardware). Read (DMA_FROM_DEVICE)
    operations use cache invalidation for speed, falling back to
    clean+invalidate on partial cache lines, with writes (DMA_TO_DEVICE)
    using flushes.

    If a read transfer has ends which aren't page-aligned, performing cache
    maintenance as if they were whole pages can lead to memory corruption
    since the partial cache lines at the ends (and any cache lines before or
    after the transfer area) will be invalidated. This bug was masked until
    the disabling of the cache flush in flush_dcache_page().

    Honouring the requested transfer start- and end-points prevents the
    corruption.

    Fixes: cf9caf192988 ("staging: vc04_services: Replace dmac_map_area with dmac_map_sg")
    Signed-off-by: Phil Elwell
    Cc: stable # 4.10
    Reported-by: Stefan Wahren
    Tested-by: Stefan Wahren
    Signed-off-by: Greg Kroah-Hartman

    Phil Elwell
     
  • An early error handler in send_request() tries to release a spinlock,
    but the lock isn't acquired until the loop below it is entered.

    Signed-off-by: Ian Chard
    Acked-by: Gilad Ben-Yossef
    Signed-off-by: Greg Kroah-Hartman

    Ian Chard
     
  • Fix the following sparse warnings about incorrect type usage:

    fusb302.c:1028:32: warning: incorrect type in argument 1 (different base types)
    fusb302.c:1028:32: expected unsigned short [unsigned] [usertype] header
    fusb302.c:1028:32: got restricted __le16 const [usertype] header
    fusb302.c:1484:32: warning: incorrect type in argument 1 (different base types)
    fusb302.c:1484:32: expected unsigned short [unsigned] [usertype] header
    fusb302.c:1484:32: got restricted __le16 [usertype] header

    Signed-off-by: Guru Das Srinagesh
    Reviewed-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Guru Das Srinagesh
     
  • When allocating a gpio using the managed resource devm_, we can avoid freeing it
    manually. But even if we did it we should use devm_gpio_free.

    So, just remove the free of the gpio in the error path.

    Signed-off-by: Rui Miguel Silva
    Acked-by: Yueyao Zhu
    Reviewed-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Rui Miguel Silva
     
  • PS_RDY messages sent during power swap sequences are expected to reflect
    the new power role.

    Signed-off-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Guenter Roeck
     
  • If the lower level driver provided a list of VDOs in its configuration
    data, send it to the partner as response to a Discover Identity command
    if in device mode (UFP).

    Cc: Yueyao Zhu
    Originally-from: Puma Hsu
    Signed-off-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Guenter Roeck
     
  • We do support USB PD communication, and devices supported by this driver
    typically use USB power for purposes other than USB communication.

    Originally-from: Puma Hsu
    Cc: Yueyao Zhu
    Signed-off-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Guenter Roeck
     
  • Per USB PD standard, we have to drop duplicate PD messages.
    We can not expect lower protocol layers to drop such messages,
    since lower layers don't know if a message was dropped somewhere
    else in the stack.

    Originally-from: Puma Hsu
    Cc: Yueyao Zhu
    Signed-off-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Guenter Roeck
     
  • FUSB_REG_STATUS0 & FUSB_REG_STATUS0_VBUSOK = 0x40 & 0x80 is always
    zero. Fix the code to what it is intended to be: check the VBUSOK
    bit of the value read from address FUSB_REG_STATUS0.

    Reported-by: Dan Carpenter
    Cc: Guenter Roeck
    Signed-off-by: Yueyao Zhu
    Signed-off-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Yueyao Zhu
     
  • If the driver is built as a module, autoload won't work because the module
    alias information is not filled. So user-space can't match the registered
    device with the corresponding module.

    Export the OF and I2C device ID table entries as module aliases, using the
    MODULE_DEVICE_TABLE() macro.

    Before this patch:

    $ modinfo drivers/staging/typec/fusb302/fusb302.ko | grep alias
    $

    After this patch:

    $ modinfo drivers/staging/typec/fusb302/fusb302.ko | grep alias
    alias: of:N*T*Cfcs,fusb302C*
    alias: of:N*T*Cfcs,fusb302
    alias: i2c:typec_fusb302

    Signed-off-by: Javier Martinez Canillas
    Signed-off-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Javier Martinez Canillas
     
  • This fixes a sparse warning regarding an undeclared symbol. Since the
    structure tcpci_tcpc_config is private to tcpci.c, it should be declared as
    static.

    Signed-off-by: Olivier Leveque
    Signed-off-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Olivier Leveque
     
  • After commit 9828282e33a0 ("staging: android: ion: Remove old platform
    support"), the document about devicetree of ion is no need anymore, so
    just remove it.

    Signed-off-by: Yisheng Xie
    Acked-by: Laura Abbott
    Signed-off-by: Greg Kroah-Hartman

    Yisheng Xie
     

11 May, 2017

2 commits

  • Pull hw lockdown support from David Howells:
    "Annotation of module parameters that configure hardware resources
    including ioports, iomem addresses, irq lines and dma channels.

    This allows a future patch to prohibit the use of such module
    parameters to prevent that hardware from being abused to gain access
    to the running kernel image as part of locking the kernel down under
    UEFI secure boot conditions.

    Annotations are made by changing:

    module_param(n, t, p)
    module_param_named(n, v, t, p)
    module_param_array(n, t, m, p)

    to:

    module_param_hw(n, t, hwtype, p)
    module_param_hw_named(n, v, t, hwtype, p)
    module_param_hw_array(n, t, hwtype, m, p)

    where the module parameter refers to a hardware setting

    hwtype specifies the type of the resource being configured. This can
    be one of:

    ioport Module parameter configures an I/O port
    iomem Module parameter configures an I/O mem address
    ioport_or_iomem Module parameter could be either (runtime set)
    irq Module parameter configures an I/O port
    dma Module parameter configures a DMA channel
    dma_addr Module parameter configures a DMA buffer address
    other Module parameter configures some other value

    Note that the hwtype is compile checked, but not currently stored (the
    lockdown code probably won't require it). It is, however, there for
    future use.

    A bonus is that the hwtype can also be used for grepping.

    The intention is for the kernel to ignore or reject attempts to set
    annotated module parameters if lockdown is enabled. This applies to
    options passed on the boot command line, passed to insmod/modprobe or
    direct twiddling in /sys/module/ parameter files.

    The module initialisation then needs to handle the parameter not being
    set, by (1) giving an error, (2) probing for a value or (3) using a
    reasonable default.

    What I can't do is just reject a module out of hand because it may
    take a hardware setting in the module parameters. Some important
    modules, some ipmi stuff for instance, both probe for hardware and
    allow hardware to be manually specified; if the driver is aborts with
    any error, you don't get any ipmi hardware.

    Further, trying to do this entirely in the module initialisation code
    doesn't protect against sysfs twiddling.

    [!] Note that in and of itself, this series of patches should have no
    effect on the the size of the kernel or code execution - that is
    left to a patch in the next series to effect. It does mark
    annotated kernel parameters with a KERNEL_PARAM_FL_HWPARAM flag in
    an already existing field"

    * tag 'hwparam-20170420' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs: (38 commits)
    Annotate hardware config module parameters in sound/pci/
    Annotate hardware config module parameters in sound/oss/
    Annotate hardware config module parameters in sound/isa/
    Annotate hardware config module parameters in sound/drivers/
    Annotate hardware config module parameters in fs/pstore/
    Annotate hardware config module parameters in drivers/watchdog/
    Annotate hardware config module parameters in drivers/video/
    Annotate hardware config module parameters in drivers/tty/
    Annotate hardware config module parameters in drivers/staging/vme/
    Annotate hardware config module parameters in drivers/staging/speakup/
    Annotate hardware config module parameters in drivers/staging/media/
    Annotate hardware config module parameters in drivers/scsi/
    Annotate hardware config module parameters in drivers/pcmcia/
    Annotate hardware config module parameters in drivers/pci/hotplug/
    Annotate hardware config module parameters in drivers/parport/
    Annotate hardware config module parameters in drivers/net/wireless/
    Annotate hardware config module parameters in drivers/net/wan/
    Annotate hardware config module parameters in drivers/net/irda/
    Annotate hardware config module parameters in drivers/net/hamradio/
    Annotate hardware config module parameters in drivers/net/ethernet/
    ...

    Linus Torvalds
     
  • Pull RCU updates from Ingo Molnar:
    "The main changes are:

    - Debloat RCU headers

    - Parallelize SRCU callback handling (plus overlapping patches)

    - Improve the performance of Tree SRCU on a CPU-hotplug stress test

    - Documentation updates

    - Miscellaneous fixes"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (74 commits)
    rcu: Open-code the rcu_cblist_n_lazy_cbs() function
    rcu: Open-code the rcu_cblist_n_cbs() function
    rcu: Open-code the rcu_cblist_empty() function
    rcu: Separately compile large rcu_segcblist functions
    srcu: Debloat the header
    srcu: Adjust default auto-expediting holdoff
    srcu: Specify auto-expedite holdoff time
    srcu: Expedite first synchronize_srcu() when idle
    srcu: Expedited grace periods with reduced memory contention
    srcu: Make rcutorture writer stalls print SRCU GP state
    srcu: Exact tracking of srcu_data structures containing callbacks
    srcu: Make SRCU be built by default
    srcu: Fix Kconfig botch when SRCU not selected
    rcu: Make non-preemptive schedule be Tasks RCU quiescent state
    srcu: Expedite srcu_schedule_cbs_snp() callback invocation
    srcu: Parallelize callback handling
    kvm: Move srcu_struct fields to end of struct kvm
    rcu: Fix typo in PER_RCU_NODE_PERIOD header comment
    rcu: Use true/false in assignment to bool
    rcu: Use bool value directly
    ...

    Linus Torvalds
     

09 May, 2017

5 commits

  • drivers/staging/ccree/ssi_hash.c:1990: error: unknown field 'template_ahash' specified in initializer
    drivers/staging/ccree/ssi_hash.c:1991: error: unknown field 'init' specified in initializer
    drivers/staging/ccree/ssi_hash.c:1991: warning: missing braces around initializer
    drivers/staging/ccree/ssi_hash.c:1991: warning: (near initialization for 'driver_hash[0]..template_ahash')
    drivers/staging/ccree/ssi_hash.c:1992: error: unknown field 'update' specified in initializer
    drivers/staging/ccree/ssi_hash.c:1992: warning: excess elements in union initializer
    drivers/staging/ccree/ssi_hash.c:1992: warning: (near initialization for 'driver_hash[0].')
    drivers/staging/ccree/ssi_hash.c:1993: error: unknown field 'final' specified in initializer
    drivers/staging/ccree/ssi_hash.c:1993: warning: excess elements in union initializer
    drivers/staging/ccree/ssi_hash.c:1993: warning: (near initialization for 'driver_hash[0].')
    ...

    gcc-4.4.4 has issues with anon union initializers. Work around this.

    Cc: Gilad Ben-Yossef
    Cc: Greg Kroah-Hartman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • CURRENT_TIME macro is not y2038 safe on 32 bit systems.

    The patch replaces all the uses of CURRENT_TIME by current_time() for
    filesystem times, and ktime_get_* functions for others.

    struct timespec is also not y2038 safe. Retain timespec for timestamp
    representation here as lustre uses it internally everywhere. These
    references will be changed to use struct timespec64 in a separate patch.

    This is also in preparation for the patch that transitions vfs
    timestamps to use 64 bit time and hence make them y2038 safe.
    current_time() is also planned to be transitioned to y2038 safe behavior
    along with this change.

    CURRENT_TIME macro will be deleted before merging the aforementioned
    change.

    Link: http://lkml.kernel.org/r/1491613030-11599-10-git-send-email-deepa.kernel@gmail.com
    Signed-off-by: Deepa Dinamani
    Cc: Oleg Drokin
    Cc: Andreas Dilger
    Cc: James Simmons
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Deepa Dinamani
     
  • While examining output from trial builds with -Wformat-security enabled,
    many strings were found that should be defined as "const", or as a char
    array instead of char pointer. This makes some static analysis easier,
    by producing fewer false positives.

    As these are all trivial changes, it seemed best to put them all in a
    single patch rather than chopping them up per maintainer.

    Link: http://lkml.kernel.org/r/20170405214711.GA5711@beast
    Signed-off-by: Kees Cook
    Acked-by: Jes Sorensen [runner.c]
    Cc: Tony Lindgren
    Cc: Russell King
    Cc: "Maciej W. Rozycki"
    Cc: Ralf Baechle
    Cc: Arnd Bergmann
    Cc: Greg Kroah-Hartman
    Cc: "Rafael J. Wysocki"
    Cc: Viresh Kumar
    Cc: Daniel Vetter
    Cc: Jani Nikula
    Cc: Sean Paul
    Cc: David Airlie
    Cc: Yisen Zhuang
    Cc: Salil Mehta
    Cc: Thomas Bogendoerfer
    Cc: Jiri Slaby
    Cc: Patrice Chotard
    Cc: "David S. Miller"
    Cc: James Hogan
    Cc: Paul Burton
    Cc: Matt Redfearn
    Cc: Paolo Bonzini
    Cc: Ingo Molnar
    Cc: Rasmus Villemoes
    Cc: Mugunthan V N
    Cc: Felipe Balbi
    Cc: Jarod Wilson
    Cc: Florian Westphal
    Cc: Antonio Quartulli
    Cc: Dmitry Torokhov
    Cc: Kejian Yan
    Cc: Daode Huang
    Cc: Qianqian Xie
    Cc: Philippe Reynes
    Cc: Colin Ian King
    Cc: Eric Dumazet
    Cc: Christian Gromm
    Cc: Andrey Shvetsov
    Cc: Jason Litzinger
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     
  • Cc: Laura Abbott
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • There are many code paths opencoding kvmalloc. Let's use the helper
    instead. The main difference to kvmalloc is that those users are
    usually not considering all the aspects of the memory allocator. E.g.
    allocation requests
    Reviewed-by: Boris Ostrovsky # Xen bits
    Acked-by: Kees Cook
    Acked-by: Vlastimil Babka
    Acked-by: Andreas Dilger # Lustre
    Acked-by: Christian Borntraeger # KVM/s390
    Acked-by: Dan Williams # nvdim
    Acked-by: David Sterba # btrfs
    Acked-by: Ilya Dryomov # Ceph
    Acked-by: Tariq Toukan # mlx4
    Acked-by: Leon Romanovsky # mlx5
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Herbert Xu
    Cc: Anton Vorontsov
    Cc: Colin Cross
    Cc: Tony Luck
    Cc: "Rafael J. Wysocki"
    Cc: Ben Skeggs
    Cc: Kent Overstreet
    Cc: Santosh Raspatur
    Cc: Hariprasad S
    Cc: Yishai Hadas
    Cc: Oleg Drokin
    Cc: "Yan, Zheng"
    Cc: Alexander Viro
    Cc: Alexei Starovoitov
    Cc: Eric Dumazet
    Cc: David Miller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Hocko
     

06 May, 2017

2 commits

  • Pull staging/IIO updates from Greg KH:
    "Here is the big staging tree update for 4.12-rc1.

    It's a big one, adding about 350k new lines of crap^Wcode, mostly all
    in a big dump of media drivers from Intel. But there's other new
    drivers in here as well, yet-another-wifi driver, new IIO drivers, and
    a new crypto accelerator.

    We also deleted a bunch of stuff, mostly in patch cleanups, but also
    the Android ION code has shrunk a lot, and the Android low memory
    killer driver was finally deleted, much to the celebration of the -mm
    developers.

    All of these have been in linux-next with a few build issues that will
    show up when you merge to your tree"

    Merge conflicts in the new rtl8723bs driver (due to the wifi changes
    this merge window) handled as per linux-next, courtesy of Stephen
    Rothwell.

    * tag 'staging-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1182 commits)
    staging: fsl-mc/dpio: add cpu LE conversion for dpaa2_fd
    staging: ks7010: remove line continuations in quoted strings
    staging: vt6656: use tabs instead of spaces
    staging: android: ion: Fix unnecessary initialization of static variable
    staging: media: atomisp: fix range checking on clk_num
    staging: media: atomisp: fix misspelled word in comment
    staging: media: atomisp: kmap() can't fail
    staging: atomisp: remove #ifdef for runtime PM functions
    staging: atomisp: satm include directory is gone
    atomisp: remove some more unused files
    atomisp: remove hmm_load/store/clear indirections
    atomisp: kill off mmgr_free
    atomisp: clean up the hmm init/cleanup indirections
    atomisp: handle allocation calls before init in the hmm layer
    staging: fsl-dpaa2/eth: Add maintainer for Ethernet driver
    staging: fsl-dpaa2/eth: Add TODO file
    staging: fsl-dpaa2/eth: Add trace points
    staging: fsl-dpaa2/eth: Add driver specific stats
    staging: fsl-dpaa2/eth: Add ethtool support
    staging: fsl-dpaa2/eth: Add Freescale DPAA2 Ethernet driver
    ...

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:
    "Media updates for v4.12-rc1:

    - new driver to support mediatek jpeg in hardware codec

    - rc-lirc, s5p-cec and st-cec staging drivers got promoted

    - hardware histogram support for vsp1 driver

    - added Virtual Media Controller driver, to make easier to test the
    media controller

    - added a new CEC driver (rainshadow-cec)

    - removed two staging LIRC drivers for obscure hardware that are too
    obsolete

    - added support for Intel SR300 Depth camera

    - some improvements at CEC and RC core

    - lots of driver cleanups, improvements all over the tree

    With this series, we're finally getting rid of the LIRC staging
    driver. There's just one left (lirc_zilog), with require more care,
    as part of its functionality (IR RX) is already provided by another
    driver. Work in progress to convert it on the proper way"

    * tag 'media/v4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (304 commits)
    [media] ov2640: print error if devm_*_optional*() fails
    [media] atmel-isc: Fix the static checker warning
    [media] ov2640: add support for MEDIA_BUS_FMT_YVYU8_2X8 and MEDIA_BUS_FMT_VYUY8_2X8
    [media] ov2640: fix vflip control
    [media] ov2640: fix duplicate width+height returning from ov2640_select_win()
    [media] ov2640: add missing write to size change preamble
    [media] ov2640: add information about DSP register 0xc7
    [media] ov2640: improve banding filter register definitions/documentation
    [media] ov2640: fix init sequence alignment
    [media] ov2640: make GPIOLIB an optional dependency
    [media] xc5000: fix spelling mistake: "calibration"
    [media] vidioc-queryctrl.rst: fix menu/int menu references
    [media] media-entity: only call dev_dbg_obj if mdev is not NULL
    [media] pixfmt-meta-vsp1-hgo.rst: remove spurious '-'
    [media] mtk-vcodec: avoid warnings because of empty macros
    [media] coda: bump maximum number of internal framebuffers to 17
    [media] media: mtk-vcodec: remove informative log
    [media] subdev-formats.rst: remove spurious '-'
    [media] dw2102: limit messages to buffer size
    [media] ttusb2: limit messages to buffer size
    ...

    Linus Torvalds
     

05 May, 2017

1 commit

  • Pull USB updates from Greg KH:
    "Here is the big USB patchset for 4.12-rc1.

    Lots of good stuff here, after many many many attempts, the kernel
    finally has a working typeC interface, many thanks to Heikki and
    Guenter and others who have taken the time to get this merged. It
    wasn't an easy path for them at all.

    There's also a staging driver that uses this new api, which is why
    it's coming in through this tree.

    Along with that, there's the usual huge number of changes for gadget
    drivers, xhci, and other stuff. Johan also finally refactored pretty
    much every driver that was looking at USB endpoints to do it in a
    common way, which will help prevent any "badly-formed" devices from
    causing problems in drivers. That too wasn't a simple task.

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

    * tag 'usb-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (263 commits)
    staging: typec: Fairchild FUSB302 Type-c chip driver
    staging: typec: Type-C Port Controller Interface driver (tcpci)
    staging: typec: USB Type-C Port Manager (tcpm)
    usb: host: xhci: remove #ifdef around PM functions
    usb: musb: don't mark of_dev_auxdata as initdata
    usb: misc: legousbtower: Fix buffers on stack
    USB: Revert "cdc-wdm: fix "out-of-sync" due to missing notifications"
    usb: Make sure usb/phy/of gets built-in
    USB: storage: e-mail update in drivers/usb/storage/unusual_devs.h
    usb: host: xhci: print correct command ring address
    usb: host: xhci: delete sp_dma_buffers for scratchpad
    usb: host: xhci: using correct specification chapter reference for DCBAAP
    xhci: switch to pci_alloc_irq_vectors
    usb: host: xhci-plat: set resume_quirk() for R-Car controllers
    usb: host: xhci-plat: add resume_quirk()
    usb: host: xhci-plat: enable clk in resume timing
    usb: host: plat: Enable xHCI plat runtime PM
    USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit
    USB: serial: constify static arrays
    usb: fix some references for /proc/bus/usb
    ...

    Linus Torvalds
     

04 May, 2017

1 commit

  • Pull drm u pdates from Dave Airlie:
    "This is the main drm pull request for v4.12. Apart from two fixes
    pulls, everything should have been in drm-next for at least 2 weeks.

    The biggest thing in here is AMD released the public headers for their
    upcoming VEGA GPUs. These as always are quite a sizeable chunk of
    header files. They've also added initial non-display support for those
    GPUs, though they aren't available in production yet.

    Otherwise it's pretty much normal.

    New bridge drivers:
    - megachips-stdpxxxx-ge-b850v3-fw LVDS->DP++
    - generic LVDS bridge support.

    Core:
    - Displayport link train failure reporting to userspace
    - debugfs interface cleaned up
    - subsystem TODO in kerneldoc now
    - Extended fbdev support (flipping and vblank wait)
    - drm_platform removed
    - EDP CRC support in helper
    - HF-VSDB SCDC support in EDID parser
    - Lots of code cleanups and header extraction
    - Thunderbolt external GPU awareness
    - Atomic helper improvements
    - Documentation improvements

    panel:
    - Sitronix and Samsung new panel support

    amdgpu:
    - Preliminary vega10 support
    - Multi-level page table support
    - GPU sensor support for userspace
    - PRT support for sparse buffers
    - SR-IOV improvements
    - Non-contig VRAM CPU mapping

    i915:
    - Atomic modesetting enabled by default on Gen5+
    - LSPCON improvements
    - Atomic state handling for cdclk
    - GPU reset improvements
    - In-kernel unit tests
    - Geminilake improvements and color manager support
    - Designware i2c fixes
    - vblank evasion improvements
    - Hotplug safe connector iterators
    - GVT scheduler QoS support
    - GVT Kabylake support

    nouveau:
    - Acceleration support for Pascal (GP10x).
    - Rearchitecture of code handling proprietary signed firmware
    - Fix GTX 970 with odd MMU configuration
    - GP10B support
    - GP107 acceleration support

    vmwgfx:
    - Atomic modesetting support for vmwgfx

    omapdrm:
    - Support for render nodes
    - Refactor omapdss code
    - Fix some probe ordering issues
    - Fix too dark RGB565 rendering

    sunxi:
    - prelim rework for multiple pipes.

    mali-dp:
    - Color management support
    - Plane scaling
    - Power management improvements

    imx-drm:
    - Prefetch Resolve Engine/Gasket on i.MX6QP
    - Deferred plane disabling
    - Separate alpha support

    mediatek:
    - Mediatek SoC MT2701 support

    rcar-du:
    - Gen3 HDMI support

    msm:
    - 4k support for newer chips
    - OPP bindings for gpu
    - prep work for per-process pagetables

    vc4:
    - HDMI audio support
    - fixes

    qxl:
    - minor fixes.

    dw-hdmi:
    - PHY improvements
    - CSC fixes
    - Amlogic GX SoC support"

    * tag 'drm-for-v4.12' of git://people.freedesktop.org/~airlied/linux: (1778 commits)
    drm/nouveau/fb/gf100-: Fix 32 bit wraparound in new ram detection
    drm/nouveau/secboot/gm20b: fix the error return code in gm20b_secboot_tegra_read_wpr()
    drm/nouveau/kms: Increase max retries in scanout position queries.
    drm/nouveau/bios/bitP: check that table is long enough for optional pointers
    drm/nouveau/fifo/nv40: no ctxsw for pre-nv44 mpeg engine
    drm: mali-dp: use div_u64 for expensive 64-bit divisions
    drm/i915: Confirm the request is still active before adding it to the await
    drm/i915: Avoid busy-spinning on VLV_GLTC_PW_STATUS mmio
    drm/i915/selftests: Allocate inode/file dynamically
    drm/i915: Fix system hang with EI UP masked on Haswell
    drm/i915: checking for NULL instead of IS_ERR() in mock selftests
    drm/i915: Perform link quality check unconditionally during long pulse
    drm/i915: Fix use after free in lpe_audio_platdev_destroy()
    drm/i915: Use the right mapping_gfp_mask for final shmem allocation
    drm/i915: Make legacy cursor updates more unsynced
    drm/i915: Apply a cond_resched() to the saturated signaler
    drm/i915: Park the signaler before sleeping
    drm: mali-dp: Check the mclk rate and allow up/down scaling
    drm: mali-dp: Enable image enhancement when scaling
    drm: mali-dp: Add plane upscaling support
    ...

    Linus Torvalds
     

03 May, 2017

2 commits

  • Pull networking updates from David Millar:
    "Here are some highlights from the 2065 networking commits that
    happened this development cycle:

    1) XDP support for IXGBE (John Fastabend) and thunderx (Sunil Kowuri)

    2) Add a generic XDP driver, so that anyone can test XDP even if they
    lack a networking device whose driver has explicit XDP support
    (me).

    3) Sparc64 now has an eBPF JIT too (me)

    4) Add a BPF program testing framework via BPF_PROG_TEST_RUN (Alexei
    Starovoitov)

    5) Make netfitler network namespace teardown less expensive (Florian
    Westphal)

    6) Add symmetric hashing support to nft_hash (Laura Garcia Liebana)

    7) Implement NAPI and GRO in netvsc driver (Stephen Hemminger)

    8) Support TC flower offload statistics in mlxsw (Arkadi Sharshevsky)

    9) Multiqueue support in stmmac driver (Joao Pinto)

    10) Remove TCP timewait recycling, it never really could possibly work
    well in the real world and timestamp randomization really zaps any
    hint of usability this feature had (Soheil Hassas Yeganeh)

    11) Support level3 vs level4 ECMP route hashing in ipv4 (Nikolay
    Aleksandrov)

    12) Add socket busy poll support to epoll (Sridhar Samudrala)

    13) Netlink extended ACK support (Johannes Berg, Pablo Neira Ayuso,
    and several others)

    14) IPSEC hw offload infrastructure (Steffen Klassert)"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (2065 commits)
    tipc: refactor function tipc_sk_recv_stream()
    tipc: refactor function tipc_sk_recvmsg()
    net: thunderx: Optimize page recycling for XDP
    net: thunderx: Support for XDP header adjustment
    net: thunderx: Add support for XDP_TX
    net: thunderx: Add support for XDP_DROP
    net: thunderx: Add basic XDP support
    net: thunderx: Cleanup receive buffer allocation
    net: thunderx: Optimize CQE_TX handling
    net: thunderx: Optimize RBDR descriptor handling
    net: thunderx: Support for page recycling
    ipx: call ipxitf_put() in ioctl error path
    net: sched: add helpers to handle extended actions
    qed*: Fix issues in the ptp filter config implementation.
    qede: Fix concurrency issue in PTP Tx path processing.
    stmmac: Add support for SIMATIC IOT2000 platform
    net: hns: fix ethtool_get_strings overflow in hns driver
    tcp: fix wraparound issue in tcp_lp
    bpf, arm64: fix jit branch offset related to ldimm64
    bpf, arm64: implement jiting of BPF_XADD
    ...

    Linus Torvalds
     
  • Pull documentation update from Jonathan Corbet:
    "A reasonably busy cycle for documentation this time around. There is a
    new guide for user-space API documents, rather sparsely populated at
    the moment, but it's a start. Markus improved the infrastructure for
    converting diagrams. Mauro has converted much of the USB documentation
    over to RST. Plus the usual set of fixes, improvements, and tweaks.

    There's a bit more than the usual amount of reaching out of
    Documentation/ to fix comments elsewhere in the tree; I have acks for
    those where I could get them"

    * tag 'docs-4.12' of git://git.lwn.net/linux: (74 commits)
    docs: Fix a couple typos
    docs: Fix a spelling error in vfio-mediated-device.txt
    docs: Fix a spelling error in ioctl-number.txt
    MAINTAINERS: update file entry for HSI subsystem
    Documentation: allow installing man pages to a user defined directory
    Doc/PM: Sync with intel_powerclamp code behavior
    zr364xx.rst: usb/devices is now at /sys/kernel/debug/
    usb.rst: move documentation from proc_usb_info.txt to USB ReST book
    convert philips.txt to ReST and add to media docs
    docs-rst: usb: update old usbfs-related documentation
    arm: Documentation: update a path name
    docs: process/4.Coding.rst: Fix a couple of document refs
    docs-rst: fix usb cross-references
    usb: gadget.h: be consistent at kernel doc macros
    usb: composite.h: fix two warnings when building docs
    usb: get rid of some ReST doc build errors
    usb.rst: get rid of some Sphinx errors
    usb/URB.txt: convert to ReST and update it
    usb/persist.txt: convert to ReST and add to driver-api book
    usb/hotplug.txt: convert to ReST and add to driver-api book
    ...

    Linus Torvalds
     

02 May, 2017

1 commit

  • Pull block layer updates from Jens Axboe:

    - Add BFQ IO scheduler under the new blk-mq scheduling framework. BFQ
    was initially a fork of CFQ, but subsequently changed to implement
    fairness based on B-WF2Q+, a modified variant of WF2Q. BFQ is meant
    to be used on desktop type single drives, providing good fairness.
    From Paolo.

    - Add Kyber IO scheduler. This is a full multiqueue aware scheduler,
    using a scalable token based algorithm that throttles IO based on
    live completion IO stats, similary to blk-wbt. From Omar.

    - A series from Jan, moving users to separately allocated backing
    devices. This continues the work of separating backing device life
    times, solving various problems with hot removal.

    - A series of updates for lightnvm, mostly from Javier. Includes a
    'pblk' target that exposes an open channel SSD as a physical block
    device.

    - A series of fixes and improvements for nbd from Josef.

    - A series from Omar, removing queue sharing between devices on mostly
    legacy drivers. This helps us clean up other bits, if we know that a
    queue only has a single device backing. This has been overdue for
    more than a decade.

    - Fixes for the blk-stats, and improvements to unify the stats and user
    windows. This both improves blk-wbt, and enables other users to
    register a need to receive IO stats for a device. From Omar.

    - blk-throttle improvements from Shaohua. This provides a scalable
    framework for implementing scalable priotization - particularly for
    blk-mq, but applicable to any type of block device. The interface is
    marked experimental for now.

    - Bucketized IO stats for IO polling from Stephen Bates. This improves
    efficiency of polled workloads in the presence of mixed block size
    IO.

    - A few fixes for opal, from Scott.

    - A few pulls for NVMe, including a lot of fixes for NVMe-over-fabrics.
    From a variety of folks, mostly Sagi and James Smart.

    - A series from Bart, improving our exposed info and capabilities from
    the blk-mq debugfs support.

    - A series from Christoph, cleaning up how handle WRITE_ZEROES.

    - A series from Christoph, cleaning up the block layer handling of how
    we track errors in a request. On top of being a nice cleanup, it also
    shrinks the size of struct request a bit.

    - Removal of mg_disk and hd (sorry Linus) by Christoph. The former was
    never used by platforms, and the latter has outlived it's usefulness.

    - Various little bug fixes and cleanups from a wide variety of folks.

    * 'for-4.12/block' of git://git.kernel.dk/linux-block: (329 commits)
    block: hide badblocks attribute by default
    blk-mq: unify hctx delay_work and run_work
    block: add kblock_mod_delayed_work_on()
    blk-mq: unify hctx delayed_run_work and run_work
    nbd: fix use after free on module unload
    MAINTAINERS: bfq: Add Paolo as maintainer for the BFQ I/O scheduler
    blk-mq-sched: alloate reserved tags out of normal pool
    mtip32xx: use runtime tag to initialize command header
    scsi: Implement blk_mq_ops.show_rq()
    blk-mq: Add blk_mq_ops.show_rq()
    blk-mq: Show operation, cmd_flags and rq_flags names
    blk-mq: Make blk_flags_show() callers append a newline character
    blk-mq: Move the "state" debugfs attribute one level down
    blk-mq: Unregister debugfs attributes earlier
    blk-mq: Only unregister hctxs for which registration succeeded
    blk-mq-debugfs: Rename functions for registering and unregistering the mq directory
    blk-mq: Let blk_mq_debugfs_register() look up the queue name
    blk-mq: Register /queue/mq after having registered /queue
    ide-pm: always pass 0 error to ide_complete_rq in ide_do_devset
    ide-pm: always pass 0 error to __blk_end_request_all
    ..

    Linus Torvalds
     

28 Apr, 2017

6 commits