23 May, 2017

18 commits

  • To enable smp_processor_id() and might_sleep() debug checks earlier, it's
    required to add system states between SYSTEM_BOOTING and SYSTEM_RUNNING.

    Adjust the system_state check in of_iommu_driver_present() to handle the
    extra states.

    Tested-by: Mark Rutland
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Peter Zijlstra (Intel)
    Acked-by: Joerg Roedel
    Acked-by: Robin Murphy
    Cc: Greg Kroah-Hartman
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Steven Rostedt
    Cc: iommu@lists.linux-foundation.org
    Link: http://lkml.kernel.org/r/20170516184735.788023442@linutronix.de
    Signed-off-by: Ingo Molnar

    Thomas Gleixner
     
  • To enable smp_processor_id() and might_sleep() debug checks earlier, it's
    required to add system states between SYSTEM_BOOTING and SYSTEM_RUNNING.

    Adjust the system_state checks in dmar_parse_one_atsr() and
    dmar_iommu_notify_scope_dev() to handle the extra states.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Peter Zijlstra (Intel)
    Acked-by: Joerg Roedel
    Cc: David Woodhouse
    Cc: Greg Kroah-Hartman
    Cc: Linus Torvalds
    Cc: Mark Rutland
    Cc: Peter Zijlstra
    Cc: Steven Rostedt
    Cc: iommu@lists.linux-foundation.org
    Link: http://lkml.kernel.org/r/20170516184735.712365947@linutronix.de
    Signed-off-by: Ingo Molnar

    Thomas Gleixner
     
  • To enable smp_processor_id() and might_sleep() debug checks earlier, it's
    required to add system states between SYSTEM_BOOTING and SYSTEM_RUNNING.

    Adjust the system_state check in pas_cpufreq_cpu_exit() to handle the extra
    states.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Peter Zijlstra (Intel)
    Acked-by: Viresh Kumar
    Cc: Greg Kroah-Hartman
    Cc: Linus Torvalds
    Cc: Mark Rutland
    Cc: Peter Zijlstra
    Cc: Rafael J. Wysocki
    Cc: Steven Rostedt
    Cc: linuxppc-dev@lists.ozlabs.org
    Link: http://lkml.kernel.org/r/20170516184735.620023128@linutronix.de
    Signed-off-by: Ingo Molnar

    Thomas Gleixner
     
  • To enable smp_processor_id() and might_sleep() debug checks earlier, it's
    required to add system states between SYSTEM_BOOTING and SYSTEM_RUNNING.

    get_nid_for_pfn() checks for system_state == BOOTING to decide whether to
    use early_pfn_to_nid() when CONFIG_DEFERRED_STRUCT_PAGE_INIT=y.

    That check is dubious, because the switch to state RUNNING happes way after
    page_alloc_init_late() has been invoked.

    Change the check to less than RUNNING state so it covers the new
    intermediate states as well.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Peter Zijlstra (Intel)
    Acked-by: Greg Kroah-Hartman
    Cc: Linus Torvalds
    Cc: Mark Rutland
    Cc: Mel Gorman
    Cc: Peter Zijlstra
    Cc: Steven Rostedt
    Link: http://lkml.kernel.org/r/20170516184735.528279534@linutronix.de
    Signed-off-by: Ingo Molnar

    Thomas Gleixner
     
  • To enable smp_processor_id() and might_sleep() debug checks earlier, it's
    required to add system states between SYSTEM_BOOTING and SYSTEM_RUNNING.

    Make the decision whether a pci root is hotplugged depend on SYSTEM_RUNNING
    instead of !SYSTEM_BOOTING. It makes no sense to cover states greater than
    SYSTEM_RUNNING as there are not hotplug events on reboot and poweroff.

    Tested-by: Mark Rutland
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Peter Zijlstra (Intel)
    Reviewed-by: Steven Rostedt (VMware)
    Cc: Greg Kroah-Hartman
    Cc: Len Brown
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Rafael J. Wysocki
    Link: http://lkml.kernel.org/r/20170516184735.446455652@linutronix.de
    Signed-off-by: Ingo Molnar

    Thomas Gleixner
     
  • Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • Pull pstore fix from Kees Cook:
    "Marta noticed another misbehavior in EFI pstore, which this fixes.

    Hopefully this is the last of the v4.12 fixes for pstore!"

    * tag 'pstore-v4.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    efi-pstore: Fix write/erase id tracking

    Linus Torvalds
     
  • Pull ACPI fixes from Rafael Wysocki:
    "These revert a 4.11 change that turned out to be problematic and add a
    .gitignore file.

    Specifics:

    - Revert a 4.11 commit related to the ACPI-based handling of laptop
    lids that made changes incompatible with existing user space stacks
    and broke things there (Lv Zheng).

    - Add .gitignore to the ACPI tools directory (Prarit Bhargava)"

    * tag 'acpi-4.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    Revert "ACPI / button: Remove lid_init_state=method mode"
    tools/power/acpi: Add .gitignore file

    Linus Torvalds
     
  • Pull power management fixes from Rafael Wysocki:
    "These fix RTC wakeup from suspend-to-idle broken recently, fix CPU
    idleness detection condition in the schedutil cpufreq governor, fix a
    cpufreq driver build failure, fix an error code path in the power
    capping framework, clean up the hibernate core and update the
    intel_pstate documentation.

    Specifics:

    - Fix RTC wakeup from suspend-to-idle broken by the recent rework of
    ACPI wakeup handling (Rafael Wysocki).

    - Update intel_pstate driver documentation to reflect the current
    code and explain how it works in more detail (Rafael Wysocki).

    - Fix an issue related to CPU idleness detection on systems with
    shared cpufreq policies in the schedutil governor (Juri Lelli).

    - Fix a possible build issue in the dbx500 cpufreq driver (Arnd
    Bergmann).

    - Fix a function in the power capping framework core to return an
    error code instead of 0 when there's an error (Dan Carpenter).

    - Clean up variable definition in the hibernation core (Pushkar
    Jambhlekar)"

    * tag 'pm-4.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    cpufreq: dbx500: add a Kconfig symbol
    PM / hibernate: Declare variables as static
    PowerCap: Fix an error code in powercap_register_zone()
    RTC: rtc-cmos: Fix wakeup from suspend-to-idle
    PM / wakeup: Fix up wakeup_source_report_event()
    cpufreq: intel_pstate: Document the current behavior and user interface
    cpufreq: schedutil: use now as reference when aggregating shared policy requests

    Linus Torvalds
     
  • We need to initializes those variables to 0 for platforms that do not
    provide ACPI parameters. Otherwise, we set sda_hold_time to random
    values, breaking e.g. Galileo and IOT2000 boards.

    Reported-and-tested-by: Linus Torvalds
    Reported-by: Tobias Klausmann
    Fixes: 9d6408433019 ("i2c: designware: don't infer timings described by ACPI from clock rate")
    Signed-off-by: Jan Kiszka
    Reviewed-by: Ard Biesheuvel
    Acked-by: Jarkko Nikula
    Signed-off-by: Wolfram Sang
    Signed-off-by: Linus Torvalds

    Jan Kiszka
     
  • Prior to the pstore interface refactoring, the "id" generated during
    a backend pstore_write() was only retained by the internal pstore
    inode tracking list. Additionally the "part" was ignored, so EFI
    would encode this in the id. This corrects the misunderstandings
    and correctly sets "id" during pstore_write(), and uses "part"
    directly during pstore_erase().

    Reported-by: Marta Lofstedt
    Fixes: 76cc9580e3fb ("pstore: Replace arguments for write() API")
    Fixes: a61072aae693 ("pstore: Replace arguments for erase() API")
    Signed-off-by: Kees Cook
    Tested-by: Marta Lofstedt

    Kees Cook
     
  • Pull networking fixes from David Miller:
    "Mostly netfilter bug fixes in here, but we have some bits elsewhere as
    well.

    1) Don't do SNAT replies for non-NATed connections in IPVS, from
    Julian Anastasov.

    2) Don't delete conntrack helpers while they are still in use, from
    Liping Zhang.

    3) Fix zero padding in xtables's xt_data_to_user(), from Willem de
    Bruijn.

    4) Add proper RCU protection to nf_tables_dump_set() because we
    cannot guarantee that we hold the NFNL_SUBSYS_NFTABLES lock. From
    Liping Zhang.

    5) Initialize rcv_mss in tcp_disconnect(), from Wei Wang.

    6) smsc95xx devices can't handle IPV6 checksums fully, so don't
    advertise support for offloading them. From Nisar Sayed.

    7) Fix out-of-bounds access in __ip6_append_data(), from Eric
    Dumazet.

    8) Make atl2_probe() propagate the error code properly on failures,
    from Alexey Khoroshilov.

    9) arp_target[] in bond_check_params() is used uninitialized. This
    got changes from a global static to a local variable, which is how
    this mistake happened. Fix from Jarod Wilson.

    10) Fix fallout from unnecessary NULL check removal in cls_matchall,
    from Jiri Pirko. This is definitely brown paper bag territory..."

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (26 commits)
    net: sched: cls_matchall: fix null pointer dereference
    vsock: use new wait API for vsock_stream_sendmsg()
    bonding: fix randomly populated arp target array
    net: Make IP alignment calulations clearer.
    bonding: fix accounting of active ports in 3ad
    net: atheros: atl2: don't return zero on failure path in atl2_probe()
    ipv6: fix out of bound writes in __ip6_append_data()
    bridge: start hello_timer when enabling KERNEL_STP in br_stp_start
    smsc95xx: Support only IPv4 TCP/UDP csum offload
    arp: always override existing neigh entries with gratuitous ARP
    arp: postpone addr_type calculation to as late as possible
    arp: decompose is_garp logic into a separate function
    arp: fixed error in a comment
    tcp: initialize rcv_mss to TCP_MIN_MSS instead of 0
    netfilter: xtables: fix build failure from COMPAT_XT_ALIGN outside CONFIG_COMPAT
    ebtables: arpreply: Add the standard target sanity check
    netfilter: nf_tables: revisit chain/object refcounting from elements
    netfilter: nf_tables: missing sanitization in data from userspace
    netfilter: nf_tables: can't assume lock is acquired when dumping set elems
    netfilter: synproxy: fix conntrackd interaction
    ...

    Linus Torvalds
     
  • In commit dc9c4d0fe023, the arp_target array moved from a static global
    to a local variable. By the nature of static globals, the array used to
    be initialized to all 0. At present, it's full of random data, which
    that gets interpreted as arp_target values, when none have actually been
    specified. Systems end up booting with spew along these lines:

    [ 32.161783] IPv6: ADDRCONF(NETDEV_UP): lacp0: link is not ready
    [ 32.168475] IPv6: ADDRCONF(NETDEV_UP): lacp0: link is not ready
    [ 32.175089] 8021q: adding VLAN 0 to HW filter on device lacp0
    [ 32.193091] IPv6: ADDRCONF(NETDEV_UP): lacp0: link is not ready
    [ 32.204892] lacp0: Setting MII monitoring interval to 100
    [ 32.211071] lacp0: Removing ARP target 216.124.228.17
    [ 32.216824] lacp0: Removing ARP target 218.160.255.255
    [ 32.222646] lacp0: Removing ARP target 185.170.136.184
    [ 32.228496] lacp0: invalid ARP target 255.255.255.255 specified for removal
    [ 32.236294] lacp0: option arp_ip_target: invalid value (-255.255.255.255)
    [ 32.243987] lacp0: Removing ARP target 56.125.228.17
    [ 32.249625] lacp0: Removing ARP target 218.160.255.255
    [ 32.255432] lacp0: Removing ARP target 15.157.233.184
    [ 32.261165] lacp0: invalid ARP target 255.255.255.255 specified for removal
    [ 32.268939] lacp0: option arp_ip_target: invalid value (-255.255.255.255)
    [ 32.276632] lacp0: Removing ARP target 16.0.0.0
    [ 32.281755] lacp0: Removing ARP target 218.160.255.255
    [ 32.287567] lacp0: Removing ARP target 72.125.228.17
    [ 32.293165] lacp0: Removing ARP target 218.160.255.255
    [ 32.298970] lacp0: Removing ARP target 8.125.228.17
    [ 32.304458] lacp0: Removing ARP target 218.160.255.255

    None of these were actually specified as ARP targets, and the driver does
    seem to clean up the mess okay, but it's rather noisy and confusing, leaks
    values to userspace, and the 255.255.255.255 spew shows up even when debug
    prints are disabled.

    The fix: just zero out arp_target at init time.

    While we're in here, init arp_all_targets_value in the right place.

    Fixes: dc9c4d0fe023 ("bonding: reduce scope of some global variables")
    CC: Mahesh Bandewar
    CC: Jay Vosburgh
    CC: Veaceslav Falico
    CC: Andy Gospodarek
    CC: netdev@vger.kernel.org
    CC: stable@vger.kernel.org
    Signed-off-by: Jarod Wilson
    Acked-by: Andy Gospodarek
    Signed-off-by: David S. Miller

    Jarod Wilson
     
  • * pm-sleep:
    PM / hibernate: Declare variables as static
    RTC: rtc-cmos: Fix wakeup from suspend-to-idle
    PM / wakeup: Fix up wakeup_source_report_event()

    * powercap:
    PowerCap: Fix an error code in powercap_register_zone()

    Rafael J. Wysocki
     
  • * acpi-button:
    Revert "ACPI / button: Remove lid_init_state=method mode"

    * acpi-tools:
    tools/power/acpi: Add .gitignore file

    Rafael J. Wysocki
     
  • * intel_pstate:
    cpufreq: intel_pstate: Document the current behavior and user interface

    * pm-cpufreq:
    cpufreq: dbx500: add a Kconfig symbol

    * pm-cpufreq-sched:
    cpufreq: schedutil: use now as reference when aggregating shared policy requests

    Rafael J. Wysocki
     
  • As of 7bb11dc9f59d and 0622cab0341c, bond slaves in a 3ad bond are not
    removed from the aggregator when they are down, and the active slave count
    is NOT equal to number of ports in the aggregator, but rather the number
    of ports in the aggregator that are still enabled. The sysfs spew for
    bonding_show_ad_num_ports() has a comment that says "Show number of active
    802.3ad ports.", but it's currently showing total number of ports, both
    active and inactive. Remedy it by using the same logic introduced in
    0622cab0341c in __bond_3ad_get_active_agg_info(), so sysfs, procfs and
    netlink all report the number of active ports. Note that this means that
    IFLA_BOND_AD_INFO_NUM_PORTS really means NUM_ACTIVE_PORTS instead of
    NUM_PORTS, and thus perhaps should be renamed for clarity.

    Lightly tested on a dual i40e lacp bond, simulating link downs with an ip
    link set dev down, was able to produce the state where I could
    see both in the same aggregator, but a number of ports count of 1.

    MII Status: up
    Active Aggregator Info:
    Aggregator ID: 1
    Number of ports: 2
    CC: Veaceslav Falico
    CC: Andy Gospodarek
    CC: netdev@vger.kernel.org
    Signed-off-by: Jarod Wilson
    Signed-off-by: David S. Miller

    Jarod Wilson
     
  • If dma mask checks fail in atl2_probe(), it breaks off initialization,
    deallocates all resources, but returns zero.

    The patch adds proper error code return value and
    make error code setup unified.

    Found by Linux Driver Verification project (linuxtesting.org).

    Signed-off-by: Alexey Khoroshilov
    Signed-off-by: David S. Miller

    Alexey Khoroshilov
     

22 May, 2017

2 commits

  • Pull irq fixes from Thomas Gleixner:
    "A set of small fixes for the irq subsystem:

    - Cure a data ordering problem with chained interrupts

    - Three small fixlets for the mbigen irq chip"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    genirq: Fix chained interrupt data ordering
    irqchip/mbigen: Fix the clear register offset calculation
    irqchip/mbigen: Fix potential NULL dereferencing
    irqchip/mbigen: Fix memory mapping code

    Linus Torvalds
     
  • When TX checksum offload is used, if the computed checksum is 0 the
    LAN95xx device do not alter the checksum to 0xffff. In the case of ipv4
    UDP checksum, it indicates to receiver that no checksum is calculated.
    Under ipv6, UDP checksum yields a result of zero must be changed to
    0xffff. Hence disabling checksum offload for ipv6 packets.

    Signed-off-by: Nisar Sayed

    Reported-by: popcorn mix
    Signed-off-by: David S. Miller

    Nisar Sayed
     

21 May, 2017

7 commits

  • Pull block fixes from Jens Axboe:
    "A small collection of fixes that should go into this cycle.

    - a pull request from Christoph for NVMe, which ended up being
    manually applied to avoid pulling in newer bits in master. Mostly
    fibre channel fixes from James, but also a few fixes from Jon and
    Vijay

    - a pull request from Konrad, with just a single fix for xen-blkback
    from Gustavo.

    - a fuseblk bdi fix from Jan, fixing a regression in this series with
    the dynamic backing devices.

    - a blktrace fix from Shaohua, replacing sscanf() with kstrtoull().

    - a request leak fix for drbd from Lars, fixing a regression in the
    last series with the kref changes. This will go to stable as well"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    nvmet: release the sq ref on rdma read errors
    nvmet-fc: remove target cpu scheduling flag
    nvme-fc: stop queues on error detection
    nvme-fc: require target or discovery role for fc-nvme targets
    nvme-fc: correct port role bits
    nvme: unmap CMB and remove sysfs file in reset path
    blktrace: fix integer parse
    fuseblk: Fix warning in super_setup_bdi_name()
    block: xen-blkback: add null check to avoid null pointer dereference
    drbd: fix request leak introduced by locking/atomic, kref: Kill kref_sub()

    Linus Torvalds
     
  • On rdma read errors, release the sq ref that was taken
    when the req was initialized. This avoids a hang in
    nvmet_sq_destroy() when the queue is being freed.

    Signed-off-by: Vijay Immanuel
    Reviewed-by: Sagi Grimberg
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Vijay Immanuel
     
  • Remove NVMET_FCTGTFEAT_NEEDS_CMD_CPUSCHED. It's unnecessary.

    Signed-off-by: James Smart
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    James Smart
     
  • Per the recommendation by Sagi on:
    http://lists.infradead.org/pipermail/linux-nvme/2017-April/009261.html

    Rather than waiting for reset work thread to stop queues and abort the ios,
    immediately stop the queues on error detection. Reset thread will restop
    the queues (as it's called on other paths), but it does not appear to have
    a side effect.

    Signed-off-by: James Smart
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    James Smart
     
  • In order to create an association, the remoteport must be
    serving either a target role or a discovery role.

    Signed-off-by: James Smart
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    James Smart
     
  • CMB doesn't get unmapped until removal while getting remapped on every
    reset. Add the unmapping and sysfs file removal to the reset path in
    nvme_pci_disable to match the mapping path in nvme_pci_enable.

    Fixes: 202021c1a ("nvme : Add sysfs entry for NVMe CMBs when appropriate")

    Signed-off-by: Jon Derrick
    Acked-by: Keith Busch
    Reviewed-By: Stephen Bates
    Cc: # 4.9+
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Jon Derrick
     
  • Pull staging driver fixes from Greg KH:
    "Here are a number of staging driver fixes for 4.12-rc2

    Most of them are typec driver fixes found by reviewers and users of
    the code. There are also some removals of files no longer needed in
    the tree due to the ion driver rewrite in 4.12-rc1, as well as some
    wifi driver fixes. And to round it out, a MAINTAINERS file update.

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

    * tag 'staging-4.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (22 commits)
    MAINTAINERS: greybus-dev list is members-only
    staging: fsl-dpaa2/eth: add ETHERNET dependency
    staging: typec: fusb302: refactor resume retry mechanism
    staging: typec: fusb302: reset i2c_busy state in error
    staging: rtl8723bs: remove re-positioned call to kfree in os_dep/ioctl_cfg80211.c
    staging: rtl8192e: GetTs Fix invalid TID 7 warning.
    staging: rtl8192e: rtl92e_get_eeprom_size Fix read size of EPROM_CMD.
    staging: rtl8192e: fix 2 byte alignment of register BSSIDR.
    staging: rtl8192e: rtl92e_fill_tx_desc fix write to mapped out memory.
    staging: vc04_services: Fix bulk cache maintenance
    staging: ccree: remove extraneous spin_unlock_bh() in error handler
    staging: typec: Fix sparse warnings about incorrect types
    staging: typec: fusb302: do not free gpio from managed resource
    staging: typec: tcpm: Fix Port Power Role field in PS_RDY messages
    staging: typec: tcpm: Respond to Discover Identity commands
    staging: typec: tcpm: Set correct flags in PD request messages
    staging: typec: tcpm: Drop duplicate PD messages
    staging: typec: fusb302: Fix chip->vbus_present init value
    staging: typec: fusb302: Fix module autoload
    staging: typec: tcpci: declare private structure as static
    ...

    Linus Torvalds
     

20 May, 2017

11 commits

  • Pull USB fixes from Greg KH:
    "Here are a number of small USB fixes for 4.12-rc2

    Most of them come from Johan, in his valiant quest to fix up all
    drivers that could be affected by "malicious" USB devices. There's
    also some fixes for more "obscure" drivers to handle some of the
    vmalloc stack fallout (which for USB drivers, was always the case, but
    very few people actually ran those systems...)

    Other than that, the normal set of xhci and gadget and musb driver
    fixes as well.

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

    * tag 'usb-4.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (42 commits)
    usb: musb: tusb6010_omap: Do not reset the other direction's packet size
    usb: musb: Fix trying to suspend while active for OTG configurations
    usb: host: xhci-plat: propagate return value of platform_get_irq()
    xhci: Fix command ring stop regression in 4.11
    xhci: remove GFP_DMA flag from allocation
    USB: xhci: fix lock-inversion problem
    usb: host: xhci-ring: don't need to clear interrupt pending for MSI enabled hcd
    usb: host: xhci-mem: allocate zeroed Scratchpad Buffer
    xhci: apply PME_STUCK_QUIRK and MISSING_CAS quirk for Denverton
    usb: xhci: trace URB before giving it back instead of after
    USB: serial: qcserial: add more Lenovo EM74xx device IDs
    USB: host: xhci: use max-port define
    USB: hub: fix SS max number of ports
    USB: hub: fix non-SS hub-descriptor handling
    USB: hub: fix SS hub-descriptor handling
    USB: usbip: fix nonconforming hub descriptor
    USB: gadget: dummy_hcd: fix hub-descriptor removable fields
    doc-rst: fixed kernel-doc directives in usb/typec.rst
    USB: core: of: document reference taken by companion helper
    USB: ehci-platform: fix companion-device leak
    ...

    Linus Torvalds
     
  • Pull char/misc driver fixes from Greg KH:
    "Here are five small bugfixes for reported issues with 4.12-rc1 and
    earlier kernels. Nothing huge here, just a lp, mem, vpd, and uio
    driver fix, along with a Kconfig fixup for one of the misc drivers.

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

    * tag 'char-misc-4.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    firmware: Google VPD: Fix memory allocation error handling
    drivers: char: mem: Check for address space wraparound with mmap()
    uio: fix incorrect memory leak cleanup
    misc: pci_endpoint_test: select CRC32
    char: lp: fix possible integer overflow in lp_setup()

    Linus Torvalds
     
  • Pull watchdog fixes from Wim Van Sebroeck:
    - orion_wdt compile-test dependencies
    - sama5d4_wdt: WDDIS handling and a race confition
    - pcwd_usb: fix NULL-deref at probe
    - cadence_wdt: fix timeout setting
    - wdt_pci: fix build error if SOFTWARE_REBOOT is defined
    - iTCO_wdt: all versions count down twice
    - zx2967: remove redundant dev_err call in zx2967_wdt_probe()
    - bcm281xx: Fix use of uninitialized spinlock

    * git://www.linux-watchdog.org/linux-watchdog:
    watchdog: bcm281xx: Fix use of uninitialized spinlock.
    watchdog: zx2967: remove redundant dev_err call in zx2967_wdt_probe()
    iTCO_wdt: all versions count down twice
    watchdog: wdt_pci: fix build error if define SOFTWARE_REBOOT
    watchdog: cadence_wdt: fix timeout setting
    watchdog: pcwd_usb: fix NULL-deref at probe
    watchdog: sama5d4: fix race condition
    watchdog: sama5d4: fix WDDIS handling
    watchdog: orion: fix compile-test dependencies

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "Mostly nouveau and i915, fairly quiet as usual for rc2"

    * tag 'drm-fixes-for-v4.12-rc2' of git://people.freedesktop.org/~airlied/linux:
    drm/atmel-hlcdc: Fix output initialization
    gpu: host1x: select IOMMU_IOVA
    drm/nouveau/fifo/gk104-: Silence a locking warning
    drm/nouveau/secboot: plug memory leak in ls_ucode_img_load_gr() error path
    drm/nouveau: Fix drm poll_helper handling
    drm/i915: don't do allocate_va_range again on PIN_UPDATE
    drm/i915: Fix rawclk readout for g4x
    drm/i915: Fix runtime PM for LPE audio
    drm/i915/glk: Fix DSI "*ERROR* ULPS is still active" messages
    drm/i915/gvt: avoid unnecessary vgpu switch
    drm/i915/gvt: not to restore in-context mmio
    drm/etnaviv: don't put fence in case of submit failure
    drm/i915/gvt: fix typo: "supporte" -> "support"
    drm: hdlcd: Fix the calculation of the scanout start address

    Linus Torvalds
     
  • Pull SCSI fixes from James Bottomley:
    "This is the first sweep of mostly minor fixes. There's one security
    one: the read past the end of a buffer in qedf, and a panic fix for
    lpfc SLI-3 adapters, but the rest are a set of include and build
    dependency tidy ups and assorted other small fixes and updates"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    scsi: pmcraid: remove redundant check to see if request_size is less than zero
    scsi: lpfc: ensure els_wq is being checked before destroying it
    scsi: cxlflash: Select IRQ_POLL
    scsi: qedf: Avoid reading past end of buffer
    scsi: qedf: Cleanup the type of io_log->op
    scsi: lpfc: double lock typo in lpfc_ns_rsp()
    scsi: qedf: properly update arguments position in function call
    scsi: scsi_lib: Add #include
    scsi: MAINTAINERS: update OSD entries
    scsi: Skip deleted devices in __scsi_device_lookup
    scsi: lpfc: Fix panic on BFS configuration
    scsi: libfc: do not flood console with messages 'libfc: queue full ...'

    Linus Torvalds
     
  • Pull libnvdimm fixes from Dan Williams:
    "A couple of compile fixes.

    With the removal of the ->direct_access() method from
    block_device_operations in favor of a new dax_device + dax_operations
    we broke two configurations.

    The CONFIG_BLOCK=n case is fixed by compiling out the block+dax
    helpers in the dax core. Configurations with FS_DAX=n EXT4=y / XFS=y
    and DAX=m fail due to the helpers the builtin filesystem needs being
    in a module, so we stub out the helpers in the FS_DAX=n case."

    * 'libnvdimm-for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    dax, xfs, ext4: compile out iomap-dax paths in the FS_DAX=n case
    dax: fix false CONFIG_BLOCK dependency

    Linus Torvalds
     
  • Pull i2c fix from Wolfram Sang:
    "A regression fix for I2C that would be great to have in rc2"

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: designware: don't infer timings described by ACPI from clock rate

    Linus Torvalds
     
  • Pull IOMMU fixes from Joerg Roedel:

    - another compile-fix as a fallout of the recent header-file cleanup

    - add a missing IO/TLB flush to the Intel VT-d kdump code path

    - a fix for ARM64 dma code to only access initialized iova_domain
    members

    * tag 'iommu-fixes-v4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
    iommu/mediatek: Include linux/dma-mapping.h
    iommu/vt-d: Flush the IOTLB to get rid of the initial kdump mappings
    iommu/dma: Don't touch invalid iova_domain members

    Linus Torvalds
     
  • Pull DeviceTree fixes from Rob Herring:

    - fix missing allocation failure handling in fdt code

    - fix dtc compile error on 32-bit hosts

    - revert bad sparse changes causing GCC7 warnings

    * tag 'devicetree-fixes-for-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
    of: fdt: add missing allocation-failure check
    dtc: check.c fix compile error
    Partially Revert "of: fix sparse warnings in fdt, irq, reserved mem, and resolver code"

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "We had a small batch of fixes before -rc1, but here is a larger one.
    It contains a backmerge of 4.12-rc1 since some of the downstream
    branches we merge had that as base; at the same time we already had
    merged contents before -rc1 and rebase wasn't the right solution.

    A mix of random smaller fixes and a few things worth pointing out:

    - We've started telling people to avoid cross-tree shared branches if
    all they're doing is picking up one or two DT-used constants from a
    shared include file, and instead to use the numeric values on first
    submission. Follow-up moving over to symbolic names are sent in
    right after -rc1, i.e. here. It's only a few minor patches of this
    type.

    - Linus Walleij and others are resurrecting the 'Gemini' platform,
    and wanted a cut-down platform-specific defconfig for it. So I
    picked that up for them.

    - Rob Herring ran 'savedefconfig' on arm64, it's a bit churny but it
    helps people to prepare patches since it's a pain when defconfig
    and current savedefconfig contents differs too much.

    - Devicetree additions for some pinctrl drivers for Armada that were
    merged this window. I'd have preferred to see those earlier but
    it's not a huge deail.

    The biggest change worth pointing out though since it's touching other
    parts of the tree: We added prefixes to be used when cross-including
    DT contents between arm64 and arm, allowing someone to #include
    from arm64, and likewise. As part of that, we needed
    arm/foo.dtsi to work on arm as well. The way I suggested this to Heiko
    resulted in a recursive symlink.

    Instead, I've now moved it out of arch/*/boot/dts/include, into a
    shared location under scripts/dtc. While I was at it, I consolidated
    so all architectures now behave the same way in this manner.

    Rob Herring (DT maintainer) has acked it. I cc:d most other arch
    maintainers but nobody seems to care much; it doesn't really affect
    them since functionality is unchanged for them by default"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (29 commits)
    arm64: dts: rockchip: fix include reference
    firmware: ti_sci: fix strncat length check
    ARM: remove duplicate 'const' annotations'
    arm64: defconfig: enable options needed for QCom DB410c board
    arm64: defconfig: sync with savedefconfig
    ARM: configs: add a gemini defconfig
    devicetree: Move include prefixes from arch to separate directory
    ARM: dts: dra7: Reduce cpu thermal shutdown temperature
    memory: omap-gpmc: Fix debug output for access width
    ARM: dts: LogicPD Torpedo: Fix camera pin mux
    ARM: dts: omap4: enable CEC pin for Pandaboard A4 and ES
    ARM: dts: gta04: fix polarity of clocks for mcbsp4
    ARM: dts: dra7: Add power hold and power controller properties to palmas
    soc: imx: add PM dependency for IMX7_PM_DOMAINS
    ARM: dts: imx6sx-sdb: Remove OPP override
    ARM: dts: imx53-qsrb: Pulldown PMIC IRQ pin
    soc: bcm: brcmstb: Correctly match 7435 SoC
    tee: add ARM_SMCCC dependency
    ARM: omap2+: make omap4_get_cpu1_ns_pa_addr declaration usable
    ARM64: dts: mediatek: configure some fixed mmc parameters
    ...

    Linus Torvalds
     
  • single hdlcd fix
    * 'for-upstream/hdlcd' of git://linux-arm.org/linux-ld:
    drm: hdlcd: Fix the calculation of the scanout start address

    Dave Airlie
     

19 May, 2017

2 commits

  • Commit bd698d24b1b57 ("i2c: designware: Get selected speed mode
    sda-hold-time via ACPI") updated the logic that reads the timing
    parameters for various I2C bus rates from the DSDT, to only read
    the timing parameters for the currently selected mode.

    This causes a WARN_ON() splat on platforms that legally omit the clock
    frequency from the ACPI description, because in the new situation, the
    core I2C designware driver still accesses the fields in the driver
    struct that we no longer populate, and proceeds to calculate them from
    the clock frequency. Since the clock frequency is unspecified, the
    driver complains loudly using a WARN_ON().

    So revert back to the old situation, where the struct fields for all
    timings are populated, but retain the new logic which chooses the SDA
    hold time from the timing mode that is currently in use.

    Fixes: bd698d24b1b57 ("i2c: designware: Get selected speed mode ...")
    Signed-off-by: Ard Biesheuvel
    Reported-by: Lorenzo Pieralisi
    Acked-by: Jarkko Nikula
    Signed-off-by: Wolfram Sang

    Ard Biesheuvel
     
  • The bcm_kona_wdt_set_resolution_reg() call takes the spinlock, so
    initialize it earlier. Fixes a warning at boot with lock debugging
    enabled.

    Fixes: 6adb730dc208 ("watchdog: bcm281xx: Watchdog Driver")
    Signed-off-by: Eric Anholt
    Reviewed-by: Florian Fainelli
    Reviewed-by: Guenter Roeck
    Signed-off-by: Guenter Roeck
    Signed-off-by: Wim Van Sebroeck

    Eric Anholt