1. 07 Aug, 2014 10 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 6456a043
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "This fixes the most immediate fallout from yesterday's networking
        merge:
      
         1) sock_tx_timestamp() must not clear the passed in tx_flags, but
            rather add to them.  Fix from Eric Dumazet.
      
         2) The hyperv driver sendbuf region increase needs to be decreased
            slightly to handle older backends.  From KY Srinivasan.
      
         3) Fix RCU lockdep splats in netlink diag after recent hashing
            changes, from Thomas Graf.
      
         4) The new IPV6_FLOWLABEL was given a socket option number that
            overlapped with an existing IP6 tables one, breaking ip6_tables.
            Fixed by Pablo Neira Ayuso"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        netlink: hold nl_sock_hash_lock during diag dump
        tcp: md5: check md5 signature without socket lock
        net: fix USB network driver config option.
        net: reallocate new socket option number for IPV6_AUTOFLOWLABEL
        vmxnet3: fix decimal printf format specifiers prefixed with 0x
        net-timestamp: cumulative tcp timestamping fixes
        hyperv: Adjust the size of sendbuf region to support ws2008r2
        cxgb4: Fix for SR-IOV VF initialization
        net-timestamp: sock_tx_timestamp() fix
      6456a043
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial · 158c1294
      Linus Torvalds authored
      Pull trivial tree changes from Jiri Kosina:
       "Summer edition of trivial tree updates"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (23 commits)
        doc: fix two typos in watchdog-api.txt
        irq-gic: remove file name from heading comment
        MAINTAINERS: Add miscdevice.h to file list for char/misc drivers.
        scsi: mvsas: mv_sas.c: Fix for possible null pointer dereference
        doc: replace "practise" with "practice" in Documentation
        befs: remove check for CONFIG_BEFS_RW
        scsi: doc: fix 'SCSI_NCR_SETUP_MASTER_PARITY'
        drivers/usb/phy/phy.c: remove a leading space
        mfd: fix comment
        cpuidle: fix comment
        doc: hpfall.c: fix missing null-terminate after strncpy call
        usb: doc: hotplug.txt code typos
        kbuild: fix comment in Makefile.modinst
        SH: add proper prompt to SH_MAGIC_PANEL_R2_VERSION
        ARM: msm: Remove MSM_SCM
        crypto: Remove MPILIB_EXTRA
        doc: CN: remove dead link, kerneltrap.org no longer works
        media: update reference, kerneltrap.org no longer works
        hexagon: update reference, kerneltrap.org no longer works
        doc: LSM: update reference, kerneltrap.org no longer works
        ...
      158c1294
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 172bfe09
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
       "Some highlights:
      
         - hid-sony improvements of Sixaxis device support by Antonio Ospite
         - hid-hyperv driven devices can now be used as wakeup source, by
           Dexuan Cui
         - hid-lenovo driver is now more generic and supports more devices, by
           Jamie Lentin
         - hid-huion now supports wider range of tablets, by Nikolai
           Kondrashov
         - other various unsorted fixes and device ID additions"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (30 commits)
        HID: hyperv: register as a wakeup source
        HID: sony: Default initialize all elements of the LED max_brightness array to 1
        HID: huion: Fix sparse warnings
        HID: usbhid: Use flag HID_DISCONNECTED when a usb device is removed
        HID: ignore jabra gn9350e
        HID: cp2112: add I2C mode
        HID: use multi input quirk for 22b9:2968
        HID: rmi: only bind the hid-rmi driver to the mouse interface of composite USB devices
        HID: rmi: check that report ids exist in the report_id_hash before accessing their size
        HID: lenovo: Add support for Compact (BT|USB) keyboard
        HID: lenovo: Don't call function in condition, show error codes
        HID: lenovo: Prepare support for adding other devices
        HID: lenovo: Rename hid-lenovo-tpkbd to hid-lenovo
        HID: huion: Handle tablets with UC-Logic vendor ID
        HID: huion: Switch to generating report descriptor
        HID: huion: Don't ignore other interfaces
        HID: huion: Use "tablet" instead of specific model
        HID: add quirk for 0x04d9:0xa096 device
        HID: i2c-hid: call the hid driver's suspend and resume callbacks
        HID: rmi: change logging level of log messages related to unexpected reports
        ...
      172bfe09
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · a1b0a006
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
       - remove unnecessary checks after platform_get_resource()
       - fix watchdog api documentation typo's
       - imx2_wdt: adds big endianness support
       - move restart code to the sunxi watchdog driver
      
      * git://www.linux-watchdog.org/linux-watchdog:
        wdt: sunxi: Move restart code to the watchdog driver
        Documentation: fix two typos in watchdog-api.txt
        watchdog: imx2_wdt: adds big endianness support.
        watchdog: shwdt: Remove the unnecessary check of resource after platform_get_resource()
        watchdog: lantiq_wdt: Remove the un-necessary check of resource after platform_get_resource()
        watchdog: dw_wdt: Remove the un-necessary check after platform_get_resource()
      a1b0a006
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 77251319
      Linus Torvalds authored
      Pull ACPI and power management updates from Rafael Wysocki:
       "Again, ACPICA leads the pack (47 commits), followed by cpufreq (18
        commits) and system suspend/hibernation (9 commits).
      
        From the new code perspective, the ACPICA update brings ACPI 5.1 to
        the table, including a new device configuration object called _DSD
        (Device Specific Data) that will hopefully help us to operate device
        properties like Device Trees do (at least to some extent) and changes
        related to supporting ACPI on ARM.
      
        Apart from that we have hibernation changes making it use radix trees
        to store memory bitmaps which should speed up some operations carried
        out by it quite significantly.  We also have some power management
        changes related to suspend-to-idle (the "freeze" sleep state) support
        and more preliminary changes needed to support ACPI on ARM (outside of
        ACPICA).
      
        The rest is fixes and cleanups pretty much everywhere.
      
        Specifics:
      
         - ACPICA update to upstream version 20140724.  That includes ACPI 5.1
           material (support for the _CCA and _DSD predefined names, changes
           related to the DMAR and PCCT tables and ARM support among other
           things) and cleanups related to using ACPICA's header files.  A
           major part of it is related to acpidump and the core code used by
           that utility.  Changes from Bob Moore, David E Box, Lv Zheng,
           Sascha Wildner, Tomasz Nowicki, Hanjun Guo.
      
         - Radix trees for memory bitmaps used by the hibernation core from
           Joerg Roedel.
      
         - Support for waking up the system from suspend-to-idle (also known
           as the "freeze" sleep state) using ACPI-based PCI wakeup signaling
           (Rafael J Wysocki).
      
         - Fixes for issues related to ACPI button events (Rafael J Wysocki).
      
         - New device ID for an ACPI-enumerated device included into the
           Wildcat Point PCH from Jie Yang.
      
         - ACPI video updates related to backlight handling from Hans de Goede
           and Linus Torvalds.
      
         - Preliminary changes needed to support ACPI on ARM from Hanjun Guo
           and Graeme Gregory.
      
         - ACPI PNP core cleanups from Arjun Sreedharan and Zhang Rui.
      
         - Cleanups related to ACPI_COMPANION() and ACPI_HANDLE() macros
           (Rafael J Wysocki).
      
         - ACPI-based device hotplug cleanups from Wei Yongjun and Rafael J
           Wysocki.
      
         - Cleanups and improvements related to system suspend from Lan
           Tianyu, Randy Dunlap and Rafael J Wysocki.
      
         - ACPI battery cleanup from Wei Yongjun.
      
         - cpufreq core fixes from Viresh Kumar.
      
         - Elimination of a deadband effect from the cpufreq ondemand governor
           and intel_pstate driver cleanups from Stratos Karafotis.
      
         - 350MHz CPU support for the powernow-k6 cpufreq driver from Mikulas
           Patocka.
      
         - Fix for the imx6 cpufreq driver from Anson Huang.
      
         - cpuidle core and governor cleanups from Daniel Lezcano, Sandeep
           Tripathy and Mohammad Merajul Islam Molla.
      
         - Build fix for the big_little cpuidle driver from Sachin Kamat.
      
         - Configuration fix for the Operation Performance Points (OPP)
           framework from Mark Brown.
      
         - APM cleanup from Jean Delvare.
      
         - cpupower utility fixes and cleanups from Peter Senna Tschudin,
           Andrey Utkin, Himangi Saraogi, Rickard Strandqvist, Thomas
           Renninger"
      
      * tag 'pm+acpi-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (118 commits)
        ACPI / LPSS: add LPSS device for Wildcat Point PCH
        ACPI / PNP: Replace faulty is_hex_digit() by isxdigit()
        ACPICA: Update version to 20140724.
        ACPICA: ACPI 5.1: Update for PCCT table changes.
        ACPICA/ARM: ACPI 5.1: Update for GTDT table changes.
        ACPICA/ARM: ACPI 5.1: Update for MADT changes.
        ACPICA/ARM: ACPI 5.1: Update for FADT changes.
        ACPICA: ACPI 5.1: Support for the _CCA predifined name.
        ACPICA: ACPI 5.1: New notify value for System Affinity Update.
        ACPICA: ACPI 5.1: Support for the _DSD predefined name.
        ACPICA: Debug object: Add current value of Timer() to debug line prefix.
        ACPICA: acpihelp: Add UUID support, restructure some existing files.
        ACPICA: Utilities: Fix local printf issue.
        ACPICA: Tables: Update for DMAR table changes.
        ACPICA: Remove some extraneous printf arguments.
        ACPICA: Update for comments/formatting. No functional changes.
        ACPICA: Disassembler: Add support for the ToUUID opererator (macro).
        ACPICA: Remove a redundant cast to acpi_size for ACPI_OFFSET() macro.
        ACPICA: Work around an ancient GCC bug.
        ACPI / processor: Make it possible to get local x2apic id via _MAT
        ...
      77251319
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 6b22df74
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "This patch set consists of the usual driver updates (ufs, storvsc,
        pm8001 hpsa).  It also has removal of the user space target driver
        code (everyone is using LIO now), a partial PCI MSI-X update, more
        multi-queue updates, conversion to 64 bit LUNs (so we could
        theoretically cope with any LUN returned by a device) and placeholder
        support for the ZBC device type (Shingle drives), plus an assortment
        of minor updates and bug fixes"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (143 commits)
        scsi: do not issue SCSI RSOC command to Promise Vtrak E610f
        vmw_pvscsi: Use pci_enable_msix_exact() instead of pci_enable_msix()
        pm8001: Fix invalid return when request_irq() failed
        lpfc: Remove superfluous call to pci_disable_msix()
        isci: Use pci_enable_msix_exact() instead of pci_enable_msix()
        bfa: Use pci_enable_msix_exact() instead of pci_enable_msix()
        bfa: Cleanup bfad_setup_intr() function
        bfa: Do not call pci_enable_msix() after it failed once
        fnic: Use pci_enable_msix_exact() instead of pci_enable_msix()
        scsi: use short driver name for per-driver cmd slab caches
        scsi_debug: support scsi-mq, queues and locks
        Drivers: add blist flags
        scsi: ufs: fix endianness sparse warnings
        scsi: ufs: make undeclared functions static
        bnx2i: Update driver version to 2.7.10.1
        pm8001: fix a memory leak in nvmd_resp
        pm8001: fix update_flash
        pm8001: fix a memory leak in flash_update
        pm8001: Cleaning up uninitialized variables
        pm8001: Fix to remove null pointer checks that could never happen
        ...
      6b22df74
    • Linus Torvalds's avatar
      Merge tag 'sound-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 930e0312
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "There've been many updates in ASoC side at this time, especially the
        framework enhancement for multiple CODECs on a single DAI and more
        componentization works.
      
        The only major change in ALSA core is the addition of timestamp type
        in sw_params field.  This should behave in backward compatible way.
      
        Other than that, there are lots of small changes and new drivers in
        wide range, including a large code cut in HD-audio driver for
        deprecated static quirks.  Some highlights are below:
      
        ALSA Core:
         - Add the new timestamp type field to sw_params to choose
           MONOTONIC_RAW type
      
        HD-audio:
         - Continued conversion to standard printk macros, generic code
           cleanups
         - Removal of obsoleted static quirk codes for Conexant and C-Media
           codecs
         - Fixups for HP Envy TS, Dell XPS 15, HP and Dell mute/mic LED,
           Gigabyte BXBT-2807 mobo
         - Intel Braswell support
      
        ASoC:
         - Support for multiple CODECs attached to a single DAI, enabling
           systems with for example multiple DAC/speaker drivers on a single
           link, contributed by Benoit Cousson based on work from Misael Lopez
           Cruz
         - Support for byte controls larger than 256 bytes based on the use of
           TLVs contributed by Omair Mohammed Abdullah
         - More componentisation work from Lars-Peter Clausen
         - The remainder of the conversions of CODEC drivers to params_width()
           by Mark Brown
         - Drivers for Cirrus Logic CS4265, Freescale i.MX ASRC blocks,
           Realtek RT286 and RT5670, Rockchip RK3xxx I2S controllers and Texas
           Instruments TAS2552
         - Lots of updates and fixes, especially to the DaVinci, Intel,
           Freescale, Realtek, and rcar drivers"
      
      * tag 'sound-3.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (402 commits)
        ALSA: usb-audio: Whitespace cleanups for sound/usb/midi.*
        ALSA: usb-audio: Respond to suspend and resume callbacks for MIDI input
        sound/oss/pss: Remove typedefs pss_mixerdata and pss_confdata
        sound/oss/opl3: Remove typedef opl_devinfo
        ALSA: fireworks: fix specifiers in format strings for propper output
        ASoC: imx-audmux: Use uintptr_t for port numbers
        ASoC: davinci: Enable menuconfig entry for McASP
        ASoC: fsl_asrc: Don't access members of config before checking it
        ASoC: fsl_sarc_dma: Check pair before using it
        ASoC: adau1977: Fix truncation warning on 64 bit architectures
        ALSA: virtuoso: add Xonar Essence STX II support
        ALSA: riptide: fix %d confusingly prefixed with 0x in format strings
        ALSA: fireworks: fix %d confusingly prefixed with 0x in format strings
        ALSA: hda - add codec ID for Braswell display audio codec
        ALSA: hda - add PCI IDs for Intel Braswell
        ALSA: usb-audio: Adjust Gamecom 780 volume level
        ALSA: usb-audio: improve dmesg source grepability
        ASoC: rt5670: Fix duplicate const warnings
        ASoC: rt5670: Staticise non-exported symbols
        ASoC: Intel: update stream only on stream IPC msgs
        ...
      930e0312
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · ec6c0a77
      Linus Torvalds authored
      Pull HSI changes from Sebastian Reichel:
       "Misc fixes in SSI related drivers"
      
      * tag 'hsi-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: omap_ssi: Fix return value check in ssi_debug_add_ctrl()
        HSI: omap_ssi_port: Fix return value check in ssi_debug_add_port()
        HSI: ssi_protocol: Fix sparse non static symbol warning
        drivers/hsi/controllers/omap_ssi{,_port}.c: fix failure checks
      ec6c0a77
    • Linus Torvalds's avatar
      Merge tag 'for-v3.17' of git://git.infradead.org/battery-2.6 · 0498cf84
      Linus Torvalds authored
      Pull power supply changes from Sebastian Reichel:
       - Added iPaq h3xxx battery driver
       - Added Broadcom STB reset driver
       - DT support for rx51-battery
       - misc. fixes
      
      * tag 'for-v3.17' of git://git.infradead.org/battery-2.6:
        ipaq_micro_battery: fix sparse non static symbol warning
        power: add driver for battery reading on iPaq h3xxx
        power: twl4030_charger: detect battery presence prior to enabling charger
        power: reset: Add reboot driver for brcmstb
        power_supply: Fix sparse non static symbol warning
        power_supply: Add inlmt,iterm, min/max temp props
        charger: tps65090: Allow charger module to be used when no irq
        power/reset: Fix GPL v2 license string typo
        power: poweroff: gpio: convert to use descriptors
        bq27000: report missing device better.
        bq27x00_battery: Introduce the use of the managed version of kzalloc
        Documentation: DT: Document rx51-battery binding
        rx51_battery: convert to iio consumer
        bq2415x_charger: Fix Atomic Sleep Bug
      0498cf84
    • Thomas Graf's avatar
      netlink: hold nl_sock_hash_lock during diag dump · 6c8f7e70
      Thomas Graf authored
      Although RCU protection would be possible during diag dump, doing
      so allows for concurrent table mutations which can render the
      in-table offset between individual Netlink messages invalid and
      thus cause legitimate sockets to be skipped in the dump.
      
      Since the diag dump is relatively low volume and consistency is
      more important than performance, the table mutex is held during
      dump.
      Reported-by: default avatarAndrey Wagin <avagin@gmail.com>
      Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
      Fixes: e341694e ("netlink: Convert netlink_lookup() to use RCU protected hash table")
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6c8f7e70
  2. 06 Aug, 2014 21 commits
    • Dmitry Popov's avatar
      tcp: md5: check md5 signature without socket lock · 9ea88a15
      Dmitry Popov authored
      Since a8afca03 (tcp: md5: protects md5sig_info with RCU) tcp_md5_do_lookup
      doesn't require socket lock, rcu_read_lock is enough. Therefore socket lock is
      no longer required for tcp_v{4,6}_inbound_md5_hash too, so we can move these
      calls (wrapped with rcu_read_{,un}lock) before bh_lock_sock:
      from tcp_v{4,6}_do_rcv to tcp_v{4,6}_rcv.
      Signed-off-by: default avatarDmitry Popov <ixaphire@qrator.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9ea88a15
    • Francois Romieu's avatar
      net: fix USB network driver config option. · 269f8cb2
      Francois Romieu authored
      It must be tristate to avoid broken dependencies with kernel built-in
      usb network drivers when usb support is module only.
      
      When net config option is set, least surprize default should match usb.
      
      Wireless RNDIS USB driver used to select USB_USBNET. USB_USBNET now
      depends on USB_NET_DRIVERS so the latter should be selected as well.
      Signed-off-by: default avatarFrancois Romieu <romieu@fr.zoreil.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      269f8cb2
    • Pablo Neira's avatar
      net: reallocate new socket option number for IPV6_AUTOFLOWLABEL · 753a2ad5
      Pablo Neira authored
      cb1ce2ef ("ipv6: Implement automatic flow label generation on transmit")
      accidentally uses socket option 64, which is already used by ip6tables:
      
       IP6T_SO_SET_REPLACE / IP6T_SO_GET_INFO               64
       IP6T_SO_SET_ADD_COUNTERS / IP6T_SO_GET_ENTRIES       65
      
      There is comment include/uapi/linux/in6.h warning about that.
      
      Allocate 70 for this, which seems to be unused instead.
      
      Cc: Tom Herbert <therbert@google.com>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      753a2ad5
    • Hans Wennborg's avatar
      vmxnet3: fix decimal printf format specifiers prefixed with 0x · 8b429468
      Hans Wennborg authored
      The prefix suggests the number should be printed in hex, so use
      the %x specifier to do that.
      
      Found by using regex suggested by Joe Perches.
      Signed-off-by: default avatarHans Wennborg <hans@hanshq.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8b429468
    • Willem de Bruijn's avatar
      net-timestamp: cumulative tcp timestamping fixes · f066e2b0
      Willem de Bruijn authored
      A set of small fixes pointed out just after the merge:
      - make tcp_tx_timestamp static
      - make tcp_gso_tstamp static
      - use before() to compare TCP seqno, instead of cast to u64
      - add tstamp to tx_flags in GSO, instead of overwrite tx_flags
      - record skb_shinfo(skb)->tskey for all timestamps, also HW.
      - optimization in tcp_tx_timestamp:
        call sock_tx_timestamp only if a tstamp option is set.
      Signed-off-by: default avatarWillem de Bruijn <willemb@google.com>
      Fixes: 4ed2d765 ("net-timestamp: TCP timestamping")
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f066e2b0
    • KY Srinivasan's avatar
      hyperv: Adjust the size of sendbuf region to support ws2008r2 · be136ed3
      KY Srinivasan authored
      WS2008R2 is a supported platform and it turns out that the maximum sendbuf
      size that ws2008R2 can support is only 15MB. Make the necessary
      adjustment.
      Signed-off-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      be136ed3
    • Hariprasad Shenai's avatar
      cxgb4: Fix for SR-IOV VF initialization · 8e1e6059
      Hariprasad Shenai authored
      Commit 35b1de55 ("rdma/cxgb4: Fixes cxgb4 probe failure in VM when PF is exposed
      through PCI Passthrough") introduced a regression, where VF failed to
      initialize for Physical function 0 to Physical Function 3. In the above
      commit, we removed the code which used to enable sriov for PF0 to PF3. Now
      adding it back to get sriov working.
      
      V2:
       Removed SRIOV loop for PF[0..3] to instantiate the VF's as per David Miller's
       comment
      Signed-off-by: default avatarHariprasad Shenai <hariprasad@chelsio.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8e1e6059
    • Eric Dumazet's avatar
      net-timestamp: sock_tx_timestamp() fix · 140c55d4
      Eric Dumazet authored
      sock_tx_timestamp() should not ignore initial *tx_flags value, as TCP
      stack can store SKBTX_SHARED_FRAG in it.
      
      Also first argument (struct sock *) can be const.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Fixes: 4ed2d765 ("net-timestamp: TCP timestamping")
      Cc: Willem de Bruijn <willemb@google.com>
      Acked-by: default avatarWillem de Bruijn <willemb@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      140c55d4
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide · 85417aef
      Linus Torvalds authored
      Pull IDE cleanup from David Miller:
       "Just one minor cleanup"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
        ide: use module_platform_driver()
      85417aef
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next · 049711bf
      Linus Torvalds authored
      Pull sparc updates from David Miller:
      
       1) Add sparc RAM output to /proc/iomem, from Bob Picco.
      
       2) Allow seeks on /dev/mdesc, from Khalid Aziz.
      
       3) Cleanup sparc64 I/O accessors, from Sam Ravnborg.
      
       4) If update_mmu_cache{,_pmd}() is called with an not-valid mapping, do
          not insert it into the TLB miss hash tables otherwise we'll
          livelock.  Based upon work by Christopher Alexander Tobias Schulze.
      
       5) Fix BREAK detection in sunsab driver when no actual characters are
          pending, from Christopher Alexander Tobias Schulze.
      
       6) Because we have modules --> openfirmware --> vmalloc ordering of
          virtual memory, the lazy VMAP TLB flusher can cons up an invocation
          of flush_tlb_kernel_range() that covers the openfirmware address
          range.  Unfortunately this will flush out the firmware's locked TLB
          mapping which causes all kinds of trouble.  Just split up the flush
          request if this happens, but in the long term the lazy VMAP flusher
          should probably be made a little bit smarter.
      
          Based upon work by Christopher Alexander Tobias Schulze.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next:
        sparc64: Fix up merge thinko.
        sparc: Add "install" target
        arch/sparc/math-emu/math_32.c: drop stray break operator
        sparc64: ldc_connect() should not return EINVAL when handshake is in progress.
        sparc64: Guard against flushing openfirmware mappings.
        sunsab: Fix detection of BREAK on sunsab serial console
        bbc-i2c: Fix BBC I2C envctrl on SunBlade 2000
        sparc64: Do not insert non-valid PTEs into the TSB hash table.
        sparc64: avoid code duplication in io_64.h
        sparc64: reorder functions in io_64.h
        sparc64: drop unused SLOW_DOWN_IO definitions
        sparc64: remove macro indirection in io_64.h
        sparc64: update IO access functions in PeeCeeI
        sparcspkr: use sbus_*() primitives for IO
        sparc: Add support for seek and shorter read to /dev/mdesc
        sparc: use %s for unaligned panic
        drivers/sbus/char: Micro-optimization in display7seg.c
        display7seg: Introduce the use of the managed version of kzalloc
        sparc64 - add mem to iomem resource
      049711bf
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · ae045e24
      Linus Torvalds authored
      Pull networking updates from David Miller:
       "Highlights:
      
         1) Steady transitioning of the BPF instructure to a generic spot so
            all kernel subsystems can make use of it, from Alexei Starovoitov.
      
         2) SFC driver supports busy polling, from Alexandre Rames.
      
         3) Take advantage of hash table in UDP multicast delivery, from David
            Held.
      
         4) Lighten locking, in particular by getting rid of the LRU lists, in
            inet frag handling.  From Florian Westphal.
      
         5) Add support for various RFC6458 control messages in SCTP, from
            Geir Ola Vaagland.
      
         6) Allow to filter bridge forwarding database dumps by device, from
            Jamal Hadi Salim.
      
         7) virtio-net also now supports busy polling, from Jason Wang.
      
         8) Some low level optimization tweaks in pktgen from Jesper Dangaard
            Brouer.
      
         9) Add support for ipv6 address generation modes, so that userland
            can have some input into the process.  From Jiri Pirko.
      
        10) Consolidate common TCP connection request code in ipv4 and ipv6,
            from Octavian Purdila.
      
        11) New ARP packet logger in netfilter, from Pablo Neira Ayuso.
      
        12) Generic resizable RCU hash table, with intial users in netlink and
            nftables.  From Thomas Graf.
      
        13) Maintain a name assignment type so that userspace can see where a
            network device name came from (enumerated by kernel, assigned
            explicitly by userspace, etc.) From Tom Gundersen.
      
        14) Automatic flow label generation on transmit in ipv6, from Tom
            Herbert.
      
        15) New packet timestamping facilities from Willem de Bruijn, meant to
            assist in measuring latencies going into/out-of the packet
            scheduler, latency from TCP data transmission to ACK, etc"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1536 commits)
        cxgb4 : Disable recursive mailbox commands when enabling vi
        net: reduce USB network driver config options.
        tg3: Modify tg3_tso_bug() to handle multiple TX rings
        amd-xgbe: Perform phy connect/disconnect at dev open/stop
        amd-xgbe: Use dma_set_mask_and_coherent to set DMA mask
        net: sun4i-emac: fix memory leak on bad packet
        sctp: fix possible seqlock seadlock in sctp_packet_transmit()
        Revert "net: phy: Set the driver when registering an MDIO bus device"
        cxgb4vf: Turn off SGE RX/TX Callback Timers and interrupts in PCI shutdown routine
        team: Simplify return path of team_newlink
        bridge: Update outdated comment on promiscuous mode
        net-timestamp: ACK timestamp for bytestreams
        net-timestamp: TCP timestamping
        net-timestamp: SCHED timestamp on entering packet scheduler
        net-timestamp: add key to disambiguate concurrent datagrams
        net-timestamp: move timestamp flags out of sk_flags
        net-timestamp: extend SCM_TIMESTAMPING ancillary data struct
        cxgb4i : Move stray CPL definitions to cxgb4 driver
        tcp: reduce spurious retransmits due to transient SACK reneging
        qlcnic: Initialize dcbnl_ops before register_netdev
        ...
      ae045e24
    • Linus Torvalds's avatar
      Merge tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random · f4f142ed
      Linus Torvalds authored
      Pull randomness updates from Ted Ts'o:
       "Cleanups and bug fixes to /dev/random, add a new getrandom(2) system
        call, which is a superset of OpenBSD's getentropy(2) call, for use
        with userspace crypto libraries such as LibreSSL.
      
        Also add the ability to have a kernel thread to pull entropy from
        hardware rng devices into /dev/random"
      
      * tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random:
        hwrng: Pass entropy to add_hwgenerator_randomness() in bits, not bytes
        random: limit the contribution of the hw rng to at most half
        random: introduce getrandom(2) system call
        hw_random: fix sparse warning (NULL vs 0 for pointer)
        random: use registers from interrupted code for CPU's w/o a cycle counter
        hwrng: add per-device entropy derating
        hwrng: create filler thread
        random: add_hwgenerator_randomness() for feeding entropy from devices
        random: use an improved fast_mix() function
        random: clean up interrupt entropy accounting for archs w/o cycle counters
        random: only update the last_pulled time if we actually transferred entropy
        random: remove unneeded hash of a portion of the entropy pool
        random: always update the entropy pool under the spinlock
      f4f142ed
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · bb2cbf5e
      Linus Torvalds authored
      Pull security subsystem updates from James Morris:
       "In this release:
      
         - PKCS#7 parser for the key management subsystem from David Howells
         - appoint Kees Cook as seccomp maintainer
         - bugfixes and general maintenance across the subsystem"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (94 commits)
        X.509: Need to export x509_request_asymmetric_key()
        netlabel: shorter names for the NetLabel catmap funcs/structs
        netlabel: fix the catmap walking functions
        netlabel: fix the horribly broken catmap functions
        netlabel: fix a problem when setting bits below the previously lowest bit
        PKCS#7: X.509 certificate issuer and subject are mandatory fields in the ASN.1
        tpm: simplify code by using %*phN specifier
        tpm: Provide a generic means to override the chip returned timeouts
        tpm: missing tpm_chip_put in tpm_get_random()
        tpm: Properly clean sysfs entries in error path
        tpm: Add missing tpm_do_selftest to ST33 I2C driver
        PKCS#7: Use x509_request_asymmetric_key()
        Revert "selinux: fix the default socket labeling in sock_graft()"
        X.509: x509_request_asymmetric_keys() doesn't need string length arguments
        PKCS#7: fix sparse non static symbol warning
        KEYS: revert encrypted key change
        ima: add support for measuring and appraising firmware
        firmware_class: perform new LSM checks
        security: introduce kernel_fw_from_file hook
        PKCS#7: Missing inclusion of linux/err.h
        ...
      bb2cbf5e
    • Jiri Kosina's avatar
      Merge branches 'for-3.17/upstream', 'for-3.17/cp2112', 'for-3.17/huion',... · cf6f3976
      Jiri Kosina authored
      Merge branches 'for-3.17/upstream', 'for-3.17/cp2112', 'for-3.17/huion', 'for-3.17/hyperv', 'for-3.17/i2c', 'for-3.17/lenovo', 'for-3.17/rmi' and 'for-3.17/sony' into for-linus
      cf6f3976
    • Christoph Jaeger's avatar
      ide: use module_platform_driver() · a53dae49
      Christoph Jaeger authored
      Eliminate boilerplate code by using module_platform_driver().
      Signed-off-by: default avatarChristoph Jaeger <christophjaeger@linux.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a53dae49
    • David S. Miller's avatar
      sparc64: Fix up merge thinko. · 5b6ff9df
      David S. Miller authored
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5b6ff9df
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · e9011d08
      David S. Miller authored
      Conflicts:
      	arch/sparc/mm/init_64.c
      
      Conflict was simple non-overlapping additions.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e9011d08
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · d247b6ab
      David S. Miller authored
      Conflicts:
      	drivers/net/Makefile
      	net/ipv6/sysctl_net_ipv6.c
      
      Two ipv6_table_template[] additions overlap, so the index
      of the ipv6_table[x] assignments needed to be adjusted.
      
      In the drivers/net/Makefile case, we've gotten rid of the
      garbage whereby we had to list every single USB networking
      driver in the top-level Makefile, there is just one
      "USB_NETWORKING" that guards everything.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d247b6ab
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e7fda6c4
      Linus Torvalds authored
      Pull timer and time updates from Thomas Gleixner:
       "A rather large update of timers, timekeeping & co
      
         - Core timekeeping code is year-2038 safe now for 32bit machines.
           Now we just need to fix all in kernel users and the gazillion of
           user space interfaces which rely on timespec/timeval :)
      
         - Better cache layout for the timekeeping internal data structures.
      
         - Proper nanosecond based interfaces for in kernel users.
      
         - Tree wide cleanup of code which wants nanoseconds but does hoops
           and loops to convert back and forth from timespecs.  Some of it
           definitely belongs into the ugly code museum.
      
         - Consolidation of the timekeeping interface zoo.
      
         - A fast NMI safe accessor to clock monotonic for tracing.  This is a
           long standing request to support correlated user/kernel space
           traces.  With proper NTP frequency correction it's also suitable
           for correlation of traces accross separate machines.
      
         - Checkpoint/restart support for timerfd.
      
         - A few NOHZ[_FULL] improvements in the [hr]timer code.
      
         - Code move from kernel to kernel/time of all time* related code.
      
         - New clocksource/event drivers from the ARM universe.  I'm really
           impressed that despite an architected timer in the newer chips SoC
           manufacturers insist on inventing new and differently broken SoC
           specific timers.
      
      [ Ed. "Impressed"? I don't think that word means what you think it means ]
      
         - Another round of code move from arch to drivers.  Looks like most
           of the legacy mess in ARM regarding timers is sorted out except for
           a few obnoxious strongholds.
      
         - The usual updates and fixlets all over the place"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (114 commits)
        timekeeping: Fixup typo in update_vsyscall_old definition
        clocksource: document some basic timekeeping concepts
        timekeeping: Use cached ntp_tick_length when accumulating error
        timekeeping: Rework frequency adjustments to work better w/ nohz
        timekeeping: Minor fixup for timespec64->timespec assignment
        ftrace: Provide trace clocks monotonic
        timekeeping: Provide fast and NMI safe access to CLOCK_MONOTONIC
        seqcount: Add raw_write_seqcount_latch()
        seqcount: Provide raw_read_seqcount()
        timekeeping: Use tk_read_base as argument for timekeeping_get_ns()
        timekeeping: Create struct tk_read_base and use it in struct timekeeper
        timekeeping: Restructure the timekeeper some more
        clocksource: Get rid of cycle_last
        clocksource: Move cycle_last validation to core code
        clocksource: Make delta calculation a function
        wireless: ath9k: Get rid of timespec conversions
        drm: vmwgfx: Use nsec based interfaces
        drm: i915: Use nsec based interfaces
        timekeeping: Provide ktime_get_raw()
        hangcheck-timer: Use ktime_get_ns()
        ...
      e7fda6c4
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 08d69a25
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "Nothing spectacular from the irq department this time:
         - overhaul of the crossbar chip driver
         - overhaul of the spear shirq chip driver
         - support for the atmel-aic chip
         - code move from arch to drivers
         - the usual tiny fixlets
         - two reverts worth to mention which undo the too simple attempt of
           supporting wakeup interrupts on shared interrupt lines"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (41 commits)
        Revert "irq: Warn when shared interrupts do not match on NO_SUSPEND"
        Revert "PM / sleep / irq: Do not suspend wakeup interrupts"
        irq: Warn when shared interrupts do not match on NO_SUSPEND
        irqchip: atmel-aic: Define irq fixups for atmel SoCs
        irqchip: atmel-aic: Implement RTC irq fixup
        irqchip: atmel-aic: Add irq fixup infrastructure
        irqchip: atmel-aic: Add atmel AIC/AIC5 drivers
        irqchip: atmel-aic: Move binding doc to interrupt-controller directory
        genirq: generic chip: Export irq_map_generic_chip function
        PM / sleep / irq: Do not suspend wakeup interrupts
        irqchip: or1k-pic: Migrate from arch/openrisc/
        irqchip: crossbar: Allow for quirky hardware with direct hardwiring of GIC
        documentation: dt: omap: crossbar: Add description for interrupt consumer
        irqchip: crossbar: Introduce centralized check for crossbar write
        irqchip: crossbar: Introduce ti, max-crossbar-sources to identify valid crossbar mapping
        irqchip: crossbar: Add kerneldoc for crossbar_domain_unmap callback
        irqchip: crossbar: Set cb pointer to null in case of error
        irqchip: crossbar: Change the goto naming
        irqchip: crossbar: Return proper error value
        irqchip: crossbar: Fix kerneldoc warning
        ...
      08d69a25
    • Thomas Gleixner's avatar
      x86: MCE: Add raw_lock conversion again · ed5c41d3
      Thomas Gleixner authored
      Commit ea431643 ("x86/mce: Fix CMCI preemption bugs") breaks RT by
      the completely unrelated conversion of the cmci_discover_lock to a
      regular (non raw) spinlock.  This lock was annotated in commit
      59d958d2 ("locking, x86: mce: Annotate cmci_discover_lock as raw")
      with a proper explanation why.
      
      The argument for converting the lock back to a regular spinlock was:
      
       - it does percpu ops without disabling preemption. Preemption is not
         disabled due to the mistaken use of a raw spinlock.
      
      Which is complete nonsense.  The raw_spinlock is disabling preemption in
      the same way as a regular spinlock.  In mainline spinlock maps to
      raw_spinlock, in RT spinlock becomes a "sleeping" lock.
      
      raw_spinlock has on RT exactly the same semantics as in mainline.  And
      because this lock is taken in non preemptible context it must be raw on
      RT.
      
      Undo the locking brainfart.
      Reported-by: default avatarClark Williams <williams@redhat.com>
      Reported-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ed5c41d3
  3. 05 Aug, 2014 9 commits
    • Anish Bhatt's avatar
      cxgb4 : Disable recursive mailbox commands when enabling vi · 30f00847
      Anish Bhatt authored
      Enabling a Virtual Interface can result in an interrupt during the processing
       of the VI Enable command and, in some paths, result in an attempt to issue
      another command in the interrupt context, eventually crashing the system. Thus,
       we disable interrupts during the course of the VI Enable command and ensure
      enable doesn't sleep.
      Signed-off-by: default avatarAnish Bhatt <anish@chelsio.com>
      Signed-off-by: default avatarCasey Leedom <leedom@chelsio.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      30f00847
    • Francois Romieu's avatar
      net: reduce USB network driver config options. · 1bb5a356
      Francois Romieu authored
      USB network drivers are already handled in drivers/net/usb/Kconfig.
      Let's save the maintenance burden of dependencies in drivers/net/Makefile.
      
      The newly introduced USB_NET_DRIVERS umbrella config option defaults
      to 'y' so as to minimize the changes of behavior.
      Signed-off-by: default avatarFrancois Romieu <romieu@fr.zoreil.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1bb5a356
    • Prashant Sreedharan's avatar
      tg3: Modify tg3_tso_bug() to handle multiple TX rings · 4d8fdc95
      Prashant Sreedharan authored
      tg3_tso_bug() was originally designed to handle only HW TX ring 0, Commit
      d3f6f3a1 ("tg3: Prevent page allocation failure
      during TSO workaround") changed the driver logic to use tg3_tso_bug() for all
      HW TX rings that are enabled. This patch fixes the regression by modifying
      tg3_tso_bug() to handle multiple HW TX rings.
      Signed-off-by: default avatarPrashant Sreedharan <prashant@broadcom.com>
      Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4d8fdc95
    • David S. Miller's avatar
      Merge branch 'amd-xgbe' · 0ca58d62
      David S. Miller authored
      Tom Lendacky says:
      
      ====================
      amd-xgbe: AMD XGBE driver update 2014-08-05
      
      The following series of patches includes fixes/updates to the driver.
      
      - Use dma_set_mask_and_coherent to set the DMA mask
      - Move the phy connect/disconnect logic to allow for module unloading
      
      Changes in V2:
      - Check the return value of the dma_set_mask_and_coherent call
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0ca58d62
    • Lendacky, Thomas's avatar
      amd-xgbe: Perform phy connect/disconnect at dev open/stop · 88131a81
      Lendacky, Thomas authored
      A change added to the mdiobus/phy api added a module_get/module_put
      during phy connect/disconnect processing. Currently, the driver
      performs a phy connect during module probe and a phy disconnect during
      module remove. With the addition of the module_get during phy connect
      the amd-xgbe module use count is incremented and can no longer be
      unloaded.
      
      Move the phy connect/disconnect from the driver probe/remove functions
      to the net_device_ops ndo_open/ndo_stop functions.  This allows the
      module use count to be decremented when the device(s) are brought down
      and allows the module to be unloaded.
      Signed-off-by: default avatarTom Lendacky <thomas.lendacky@amd.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      88131a81
    • Lendacky, Thomas's avatar
      amd-xgbe: Use dma_set_mask_and_coherent to set DMA mask · f3d0e78d
      Lendacky, Thomas authored
      Use the dma_set_mask_and_coherent function to set the DMA mask rather
      than setting the DMA mask fields directly.  This was originally done
      to work around a bug in the arm64 DMA support when RAM started above
      the 4GB boundary which has since been fixed.
      Signed-off-by: default avatarTom Lendacky <thomas.lendacky@amd.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f3d0e78d
    • Marc Zyngier's avatar
      net: sun4i-emac: fix memory leak on bad packet · 2670cc69
      Marc Zyngier authored
      Upon reception of a new frame, the emac driver checks for a number
      of error conditions, and flag the packet as "bad" if any of these
      are present. It then allocates a skb unconditionally, but only uses
      it if the packet is "good". On the error path, the skb is just forgotten,
      and the system leaks memory.
      
      The piece of junk I have on my desk seems to encounter such error
      frequently enough so that the box goes OOM after a couple of days,
      which makes me grumpy.
      
      Fix this by moving the allocation on the "good_packet" path (and
      convert it to netdev_alloc_skb while we're at it).
      
      Tested on a random Allwinner A20 board.
      
      Cc: Stefan Roese <sr@denx.de>
      Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
      Cc: <stable@vger.kernel.org> # 3.11+
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Acked-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2670cc69
    • Eric Dumazet's avatar
      sctp: fix possible seqlock seadlock in sctp_packet_transmit() · 757efd32
      Eric Dumazet authored
      Dave reported following splat, caused by improper use of
      IP_INC_STATS_BH() in process context.
      
      BUG: using __this_cpu_add() in preemptible [00000000] code: trinity-c117/14551
      caller is __this_cpu_preempt_check+0x13/0x20
      CPU: 3 PID: 14551 Comm: trinity-c117 Not tainted 3.16.0+ #33
       ffffffff9ec898f0 0000000047ea7e23 ffff88022d32f7f0 ffffffff9e7ee207
       0000000000000003 ffff88022d32f818 ffffffff9e397eaa ffff88023ee70b40
       ffff88022d32f970 ffff8801c026d580 ffff88022d32f828 ffffffff9e397ee3
      Call Trace:
       [<ffffffff9e7ee207>] dump_stack+0x4e/0x7a
       [<ffffffff9e397eaa>] check_preemption_disabled+0xfa/0x100
       [<ffffffff9e397ee3>] __this_cpu_preempt_check+0x13/0x20
       [<ffffffffc0839872>] sctp_packet_transmit+0x692/0x710 [sctp]
       [<ffffffffc082a7f2>] sctp_outq_flush+0x2a2/0xc30 [sctp]
       [<ffffffff9e0d985c>] ? mark_held_locks+0x7c/0xb0
       [<ffffffff9e7f8c6d>] ? _raw_spin_unlock_irqrestore+0x5d/0x80
       [<ffffffffc082b99a>] sctp_outq_uncork+0x1a/0x20 [sctp]
       [<ffffffffc081e112>] sctp_cmd_interpreter.isra.23+0x1142/0x13f0 [sctp]
       [<ffffffffc081c86b>] sctp_do_sm+0xdb/0x330 [sctp]
       [<ffffffff9e0b8f1b>] ? preempt_count_sub+0xab/0x100
       [<ffffffffc083b350>] ? sctp_cname+0x70/0x70 [sctp]
       [<ffffffffc08389ca>] sctp_primitive_ASSOCIATE+0x3a/0x50 [sctp]
       [<ffffffffc083358f>] sctp_sendmsg+0x88f/0xe30 [sctp]
       [<ffffffff9e0d673a>] ? lock_release_holdtime.part.28+0x9a/0x160
       [<ffffffff9e0d62ce>] ? put_lock_stats.isra.27+0xe/0x30
       [<ffffffff9e73b624>] inet_sendmsg+0x104/0x220
       [<ffffffff9e73b525>] ? inet_sendmsg+0x5/0x220
       [<ffffffff9e68ac4e>] sock_sendmsg+0x9e/0xe0
       [<ffffffff9e1c0c09>] ? might_fault+0xb9/0xc0
       [<ffffffff9e1c0bae>] ? might_fault+0x5e/0xc0
       [<ffffffff9e68b234>] SYSC_sendto+0x124/0x1c0
       [<ffffffff9e0136b0>] ? syscall_trace_enter+0x250/0x330
       [<ffffffff9e68c3ce>] SyS_sendto+0xe/0x10
       [<ffffffff9e7f9be4>] tracesys+0xdd/0xe2
      
      This is a followup of commits f1d8cba6 ("inet: fix possible
      seqlock deadlocks") and 7f88c6b2 ("ipv6: fix possible seqlock
      deadlock in ip6_finish_output2")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
      Reported-by: default avatarDave Jones <davej@redhat.com>
      Acked-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      Acked-by: default avatarHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      757efd32
    • Fabio Estevam's avatar
      Revert "net: phy: Set the driver when registering an MDIO bus device" · ce7991e8
      Fabio Estevam authored
      Commit a71e3c37 ("net: phy: Set the driver when registering an MDIO bus
      device") caused the following regression on the fec driver:
      
      root@imx6qsabresd:~# echo mem > /sys/power/state
      PM: Syncing filesystems ... done.
      Freezing user space processes ... (elapsed 0.003 seconds) done.
      Freezing remaining freezable tasks ... (elapsed 0.002 seconds) done.
      Unable to handle kernel NULL pointer dereference at virtual address 0000002c
      pgd = bcd14000
      [0000002c] *pgd=4d9e0831, *pte=00000000, *ppte=00000000
      Internal error: Oops: 17 [#1] SMP ARM
      Modules linked in:
      CPU: 0 PID: 617 Comm: sh Not tainted 3.16.0 #17
      task: bc0c4e00 ti: bceb6000 task.ti: bceb6000
      PC is at fec_suspend+0x10/0x70
      LR is at dpm_run_callback.isra.7+0x34/0x6c
      pc : [<803f8a98>]    lr : [<80361f44>]    psr: 600f0013
      sp : bceb7d70  ip : bceb7d88  fp : bceb7d84
      r10: 8091523c  r9 : 00000000  r8 : bd88f478
      r7 : 803f8a88  r6 : 81165988  r5 : 00000000  r4 : 00000000
      r3 : 00000000  r2 : 00000000  r1 : bd88f478  r0 : bd88f478
      Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      Control: 10c5387d  Table: 4cd1404a  DAC: 00000015
      Process sh (pid: 617, stack limit = 0xbceb6240)
      Stack: (0xbceb7d70 to 0xbceb8000)
      ....
      
      The problem with the original commit is explained by Russell King:
      
      "It has the effect (as can be seen from the oops) of attaching the MDIO bus
      device (itself is a bus-less device) to the platform driver, which means
      that if the platform driver supports power management, it will be called
      to power manage the MDIO bus device.
      
      Moreover, drivers do not expect to be called for power management
      operations for devices which they haven't probed, and certainly not for
      devices which aren't part of the same bus that the driver is registered
      against."
      
      This reverts commit a71e3c37.
      
      Cc: <stable@vger.kernel.org> #3.16
      Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ce7991e8