1. 20 Feb, 2014 5 commits
  2. 18 Feb, 2014 15 commits
    • Kishon Vijay Abraham I's avatar
      phy: let phy_provider_register be the last step in registering PHY · 64fe1891
      Kishon Vijay Abraham I authored
      Registering phy_provider before creating the PHY can result in PHY
      callbacks being invoked which will lead to aborts. In order to avoid this
      invoke phy_provider_register after phy_create and phy_set_drvdata.
      Reported-by: default avatarFelipe Balbi <balbi@ti.com>
      Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
      Acked-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      64fe1891
    • Hans de Goede's avatar
      phy-core: Don't allow building phy-core as a module · b51fbf9f
      Hans de Goede authored
      include/phy/phy.h has stub code in there for when building without the
      phy-core enabled. This is useful for generic drivers such as ahci-platform,
      ehci-platoform and ohci-platform which have support for driving an optional
      phy passed to them through the devicetree.
      
      Since on some boards this phy functionality is not needed, being able to
      disable the phy subsystem without needing a lot of #ifdef magic in the
      driver using it is quite useful.
      
      However this breaks when the module using the phy subsystem is build-in and
      the phy-core is not, which leads to the build failing with missing symbol
      errors in the linking stage of the zImage.
      
      Which leads to gems such as this being added to the Kconfig for achi_platform:
      
      	depends on GENERIC_PHY || !GENERIC_PHY
      
      Rather then duplicating this code in a lot of places using the phy-core,
      I believe it is better to simply not allow the phy-core to be built as a
      module. The phy core is quite small and has no external dependencies, so
      always building it in when enabling it should not be an issue.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Acked-by: default avatarRoger Quadros <rogerq@ti.com>
      Acked-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      b51fbf9f
    • Hans de Goede's avatar
      phy-core: Don't propagate -ENOSUPP from phy_pm_runtime_get_sync to caller · 767a1b5d
      Hans de Goede authored
      The phy-core allows phy_init and phy_power_on to be called multiple times,
      but before this patch -ENOSUPP from phy_pm_runtime_get_sync would be
      propagated to the caller for the 2nd and later calls.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      767a1b5d
    • Hans de Goede's avatar
      phy-core: phy_get: Leave error logging to the caller · f40037fd
      Hans de Goede authored
      In various cases errors may be expected, ie probe-deferral or a call to
      phy_get from a driver where the use of a phy is optional.
      
      Rather then adding all sort of complicated checks for this, and/or adding
      special functions like devm_phy_get_optional, simply don't log an error,
      and let deciding if get_phy returning an error really should result in a
      dev_err up to the caller.
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f40037fd
    • Richard Weinberger's avatar
      phy,phy-bcm-kona-usb2.c: Add dependency on HAS_IOMEM · 06c304e8
      Richard Weinberger authored
      On archs like S390 or um this driver cannot build nor work.
      Make it depend on HAS_IOMEM to bypass build failures.
      
      drivers/phy/phy-bcm-kona-usb2.c:114: undefined reference to `devm_ioremap_resource'
      Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
      Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      06c304e8
    • Daniel Mack's avatar
      usb: musb: correct use of schedule_delayed_work() · f2dece44
      Daniel Mack authored
      schedule_delayed_work() takes the delay in jiffies, not msecs. Fix the
      caller sites in musb. This bug caused regressions with the cleanups
      that went in for 3.14 (8ed1fb79: "usb: musb: finish suspend/reset
      work independently from musb_hub_control()").
      Signed-off-by: default avatarDaniel Mack <daniel@zonque.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f2dece44
    • Daniel Mack's avatar
      usb: musb: do not sleep in atomic context · 73926db3
      Daniel Mack authored
      musb_port_reset() is called from musb_hub_control() which in turn holds
      a spinlock, so musb_port_reset() is not allowed to call msleep().
      
      With the asynchronous work helpers in place, this is fortunately easy to
      fix by rescheduling the reset deassertion function to after the time
      when the wait period is finished.
      
      Note, however, that the MUSB_POWER_RESUME bit is only set on AM33xx
      processors under rare conditions such as when to another driver
      reporting an error during suspend. Hence, this didn't hit me yet in
      normal operation.
      Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      73926db3
    • Aleksander Morgado's avatar
      USB: serial: option: blacklist interface 4 for Cinterion PHS8 and PXS8 · 12df84d4
      Aleksander Morgado authored
      This interface is to be handled by the qmi_wwan driver.
      
      CC: Hans-Christoph Schemmel <hans-christoph.schemmel@gemalto.com>
      CC: Christian Schmiedl <christian.schmiedl@gemalto.com>
      CC: Nicolaus Colberg <nicolaus.colberg@gemalto.com>
      CC: David McCullough <david.mccullough@accelecon.com>
      Signed-off-by: default avatarAleksander Morgado <aleksander@aleksander.es>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      12df84d4
    • Alan Stern's avatar
      USB: EHCI: add delay during suspend to prevent erroneous wakeups · 3e8d6d85
      Alan Stern authored
      High-speed USB connections revert back to full-speed signalling when
      the device goes into suspend.  This takes several milliseconds, and
      during that time it's not possible to tell reliably whether the device
      has been disconnected.
      
      On some platforms, the Wake-On-Disconnect circuitry gets confused
      during this intermediate state.  It generates a false wakeup signal,
      which can prevent the controller from going to sleep.
      
      To avoid this problem, this patch adds a 5-ms delay to the
      ehci_bus_suspend() routine if any ports have to switch over to
      full-speed signalling.  (Actually, the delay was already present for
      devices using a particular kind of PHY power management; the patch
      merely causes the delay to be used more widely.)
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Reviewed-by: default avatarPeter Chen <Peter.Chen@freescale.com>
      CC: <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      3e8d6d85
    • Florian Fainelli's avatar
      usb: gadget: bcm63xx_udc: fix build failure on DMA channel code · 2d1f7af3
      Florian Fainelli authored
      Commit 3dc6475c ("bcm63xx_enet: add support Broadcom BCM6345 Ethernet")
      changed the ENETDMA[CS] macros such that they are no longer macros, but
      actual register offset definitions. The bcm63xx_udc driver was not
      updated, and as a result, causes the following build error to pop up:
      
       CC      drivers/usb/gadget/u_ether.o
      drivers/usb/gadget/bcm63xx_udc.c: In function 'iudma_write':
      drivers/usb/gadget/bcm63xx_udc.c:642:24: error: called object '0' is not
      a function
      drivers/usb/gadget/bcm63xx_udc.c: In function 'iudma_reset_channel':
      drivers/usb/gadget/bcm63xx_udc.c:698:46: error: called object '0' is not
      a function
      drivers/usb/gadget/bcm63xx_udc.c:700:49: error: called object '0' is not
      a function
      
      Fix this by updating usb_dmac_{read,write}l and usb_dmas_{read,write}l to
      take an extra channel argument, and use the channel width
      (ENETDMA_CHAN_WIDTH) to offset the register we want to access, hence
      doing again what the macro implicitely did for us.
      
      Cc: Kevin Cernekee <cernekee@gmail.com>
      Cc: Jonas Gorski <jogo@openwrt.org>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarFlorian Fainelli <florian@openwrt.org>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      2d1f7af3
    • Daniel Mack's avatar
      usb: musb: do not sleep in atomic context · 30d361bf
      Daniel Mack authored
      musb_port_reset() is called from musb_hub_control() which in turn holds
      a spinlock, so musb_port_reset() is not allowed to call msleep().
      
      With the asynchronous work helpers in place, this is fortunately easy to
      fix by rescheduling the reset deassertion function to after the time
      when the wait period is finished.
      
      Note, however, that the MUSB_POWER_RESUME bit is only set on AM33xx
      processors under rare conditions such as when to another driver
      reporting an error during suspend. Hence, this didn't hit me yet in
      normal operation.
      Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      30d361bf
    • Sachin Kamat's avatar
      usb: gadget: s3c2410_udc: Fix build error · d246c9d5
      Sachin Kamat authored
      Pass value instead of address as expected by 'usb_ep_set_maxpacket_limit'.
      Fixes the following compilation error introduced by commit e117e742
      ("usb: gadget: add "maxpacket_limit" field to struct usb_ep"):
      
      drivers/usb/gadget/s3c2410_udc.c: In function ‘s3c2410_udc_reinit’:
      drivers/usb/gadget/s3c2410_udc.c:1632:3: error:
      cannot take address of bit-field ‘maxpacket’
         usb_ep_set_maxpacket_limit(&ep->ep, &ep->ep.maxpacket);
      Signed-off-by: default avatarSachin Kamat <sachin.kamat@linaro.org>
      Reviewed-by: default avatarRobert Baldyga <r.baldyga@samsung.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      d246c9d5
    • Roger Quadros's avatar
      usb: musb: core: Fix remote-wakeup resume · 33f8d75f
      Roger Quadros authored
      During resume don't touch SUSPENDM/RESUME bits of POWER register
      while restoring controller context. These bits might be changed
      by the controller during resume operation and so will be different
      than what they were during suspend.
      
      e.g. SUSPENDM bit is set by software during USB global suspend but
      automatically cleared by the controller during remote wakeup or
      during resume. Setting this bit back while restoring context
      causes undesired behaviour. i.e. Babble interrupt is generated
      and USB is broken.
      Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      33f8d75f
    • Ajay Kumar Gupta's avatar
      usb: musb: host: Fix SuperSpeed hub enumeration · 3c4653c1
      Ajay Kumar Gupta authored
      Disables PING on status phase of control transfer.
      PING token is not mandatory in status phase of control transfer
      and so some high speed USB devices don't support it. If such devices
      are connected to MUSB then they would not respond to PING token
      causing delayed or failed enumeration.
      
      [Roger Q] Fixes enumeration issues with some Super-Speed USB hubs
      e.g. Dlink DUB-1340
      Signed-off-by: default avatarAjay Kumar Gupta <ajay.gupta@ti.com>
      Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      3c4653c1
    • Felipe Balbi's avatar
      usb: musb: fix obex in g_nokia.ko causing kernel panic · 30a70b02
      Felipe Balbi authored
      phy_power_off() can, depending on the PHY being used,
      start I2C transactions which shouldn't happen in
      atomic context.
      
      Current call to phy_power_off() inside omap2430_runtime
      callbacks causes the following dump, as a fix, just don't
      power off the PHY in runtime.
      
      [   18.606414] [<c037eac0>] (__schedule+0x5c/0x50c) from [<c037d3bc>] (schedule_timeout+0x1f4/0x25c)
      [   18.623809] [<c037d3bc>] (schedule_timeout+0x1f4/0x25c) from [<c037f12c>] (wait_for_common+0xc8/0x1ac)
      [   18.649291] [<c037f12c>] (wait_for_common+0xc8/0x1ac) from [<c028c1c0>] (omap_i2c_xfer+0x338/0x488)
      [   18.674499] [<c028c1c0>] (omap_i2c_xfer+0x338/0x488) from [<c0288144>] (__i2c_transfer+0x40/0x74)
      [   18.692047] [<c0288144>] (__i2c_transfer+0x40/0x74) from [<c0288a2c>] (i2c_transfer+0x6c/0x90)
      [   18.709320] [<c0288a2c>] (i2c_transfer+0x6c/0x90) from [<c02351c8>] (regmap_i2c_read+0x48/0x68)
      [   18.726715] [<c02351c8>] (regmap_i2c_read+0x48/0x68) from [<c023161c>] (_regmap_raw_read+0x128/0x220)
      [   18.752685] [<c023161c>] (_regmap_raw_read+0x128/0x220) from [<c02317b4>] (regmap_raw_read+0xa0/0x130)
      [   18.779052] [<c02317b4>] (regmap_raw_read+0xa0/0x130) from [<c023193c>] (regmap_bulk_read+0xf8/0x16c)
      [   18.805694] [<c023193c>] (regmap_bulk_read+0xf8/0x16c) from [<c0238ea8>] (twl_i2c_read+0xa4/0xe0)
      [   18.823730] [<c0238ea8>] (twl_i2c_read+0xa4/0xe0) from [<c0274d34>] (__twl4030_phy_power.isra.12+0x1c/0x58)
      [   18.850921] [<c0274d34>] (__twl4030_phy_power.isra.12+0x1c/0x58) from [<c0274df0>]
      (twl4030_phy_power.part.14+0x80/0xc8)
      [   18.879699] [<c0274df0>] (twl4030_phy_power.part.14+0x80/0xc8) from [<c0274f9c>]
      (twl4030_set_suspend+0x54/0x1e8)
      [   18.908325] [<c0274f9c>] (twl4030_set_suspend+0x54/0x1e8) from [<c027c8c4>]
      (omap2430_runtime_resume+0x5c/0x64)
      [   18.937042] [<c027c8c4>] (omap2430_runtime_resume+0x5c/0x64) from [<c0225dd0>]
      (pm_generic_runtime_resume+0x2c/0x38)
      [   18.966461] [<c0225dd0>] (pm_generic_runtime_resume+0x2c/0x38) from [<c0229fe0>] (__rpm_callback+0x54/0x80)
      [   18.995117] [<c0229fe0>] (__rpm_callback+0x54/0x80) from [<c022a04c>] (rpm_callback+0x40/0x74)
      [   19.013610] [<c022a04c>] (rpm_callback+0x40/0x74) from [<c022b3c8>] (rpm_resume+0x448/0x63c)
      [   19.031921] [<c022b3c8>] (rpm_resume+0x448/0x63c) from [<c022b2e4>] (rpm_resume+0x364/0x63c)
      [   19.050140] [<c022b2e4>] (rpm_resume+0x364/0x63c) from [<c022b874>] (__pm_runtime_resume+0x48/0x74)
      [   19.077728] [<c022b874>] (__pm_runtime_resume+0x48/0x74) from [<c027b4fc>] (musb_gadget_pullup+0x1c/0xb4)
      [   19.105895] [<c027b4fc>] (musb_gadget_pullup+0x1c/0xb4) from [<bf025c14>] (usb_function_deactivate+0x54/0xa4
      [libcomposite])
      [   19.135955] [<bf025c14>] (usb_function_deactivate+0x54/0xa4 [libcomposite]) from [<bf05b3b8>]
      (obex_bind+0x124/0x1d8 [usb_f_obex])
      [   19.166870] [<bf05b3b8>] (obex_bind+0x124/0x1d8 [usb_f_obex]) from [<bf025794>] (usb_add_function+0x58/0xf4
      [libcomposite])
      [   19.197143] [<bf025794>] (usb_add_function+0x58/0xf4 [libcomposite]) from [<bf037420>]
      (nokia_bind_config+0x204/0x250 [g_nokia])
      [   19.227905] [<bf037420>] (nokia_bind_config+0x204/0x250 [g_nokia]) from [<bf0263fc>] (usb_add_config+0x28/0xc0
      [libcomposite])
      [   19.258483] [<bf0263fc>] (usb_add_config+0x28/0xc0 [libcomposite]) from [<bf03709c>] (nokia_bind+0x9c/0x21c
      [g_nokia])
      [   19.288421] [<bf03709c>] (nokia_bind+0x9c/0x21c [g_nokia]) from [<bf0275bc>] (composite_bind+0x74/0x180
      [libcomposite])
      [   19.318420] [<bf0275bc>] (composite_bind+0x74/0x180 [libcomposite]) from [<c027d658>]
      (udc_bind_to_driver+0x2c/0xc4)
      [   19.348114] [<c027d658>] (udc_bind_to_driver+0x2c/0xc4) from [<c027d764>] (usb_gadget_probe_driver+0x74/0x94)
      [   19.377166] [<c027d764>] (usb_gadget_probe_driver+0x74/0x94) from [<c00086f8>] (do_one_initcall+0x94/0x138)
      [   19.406005] [<c00086f8>] (do_one_initcall+0x94/0x138) from [<c007a460>] (load_module+0x113c/0x13c4)
      [   19.434051] [<c007a460>] (load_module+0x113c/0x13c4) from [<c007a7b4>] (SyS_init_module+0xcc/0xec)
      [   19.462127] [<c007a7b4>] (SyS_init_module+0xcc/0xec) from [<c000dd40>] (ret_fast_syscall+0x0/0x30)
      [   19.490753] Code: 0a00002e e1a00004 eb001438 e598300c (e5d3202c)
      [   19.506805] ---[ end trace 060b62ec0d68a78b ]---
      [   19.523132] Kernel panic - not syncing: Fatal exception in interrupt
      
      dump is from 3.12-rc5 kernel
      Reported-by: default avatarPali Rohár <pali.rohar@gmail.com>
      Signed-off-by: default avatarIvaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      30a70b02
  3. 16 Feb, 2014 8 commits
    • Linus Torvalds's avatar
      Linux 3.14-rc3 · 6d0abeca
      Linus Torvalds authored
      6d0abeca
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 3962dfbe
      Linus Torvalds authored
      Pull btrfs fixes from Chris Mason:
       "We have a small collection of fixes in my for-linus branch.
      
        The big thing that stands out is a revert of a new ioctl.  Users
        haven't shipped yet in btrfs-progs, and Dave Sterba found a better way
        to export the information"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: use right clone root offset for compressed extents
        btrfs: fix null pointer deference at btrfs_sysfs_add_one+0x105
        Btrfs: unset DCACHE_DISCONNECTED when mounting default subvol
        Btrfs: fix max_inline mount option
        Btrfs: fix a lockdep warning when cleaning up aborted transaction
        Revert "btrfs: add ioctl to export size of global metadata reservation"
      3962dfbe
    • Linus Torvalds's avatar
      Merge tag 'dt-fixes-for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 4302a875
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
       "Fix booting on PPC boards.  Changes to of_match_node matching caused
        the serial port on some PPC boards to stop working.  Reverted the
        change and reimplement to split matching between new style compatible
        only matching and fallback to old matching algorithm"
      
      * tag 'dt-fixes-for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        of: search the best compatible match first in __of_match_node()
        Revert "OF: base: match each node compatible against all given matches first"
      4302a875
    • Kevin Hao's avatar
      of: search the best compatible match first in __of_match_node() · 06b29e76
      Kevin Hao authored
      Currently, of_match_node compares each given match against all node's
      compatible strings with of_device_is_compatible.
      
      To achieve multiple compatible strings per node with ordering from
      specific to generic, this requires given matches to be ordered from
      specific to generic. For most of the drivers this is not true and also
      an alphabetical ordering is more sane there.
      
      Therefore, this patch introduces a function to match each of the node's
      compatible strings against all given compatible matches without type and
      name first, before checking the next compatible string. This implies
      that node's compatibles are ordered from specific to generic while
      given matches can be in any order. If we fail to find such a match
      entry, then fall-back to the old method in order to keep compatibility.
      
      Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
      Signed-off-by: default avatarKevin Hao <haokexin@gmail.com>
      Tested-by: default avatarStephen Chivers <schivers@csc.com>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      06b29e76
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 946dd683
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
       "Mostly minor fixes this time to v3.14-rc1 related changes.  Also
        included is one fix for a free after use regression in persistent
        reservations UNREGISTER logic that is CC'ed to >= v3.11.y stable"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        Target/sbc: Fix protection copy routine
        IB/srpt: replace strict_strtoul() with kstrtoul()
        target: Simplify command completion by removing CMD_T_FAILED flag
        iser-target: Fix leak on failure in isert_conn_create_fastreg_pool
        iscsi-target: Fix SNACK Type 1 + BegRun=0 handling
        target: Fix missing length check in spc_emulate_evpd_83()
        qla2xxx: Remove last vestiges of qla_tgt_cmd.cmd_list
        target: Fix 32-bit + CONFIG_LBDAF=n link error w/ sector_div
        target: Fix free-after-use regression in PR unregister
      946dd683
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 2d0ef4fb
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "i2c has a bugfix and documentation improvements for you"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        Documentation: i2c: mention ACPI method for instantiating devices
        Documentation: i2c: describe devicetree method for instantiating devices
        i2c: mv64xxx: refactor message start to ensure proper initialization
      2d0ef4fb
    • Linus Torvalds's avatar
      Merge branches 'irq-urgent-for-linus' and 'irq-core-for-linus' of... · 5a667a0c
      Linus Torvalds authored
      Merge branches 'irq-urgent-for-linus' and 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
      
      Pull irq update from Thomas Gleixner:
       "Fix from the urgent branch: a trivial oneliner adding the missing
        Kconfig dependency curing build failures which have been discovered by
        several build robots.
      
        The update in the irq-core branch provides a new function in the
        irq/devres code, which is a prerequisite for driver developers to get
        rid of boilerplate code all over the place.
      
        Not a bugfix, but it has zero impact on the current kernel due to the
        lack of users.  It's simpler to provide the infrastructure to
        interested parties via your tree than fulfilling the wishlist of
        driver maintainers on which particular commit or tag this should be
        based on"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        genirq: Add missing irq_to_desc export for CONFIG_SPARSE_IRQ=n
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        genirq: Add devm_request_any_context_irq()
      5a667a0c
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3a19c07c
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
       "The following trilogy of patches brings you:
      
         - fix for a long standing math overflow issue with HZ < 60
      
         - an onliner fix for a corner case in the dreaded tick broadcast
           mechanism affecting a certain range of AMD machines which are
           infested with the infamous automagic C1E power control misfeature
      
         - a fix for one of the ARM platforms which allows the kernel to
           proceed and boot instead of stupidly panicing for no good reason.
           The patch is slightly larger than necessary, but it's less ugly
           than the alternative 5 liner"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tick: Clear broadcast pending bit when switching to oneshot
        clocksource: Kona: Print warning rather than panic
        time: Fix overflow when HZ is smaller than 60
      3a19c07c
  4. 15 Feb, 2014 12 commits
    • Linus Torvalds's avatar
      Merge tag 'trace-fixes-v3.14-rc2' of... · 9bd01b9b
      Linus Torvalds authored
      Merge tag 'trace-fixes-v3.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull twi tracing fixes from Steven Rostedt:
       "Two urgent fixes in the tracing utility.
      
        The first is a fix for the way the ring buffer stores timestamps.
        After a restructure of the code was done, the ring buffer timestamp
        logic missed the fact that the first event on a sub buffer is to have
        a zero delta, as the full timestamp is stored on the sub buffer
        itself.  But because the delta was not cleared to zero, the timestamp
        for that event will be calculated as the real timestamp + the delta
        from the last timestamp.  This can skew the timestamps of the events
        and have them say they happened when they didn't really happen.
        That's bad.
      
        The second fix is for modifying the function graph caller site.  When
        the stop machine was removed from updating the function tracing code,
        it missed updating the function graph call site location.  It is still
        modified as if it is being done via stop machine.  But it's not.  This
        can lead to a GPF and kernel crash if the function graph call site
        happens to lie between cache lines and one CPU is executing it while
        another CPU is doing the update.  It would be a very hard condition to
        hit, but the result is severe enough to have it fixed ASAP"
      
      * tag 'trace-fixes-v3.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace/x86: Use breakpoints for converting function graph caller
        ring-buffer: Fix first commit on sub-buffer having non-zero delta
      9bd01b9b
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7fc92804
      Linus Torvalds authored
      Pull x86 EFI fixes from Peter Anvin:
       "A few more EFI-related fixes"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/efi: Check status field to validate BGRT header
        x86/efi: Fix 32-bit fallout
      7fc92804
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 83660b73
      Linus Torvalds authored
      Pull ARM SoC fixes from Kevin Hilman:
       "A collection of ARM SoC fixes for v3.14-rc1.
      
        Mostly a collection of Kconfig, device tree data and compilation fixes
        along with fix to drivers/phy that fixes a boot regression on some
        Marvell mvebu platforms"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        dma: mv_xor: Silence a bunch of LPAE-related warnings
        ARM: ux500: disable msp2 device tree node
        ARM: zynq: Reserve not DMAable space in front of the kernel
        ARM: multi_v7_defconfig: Select CONFIG_SOC_DRA7XX
        ARM: imx6: Initialize low-power mode early again
        ARM: pxa: fix various compilation problems
        ARM: pxa: fix compilation problem on AM300EPD board
        ARM: at91: add Atmel's SAMA5D3 Xplained board
        spi/atmel: document clock properties
        mmc: atmel-mci: document clock properties
        ARM: at91: enable USB host on at91sam9n12ek board
        ARM: at91/dt: fix sama5d3 ohci hclk clock reference
        ARM: at91/dt: sam9263: fix compatibility string for the I2C
        ata: sata_mv: Fix probe failures with optional phys
        drivers: phy: Add support for optional phys
        drivers: phy: Make NULL a valid phy reference
        ARM: fix HAVE_ARM_TWD selection for OMAP and shmobile
        ARM: moxart: move DMA_OF selection to driver
        ARM: hisi: fix kconfig warning on HAVE_ARM_TWD
      83660b73
    • Wolfram Sang's avatar
    • Wolfram Sang's avatar
    • Filipe David Borba Manana's avatar
      Btrfs: use right clone root offset for compressed extents · 93de4ba8
      Filipe David Borba Manana authored
      For non compressed extents, iterate_extent_inodes() gives us offsets
      that take into account the data offset from the file extent items, while
      for compressed extents it doesn't. Therefore we have to adjust them before
      placing them in a send clone instruction. Not doing this adjustment leads to
      the receiving end requesting for a wrong a file range to the clone ioctl,
      which results in different file content from the one in the original send
      root.
      
      Issue reproducible with the following excerpt from the test I made for
      xfstests:
      
        _scratch_mkfs
        _scratch_mount "-o compress-force=lzo"
      
        $XFS_IO_PROG -f -c "truncate 118811" $SCRATCH_MNT/foo
        $XFS_IO_PROG -c "pwrite -S 0x0d -b 39987 92267 39987" $SCRATCH_MNT/foo
      
        $BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap1
      
        $XFS_IO_PROG -c "pwrite -S 0x3e -b 80000 200000 80000" $SCRATCH_MNT/foo
        $BTRFS_UTIL_PROG filesystem sync $SCRATCH_MNT
        $XFS_IO_PROG -c "pwrite -S 0xdc -b 10000 250000 10000" $SCRATCH_MNT/foo
        $XFS_IO_PROG -c "pwrite -S 0xff -b 10000 300000 10000" $SCRATCH_MNT/foo
      
        # will be used for incremental send to be able to issue clone operations
        $BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/clones_snap
      
        $BTRFS_UTIL_PROG subvolume snapshot -r $SCRATCH_MNT $SCRATCH_MNT/mysnap2
      
        $FSSUM_PROG -A -f -w $tmp/1.fssum $SCRATCH_MNT/mysnap1
        $FSSUM_PROG -A -f -w $tmp/2.fssum -x $SCRATCH_MNT/mysnap2/mysnap1 \
            -x $SCRATCH_MNT/mysnap2/clones_snap $SCRATCH_MNT/mysnap2
        $FSSUM_PROG -A -f -w $tmp/clones.fssum $SCRATCH_MNT/clones_snap \
            -x $SCRATCH_MNT/clones_snap/mysnap1 -x $SCRATCH_MNT/clones_snap/mysnap2
      
        $BTRFS_UTIL_PROG send $SCRATCH_MNT/mysnap1 -f $tmp/1.snap
        $BTRFS_UTIL_PROG send $SCRATCH_MNT/clones_snap -f $tmp/clones.snap
        $BTRFS_UTIL_PROG send -p $SCRATCH_MNT/mysnap1 \
            -c $SCRATCH_MNT/clones_snap $SCRATCH_MNT/mysnap2 -f $tmp/2.snap
      
        _scratch_unmount
        _scratch_mkfs
        _scratch_mount
      
        $BTRFS_UTIL_PROG receive $SCRATCH_MNT -f $tmp/1.snap
        $FSSUM_PROG -r $tmp/1.fssum $SCRATCH_MNT/mysnap1 2>> $seqres.full
      
        $BTRFS_UTIL_PROG receive $SCRATCH_MNT -f $tmp/clones.snap
        $FSSUM_PROG -r $tmp/clones.fssum $SCRATCH_MNT/clones_snap 2>> $seqres.full
      
        $BTRFS_UTIL_PROG receive $SCRATCH_MNT -f $tmp/2.snap
        $FSSUM_PROG -r $tmp/2.fssum $SCRATCH_MNT/mysnap2 2>> $seqres.full
      Signed-off-by: default avatarFilipe David Borba Manana <fdmanana@gmail.com>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      93de4ba8
    • Anand Jain's avatar
      btrfs: fix null pointer deference at btrfs_sysfs_add_one+0x105 · f085381e
      Anand Jain authored
      bdev is null when disk has disappeared and mounted with
      the degrade option
      
      stack trace
      ---------
      btrfs_sysfs_add_one+0x105/0x1c0 [btrfs]
      open_ctree+0x15f3/0x1fe0 [btrfs]
      btrfs_mount+0x5db/0x790 [btrfs]
      ? alloc_pages_current+0xa4/0x160
      mount_fs+0x34/0x1b0
      vfs_kern_mount+0x62/0xf0
      do_mount+0x22e/0xa80
      ? __get_free_pages+0x9/0x40
      ? copy_mount_options+0x31/0x170
      SyS_mount+0x7e/0xc0
      system_call_fastpath+0x16/0x1b
      ---------
      
      reproducer:
      -------
      mkfs.btrfs -draid1 -mraid1 /dev/sdc /dev/sdd
      (detach a disk)
      devmgt detach /dev/sdc [1]
      mount -o degrade /dev/sdd /btrfs
      -------
      
      [1] github.com/anajain/devmgt.git
      Signed-off-by: default avatarAnand Jain <Anand.Jain@oracle.com>
      Tested-by: default avatarHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      f085381e
    • Wolfram Sang's avatar
      i2c: mv64xxx: refactor message start to ensure proper initialization · 79970db2
      Wolfram Sang authored
      Because the offload mechanism can fall back to a standard transfer,
      having two seperate initialization states is unfortunate. Let's just
      have one state which does things consistently. This fixes a bug where
      some preparation was missing when the fallback happened. And it makes
      the code much easier to follow. To implement this, we put the check
      if offload is possible at the top of the offload setup function.
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      Tested-by: default avatarGregory CLEMENT <gregory.clement@free-electrons.com>
      Cc: stable@vger.kernel.org # v3.12+
      Fixes: 930ab3d4 (i2c: mv64xxx: Add I2C Transaction Generator support)
      79970db2
    • Linus Torvalds's avatar
      Merge tag 'usb-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · ca033390
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here is a bunch of USB fixes for 3.14-rc3.  Most of these are xhci
        reverts, fixing a bunch of reported issues with USB 3 host controller
        issues that loads of people have been hitting (with the exception of
        kernel developers, all of our machines seem to be working fine, which
        is why these took so long to get resolved...)
      
        There are some other minor fixes and new device ids, as ususal.  All
        have been in linux-next successfully"
      
      * tag 'usb-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (22 commits)
        usb: option: blacklist ZTE MF667 net interface
        Revert "usb: xhci: Link TRB must not occur within a USB payload burst"
        Revert "xhci: Avoid infinite loop when sg urb requires too many trbs"
        Revert "xhci: Set scatter-gather limit to avoid failed block writes."
        xhci 1.0: Limit arbitrarily-aligned scatter gather.
        Modpost: fixed USB alias generation for ranges including 0x9 and 0xA
        usb: core: Fix potential memory leak adding dyn USBdevice IDs
        USB: ftdi_sio: add Tagsys RFID Reader IDs
        usb: qcserial: add Netgear Aircard 340U
        usb-storage: enable multi-LUN scanning when needed
        USB: simple: add Dynastream ANT USB-m Stick device support
        usb-storage: add unusual-devs entry for BlackBerry 9000
        usb-storage: restrict bcdDevice range for Super Top in Cypress ATACB
        usb: phy: move some error messages to debug
        usb: ftdi_sio: add Mindstorms EV3 console adapter
        usb: dwc2: fix memory corruption in dwc2 driver
        usb: dwc2: fix role switch breakage
        usb: dwc2: bail out early when booting with "nousb"
        Revert "xhci: replace xhci_read_64() with readq()"
        Revert "xhci: replace xhci_write_64() with writeq()"
        ...
      ca033390
    • Linus Torvalds's avatar
      Merge tag 'tty-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 40a215fb
      Linus Torvalds authored
      Pull tty/serial driver fixes from Greg KH:
       "Here are a small number of tty/serial driver fixes to resolve reported
        issues with 3.14-rc and earlier (in the case of the vt bugfix).  Some
        of these have been tested and reported by a number of people as the
        tty bugfix was pretty commonly hit on some platforms.
      
        All have been in linux-next for a while"
      
      * tag 'tty-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        vt: Fix secure clear screen
        serial: 8250: Support XR17V35x fraction divisor
        n_tty: Fix stale echo output
        serial: sirf: fix kernel panic caused by unpaired spinlock
        serial: 8250_pci: unbreak last serial ports on NetMos 9865 cards
        n_tty: Fix poll() when TIME_CHAR and MIN_CHAR == 0
        serial: omap: fix rs485 probe on defered pinctrl
        serial: 8250_dw: fix compilation warning when !CONFIG_PM_SLEEP
        serial: omap-serial: Move info message to probe function
        tty: Set correct tty name in 'active' sysfs attribute
        tty: n_gsm: Fix for modems with brk in modem status control
        drivers/tty/hvc: don't use module_init in non-modular hyp. console code
      40a215fb
    • Linus Torvalds's avatar
      Merge tag 'staging-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · e2e481d6
      Linus Torvalds authored
      Pull staging driver fixes from Greg KH:
       "Here are a number (lots, I know) of fixes for staging drivers to
        resolve a bunch of reported issues.
      
        The largest patches here is one revert of a patch that is in 3.14-rc1
        to fix reported problems, and a sync of a usb host driver that
        required some ARM patches to go in before it could be accepted (which
        is why it missed -rc1)
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (56 commits)
        staging/rtl8821ae: fix build, depends on MAC80211
        iio: max1363: Use devm_regulator_get_optional for optional regulator
        iio:accel:bma180: Use modifier instead of index in channel specification
        iio: adis16400: Set timestamp as the last element in chan_spec
        iio: ak8975: Fix calculation formula for convert micro tesla to gauss unit
        staging:iio:ad799x fix typo in ad799x_events[]
        iio: mxs-lradc: remove useless scale_available files
        iio: mxs-lradc: fix buffer overflow
        iio:magnetometer:mag3110: Fix output of decimal digits in show_int_plus_micros()
        iio:magnetometer:mag3110: Report busy in _read_raw() / write_raw() when buffer is enabled
        wlags49_h2: Fix overflow in wireless_set_essid()
        xlr_net: Fix missing trivial allocation check
        staging: r8188eu: overflow in rtw_p2p_get_go_device_address()
        staging: r8188eu: array overflow in rtw_mp_ioctl_hdl()
        staging: r8188eu: Fix typo in USB_DEVICE list
        usbip/userspace/libsrc/names.c: memory leak
        gpu: ion: dereferencing an ERR_PTR
        staging: comedi: usbduxsigma: fix unaligned dereferences
        staging: comedi: fix too early cleanup in comedi_auto_config()
        staging: android: ion: dummy: fix an error code
        ...
      e2e481d6
    • Linus Torvalds's avatar
      Merge tag 'driver-core-3.14-rc3' of... · ad07f124
      Linus Torvalds authored
      Merge tag 'driver-core-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core fix from Greg KH:
       "Here is a single driver core patch for 3.14-rc3 for the component code
        that Russell has found and fixed"
      
      * tag 'driver-core-3.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        drivers/base: fix devres handling for master device
      ad07f124