Skip to content
  1. Apr 18, 2014
    • Thomas Gleixner's avatar
      irqchip: Gic: Support forced affinity setting · ffde1de6
      Thomas Gleixner authored
      
      
      To support the affinity setting of per cpu timers in the early startup
      of a not yet online cpu, implement the force logic, which disables the
      cpu online check.
      
      Tagged for stable to allow a simple fix of the affected SoC clock
      event drivers.
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Tested-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Cc: Tomasz Figa <t.figa@samsung.com>,
      Cc: Daniel Lezcano <daniel.lezcano@linaro.org>,
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: linux-arm-kernel@lists.infradead.org,
      Cc: stable@vger.kernel.org
      Link: http://lkml.kernel.org/r/20140416143315.916984416@linutronix.de
      
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      ffde1de6
    • Thomas Gleixner's avatar
      genirq: Allow forcing cpu affinity of interrupts · 01f8fa4f
      Thomas Gleixner authored
      
      
      The current implementation of irq_set_affinity() refuses rightfully to
      route an interrupt to an offline cpu.
      
      But there is a special case, where this is actually desired. Some of
      the ARM SoCs have per cpu timers which require setting the affinity
      during cpu startup where the cpu is not yet in the online mask.
      
      If we can't do that, then the local timer interrupt for the about to
      become online cpu is routed to some random online cpu.
      
      The developers of the affected machines tried to work around that
      issue, but that results in a massive mess in that timer code.
      
      We have a yet unused argument in the set_affinity callbacks of the irq
      chips, which I added back then for a similar reason. It was never
      required so it got not used. But I'm happy that I never removed it.
      
      That allows us to implement a sane handling of the above scenario. So
      the affected SoC drivers can add the required force handling to their
      interrupt chip, switch the timer code to irq_force_affinity() and
      things just work.
      
      This does not affect any existing user of irq_set_affinity().
      
      Tagged for stable to allow a simple fix of the affected SoC clock
      event drivers.
      
      Reported-and-tested-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Cc: Tomasz Figa <t.figa@samsung.com>,
      Cc: Daniel Lezcano <daniel.lezcano@linaro.org>,
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: linux-arm-kernel@lists.infradead.org,
      Cc: stable@vger.kernel.org
      Link: http://lkml.kernel.org/r/20140416143315.717251504@linutronix.de
      
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      01f8fa4f
    • Linus Torvalds's avatar
      Merge branch 'parisc-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 81cef0fe
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
       "There are two major changes in this patchset:
      
        The major fix is that the epoll_pwait() syscall for 32bit userspace
        was not using the compat wrapper on a 64bit kernel.
      
        Secondly we changed the value of SHMLBA from 4MB to PAGE_SIZE to
        reflect that we can actually mmap to any multiple of PAGE_SIZE.  The
        only thing which needs care is that shared mmaps need to be mapped at
        the same offset inside the 4MB cache window"
      
      * 'parisc-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: fix epoll_pwait syscall on compat kernel
        parisc: change value of SHMLBA from 0x00400000 to PAGE_SIZE
        parisc: Replace __get_cpu_var uses for address calculation
      81cef0fe
    • Linus Torvalds's avatar
      Merge branch 'ipmi' (emailed ipmi fixes) · c2896def
      Linus Torvalds authored
      Merge ipmi fixes from Corey Minyard:
       "Things collected since last kernel release.
      
        Some of these are pretty important.  The first three are bug fixes.
        The next two are to hopefully make everyone happy about allowing
        ACPI to be on all the time and not have IPMI have an effect on the
        system when not in use.  The last is a little cleanup"
      
      * emailed patches from Corey Minyard <cminyard@mvista.com>:
        ipmi: boolify some things
        ipmi: Turn off all activity on an idle ipmi interface
        ipmi: Turn off default probing of interfaces
        ipmi: Reset the KCS timeout when starting error recovery
        ipmi: Fix a race restarting the timer
        Char: ipmi_bt_sm, fix infinite loop
      c2896def
    • Corey Minyard's avatar
      ipmi: boolify some things · 7aefac26
      Corey Minyard authored
      
      
      Convert some ints to bools.
      
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7aefac26
    • Corey Minyard's avatar
      ipmi: Turn off all activity on an idle ipmi interface · 89986496
      Corey Minyard authored
      
      
      The IPMI driver would wake up periodically looking for events and
      watchdog pretimeouts.  If there is nothing waiting for these events,
      it's really kind of pointless to be checking for them.  So modify the
      driver so the message handler can pass down if it needs the lower layer
      to be waiting for these.  Modify the system interface lower layer to
      turn off all timer and thread activity if the upper layer doesn't need
      anything and it is not currently handling messages.  And modify the
      message handler to not restart the timer if its timer is not needed.
      
      The timers and kthread will still be enabled if:
       - the SI interface is handling a message.
       - a user has enabled watching for events.
       - the IPMI watchdog timer is in use (since it uses pretimeouts).
       - the message handler is waiting on a remote response.
       - a user has registered to receive commands.
      
      This mostly affects interfaces without interrupts.  Interfaces with
      interrupts already don't use CPU in the system interface when the
      interface is idle.
      
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      89986496
    • Corey Minyard's avatar
      ipmi: Turn off default probing of interfaces · 0dfe6e7e
      Corey Minyard authored
      
      
      The default probing can cause problems with some system, slow booting,
      extra CPU usages, etc.  Turn it off by default and give a config option
      to enable it.
      
      From: Matthew Garrett <matthew.garrett@nebula.com>
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0dfe6e7e
    • Corey Minyard's avatar
      ipmi: Reset the KCS timeout when starting error recovery · eb6d78ec
      Corey Minyard authored
      
      
      The OBF timer in KCS was not reset in one situation when error recovery
      was started, resulting in an immediate timeout.
      
      Reported-by: default avatarBodo Stroesser <bstroesser@ts.fujitsu.com>
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      eb6d78ec
    • Bodo Stroesser's avatar
      ipmi: Fix a race restarting the timer · 48e8ac29
      Bodo Stroesser authored
      
      
      With recent changes it is possible for the timer handler to detect an
      idle interface and not start the timer, but the thread to start an
      operation at the same time.  The thread will not start the timer in that
      instance, resulting in the timer not running.
      
      Instead, move all timer operations under the lock and start the timer in
      the thread if it detect non-idle and the timer is not already running.
      Moving under locks allows the last timeout to be set in both the thread
      and the timer.  'Timer is not running' means that the timer is not
      pending and smi_timeout() is not running.  So we need a flag to detect
      this correctly.
      
      Also fix a few other timeout bugs: setting the last timeout when the
      interrupt has to be disabled and the timer started, and setting the last
      timeout in check_start_timer_thread possibly racing with the timer
      
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      Signed-off-by: default avatarBodo Stroesser <bstroesser@ts.fujitsu.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      48e8ac29
    • Jiri Slaby's avatar
      Char: ipmi_bt_sm, fix infinite loop · a94cdd1f
      Jiri Slaby authored
      
      
      In read_all_bytes, we do
      
        unsigned char i;
        ...
        bt->read_data[0] = BMC2HOST;
        bt->read_count = bt->read_data[0];
        ...
        for (i = 1; i <= bt->read_count; i++)
          bt->read_data[i] = BMC2HOST;
      
      If bt->read_data[0] == bt->read_count == 255, we loop infinitely in the
      'for' loop.  Make 'i' an 'int' instead of 'char' to get rid of the
      overflow and finish the loop after 255 iterations every time.
      
      Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
      Reported-and-debugged-by: default avatarRui Hui Dian <rhdian@novell.com>
      Cc: Tomas Cech <tcech@suse.cz>
      Cc: Corey Minyard <minyard@acm.org>
      Cc: <openipmi-developer@lists.sourceforge.net>
      Signed-off-by: default avatarCorey Minyard <cminyard@mvista.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a94cdd1f
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.15-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 88764e0a
      Linus Torvalds authored
      Pull Xen fixes from David Vrabel:
       "Xen regression and bug fixes for 3.15-rc1:
      
         - fix completely broken 32-bit PV guests caused by x86 refactoring
           32-bit thread_info.
         - only enable ticketlock slow path on Xen (not bare metal)
         - fix two bugs with PV guests not shutting down when requested
         - fix a minor memory leak in xen-pciback error path"
      
      * tag 'stable/for-linus-3.15-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/manage: Poweroff forcefully if user-space is not yet up.
        xen/xenbus: Avoid synchronous wait on XenBus stalling shutdown/restart.
        xen/spinlock: Don't enable them unconditionally.
        xen-pciback: silence an unwanted debug printk
        xen: fix memory leak in __xen_pcibk_add_pci_dev()
        x86/xen: Fix 32-bit PV guests's usage of kernel_stack
      88764e0a
    • Linus Torvalds's avatar
      Merge tag '3.15-fixes' of git://neil.brown.name/md · 23c1a60e
      Linus Torvalds authored
      Pull md bugfix from Neil Brown:
       "One BUG fix for md for recent commit"
      
      * tag '3.15-fixes' of git://neil.brown.name/md:
        raid5: fix a race of stripe count check
      23c1a60e
    • Linus Torvalds's avatar
      Merge tag 'fbdev-reorder-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux · 09df694a
      Linus Torvalds authored
      Pull fbdev renaming patches from Tomi Valkeinen:
       "Reorder drivers/video/ directory so that all fbdev drivers are now
        located in drivers/video/fbdev/ and the fbdev framework core files are
        located in drivers/video/fbdev/core/
      
        The drivers/video/Kconfig is modified so that the DRM and the fbdev
        menu options are in separate submenus, instead of both being mixed in
        the same 'Graphics support' menu level"
      
      * tag 'fbdev-reorder-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
        video: Kconfig: move drm and fb into separate menus
        fbdev: move fbdev core files to separate directory
        video: move fbdev to drivers/video/fbdev
      09df694a
  2. Apr 17, 2014
  3. Apr 16, 2014
    • Ingo Molnar's avatar
      x86: Remove the PCI reboot method from the default chain · 5be44a6f
      Ingo Molnar authored
      Steve reported a reboot hang and bisected it back to this commit:
      
        a4f1987e
      
       x86, reboot: Add EFI and CF9 reboot methods into the default list
      
      He heroically tested all reboot methods and found the following:
      
        reboot=t       # triple fault                  ok
        reboot=k       # keyboard ctrl                 FAIL
        reboot=b       # BIOS                          ok
        reboot=a       # ACPI                          FAIL
        reboot=e       # EFI                           FAIL   [system has no EFI]
        reboot=p       # PCI 0xcf9                     FAIL
      
      And I think it's pretty obvious that we should only try PCI 0xcf9 as a
      last resort - if at all.
      
      The other observation is that (on this box) we should never try
      the PCI reboot method, but close with either the 'triple fault'
      or the 'BIOS' (terminal!) reboot methods.
      
      Thirdly, CF9_COND is a total misnomer - it should be something like
      CF9_SAFE or CF9_CAREFUL, and 'CF9' should be 'CF9_FORCE' ...
      
      So this patch fixes the worst problems:
      
       - it orders the actual reboot logic to follow the reboot ordering
         pattern - it was in a pretty random order before for no good
         reason.
      
       - it fixes the CF9 misnomers and uses BOOT_CF9_FORCE and
         BOOT_CF9_SAFE flags to make the code more obvious.
      
       - it tries the BIOS reboot method before the PCI reboot method.
         (Since 'BIOS' is a terminal reboot method resulting in a hang
          if it does not work, this is essentially equivalent to removing
          the PCI reboot method from the default reboot chain.)
      
       - just for the miraculous possibility of terminal (resulting
         in hang) reboot methods of triple fault or BIOS returning
         without having done their job, there's an ordering between
         them as well.
      
      Reported-and-bisected-and-tested-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Cc: Li Aubrey <aubrey.li@linux.intel.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Matthew Garrett <mjg59@srcf.ucam.org>
      Link: http://lkml.kernel.org/r/20140404064120.GB11877@gmail.com
      
      
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      5be44a6f
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 10ec34fc
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix BPF filter validation of netlink attribute accesses, from
          Mathias Kruase.
      
       2) Netfilter conntrack generation seqcount not initialized properly,
          from Andrey Vagin.
      
       3) Fix comparison mask computation on big-endian in nft_cmp_fast(),
          from Patrick McHardy.
      
       4) Properly limit MTU over ipv6, from Eric Dumazet.
      
       5) Fix seccomp system call argument population on 32-bit, from Daniel
          Borkmann.
      
       6) skb_network_protocol() should not use hard-coded ETH_HLEN, instead
          skb->mac_len needs to be used.  From Vlad Yasevich.
      
       7) We have several cases of using socket based communications to
          implement a tunnel.  For example, some tunnels are encapsulations
          over UDP so we use an internal kernel UDP socket to do the
          transmits.
      
          These tunnels should behave just like other software devices and
          pass the packets on down to the next layer.
      
          Most importantly we want the top-level socket (eg TCP) that created
          the traffic to be charged for the SKB memory.
      
          However, once you get into the IP output path, we have code that
          assumed that whatever was attached to skb->sk is an IP socket.
      
          To keep the top-level socket being charged for the SKB memory,
          whilst satisfying the needs of the IP output path, we now pass in an
          explicit 'sk' argument.
      
          From Eric Dumazet.
      
       8) ping_init_sock() leaks group info, from Xiaoming Wang.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (33 commits)
        cxgb4: use the correct max size for firmware flash
        qlcnic: Fix MSI-X initialization code
        ip6_gre: don't allow to remove the fb_tunnel_dev
        ipv4: add a sock pointer to dst->output() path.
        ipv4: add a sock pointer to ip_queue_xmit()
        driver/net: cosa driver uses udelay incorrectly
        at86rf230: fix __at86rf230_read_subreg function
        at86rf230: remove check if AVDD settled
        net: cadence: Add architecture dependencies
        net: Start with correct mac_len in skb_network_protocol
        Revert "net: sctp: Fix a_rwnd/rwnd management to reflect real state of the receiver's buffer"
        cxgb4: Save the correct mac addr for hw-loopback connections in the L2T
        net: filter: seccomp: fix wrong decoding of BPF_S_ANC_SECCOMP_LD_W
        seccomp: fix populating a0-a5 syscall args in 32-bit x86 BPF
        qlcnic: Do not disable SR-IOV when VFs are assigned to VMs
        qlcnic: Fix QLogic application/driver interface for virtual NIC configuration
        qlcnic: Fix PVID configuration on eSwitch port.
        qlcnic: Fix max ring count calculation
        qlcnic: Fix to send INIT_NIC_FUNC as first mailbox.
        qlcnic: Fix panic due to uninitialzed delayed_work struct in use.
        ...
      10ec34fc
    • Steve Wise's avatar
      cxgb4: use the correct max size for firmware flash · 6f1d7210
      Steve Wise authored
      
      
      The wrong max fw size was being used and causing false
      "too big" errors running ethtool -f.
      
      Signed-off-by: default avatarSteve Wise <swise@opengridcomputing.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6f1d7210
    • Alexander Gordeev's avatar
      qlcnic: Fix MSI-X initialization code · 8564ae09
      Alexander Gordeev authored
      
      
      Function qlcnic_setup_tss_rss_intr() might enter endless
      loop in case pci_enable_msix() contiguously returns a
      positive number of MSI-Xs that could have been allocated.
      Besides, the function contains 'err = -EIO;' assignment
      that never could be reached. This update fixes the
      aforementioned issues.
      
      Cc: Shahed Shaikh <shahed.shaikh@qlogic.com>
      Cc: Dept-HSGLinuxNICDev@qlogic.com
      Cc: netdev@vger.kernel.org
      Cc: linux-pci@vger.kernel.org
      
      Signed-off-by: default avatarAlexander Gordeev <agordeev@redhat.com>
      Acked-by: default avatarShahed Shaikh <shahed.shaikh@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8564ae09
    • Nicolas Dichtel's avatar
      ip6_gre: don't allow to remove the fb_tunnel_dev · 54d63f78
      Nicolas Dichtel authored
      It's possible to remove the FB tunnel with the command 'ip link del ip6gre0' but
      this is unsafe, the module always supposes that this device exists. For example,
      ip6gre_tunnel_lookup() may use it unconditionally.
      
      Let's add a rtnl handler for dellink, which will never remove the FB tunnel (we
      let ip6gre_destroy_tunnels() do the job).
      
      Introduced by commit c12b395a
      
       ("gre: Support GRE over IPv6").
      
      CC: Dmitry Kozlov <xeb@mail.ru>
      Signed-off-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      54d63f78
    • Eric Dumazet's avatar
      ipv4: add a sock pointer to dst->output() path. · aad88724
      Eric Dumazet authored
      In the dst->output() path for ipv4, the code assumes the skb it has to
      transmit is attached to an inet socket, specifically via
      ip_mc_output() : The sk_mc_loop() test triggers a WARN_ON() when the
      provider of the packet is an AF_PACKET socket.
      
      The dst->output() method gets an additional 'struct sock *sk'
      parameter. This needs a cascade of changes so that this parameter can
      be propagated from vxlan to final consumer.
      
      Fixes: 8f646c92
      
       ("vxlan: keep original skb ownership")
      Reported-by: default avatarlucien xin <lucien.xin@gmail.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      aad88724
    • Ingo Molnar's avatar
      Merge tag 'perf-urgent-for-mingo' of... · ad466db5
      Ingo Molnar authored
      Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf
      
       into perf/urgent
      
      Pull perf/urgent fixes from Jiri Olsa:
      
        * Instead of redirecting flex output, use -o (Cody P Schafer)
      
        * Fix double free in perf test 21 (Adrian Hunter)
      
      Signed-off-by: default avatarJiri Olsa <jolsa@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      ad466db5
    • Eric Dumazet's avatar
      ipv4: add a sock pointer to ip_queue_xmit() · b0270e91
      Eric Dumazet authored
      ip_queue_xmit() assumes the skb it has to transmit is attached to an
      inet socket. Commit 31c70d59 ("l2tp: keep original skb ownership")
      changed l2tp to not change skb ownership and thus broke this assumption.
      
      One fix is to add a new 'struct sock *sk' parameter to ip_queue_xmit(),
      so that we do not assume skb->sk points to the socket used by l2tp
      tunnel.
      
      Fixes: 31c70d59
      
       ("l2tp: keep original skb ownership")
      Reported-by: default avatarZhan Jianyu <nasa4836@gmail.com>
      Tested-by: default avatarZhan Jianyu <nasa4836@gmail.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b0270e91
    • Konrad Rzeszutek Wilk's avatar
      xen/manage: Poweroff forcefully if user-space is not yet up. · eb47f712
      Konrad Rzeszutek Wilk authored
      The user can launch the guest in this sequence:
      
      xl create -p /vm.cfg	[launch, but pause it]
      xl shutdown latest	[sets control/shutdown=poweroff]
      xl unpause latest
      xl console latest	[and see that the guest has completely
      ignored the shutdown request]
      
      In reality the guest hasn't ignored it. It registers a watch
      and gets a notification that there is value. It then calls
      the shutdown_handler which ends up calling orderly_shutdown.
      
      Unfortunately that is so early in the bootup that there
      are no user-space. Which means that the orderly_shutdown fails.
      But since the force flag was set to false it continues on without
      reporting.
      
      What we really want to is to use the force when we are in the
      SYSTEM_BOOTING state and not use the 'force' when SYSTEM_RUNNING.
      
      However, if we are in the running state - and the shutdown command
      has been given before the user-space has been setup, there is nothing
      we can do. Worst yet, we stop ignoring the 'xl shutdown' requests!
      
      As such, the other part of this patch is to only stop ignoring
      the 'xl shutdown' when we are truly in the power off sequence.
      
      That means the user can do multiple 'xl shutdown' and we will try
      to act on them instead of ignoring them.
      
      Fixes-Bug: http://bugs.xenproject.org/xen/bug/6
      
      
      Reported-by: default avatarAlex Bligh <alex@alex.org.uk>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      eb47f712
    • Konrad Rzeszutek Wilk's avatar
      xen/xenbus: Avoid synchronous wait on XenBus stalling shutdown/restart. · 027bd7e8
      Konrad Rzeszutek Wilk authored
      The 'read_reply' works with 'process_msg' to read of a reply in XenBus.
      'process_msg' is running from within the 'xenbus' thread. Whenever
      a message shows up in XenBus it is put on a xs_state.reply_list list
      and 'read_reply' picks it up.
      
      The problem is if the backend domain or the xenstored process is killed.
      In which case 'xenbus' is still awaiting - and 'read_reply' if called -
      stuck forever waiting for the reply_list to have some contents.
      
      This is normally not a problem - as the backend domain can come back
      or the xenstored process can be restarted. However if the domain
      is in process of being powered off/restarted/halted - there is no
      point of waiting on it coming back - as we are effectively being
      terminated and should not impede the progress.
      
      This patch solves this problem by checking whether the guest is the
      right domain. If it is an initial domain and hurtling towards death -
      there is no point of continuing the wait. All other type of guests
      continue with their behavior (as Xenstore is expected to still be
      running in another domain).
      
      Fixes-Bug: http://bugs.xenproject.org/xen/bug/8
      
      
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Reviewed-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      027bd7e8
    • Konrad Rzeszutek Wilk's avatar
      xen/spinlock: Don't enable them unconditionally. · e0fc17a9
      Konrad Rzeszutek Wilk authored
      The git commit a945928e
      
      
      ('xen: Do not enable spinlocks before jump_label_init() has executed')
      was added to deal with the jump machinery. Earlier the code
      that turned on the jump label was only called by Xen specific
      functions. But now that it had been moved to the initcall machinery
      it gets called on Xen, KVM, and baremetal - ouch!. And the detection
      machinery to only call it on Xen wasn't remembered in the heat
      of merge window excitement.
      
      This means that the slowpath is enabled on baremetal while it should
      not be.
      
      Reported-by: default avatarWaiman Long <waiman.long@hp.com>
      Acked-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      CC: stable@vger.kernel.org
      CC: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      e0fc17a9
    • Dan Carpenter's avatar
      xen-pciback: silence an unwanted debug printk · c0914e61
      Dan Carpenter authored
      
      
      There is a missing curly brace here so we might print some extra debug
      information.
      
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      c0914e61
    • Daeseok Youn's avatar
      xen: fix memory leak in __xen_pcibk_add_pci_dev() · cea37f87
      Daeseok Youn authored
      
      
      It need to free dev_entry when it failed to assign to a new
      slot on the virtual PCI bus.
      
      smatch says:
       drivers/xen/xen-pciback/vpci.c:142 __xen_pcibk_add_pci_dev() warn:
      possible memory leak of 'dev_entry'
      
      Signed-off-by: default avatarDaeseok Youn <daeseok.youn@gmail.com>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      cea37f87
    • Linus Walleij's avatar
      irqchip: vic: Properly chain the cascaded IRQs · f6da9fe4
      Linus Walleij authored
      
      
      We are flagging the parent IRQ as chained, then we must also
      make sure to call the chained_irq_[enter|exit] functions for
      things to work smoothly.
      
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Link: http://lkml.kernel.org/r/1397550484-7119-1-git-send-email-linus.walleij@linaro.org
      
      
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      f6da9fe4