1. 20 Sep, 2010 36 commits
  2. 26 Aug, 2010 4 commits
    • Greg Kroah-Hartman's avatar
      Linux 2.6.32.21 · 671e83b9
      Greg Kroah-Hartman authored
      671e83b9
    • Kerstin Jonsson's avatar
      x86, apic: ack all pending irqs when crashed/on kexec · 82c09de9
      Kerstin Jonsson authored
      commit 8c3ba8d0 upstream.
      
      When the SMP kernel decides to crash_kexec() the local APICs may have
      pending interrupts in their vector tables.
      
      The setup routine for the local APIC has a deficient mechanism for
      clearing these interrupts, it only handles interrupts that has already
      been dispatched to the local core for servicing (the ISR register) safely,
      it doesn't consider lower prioritized queued interrupts stored in the IRR
      register.
      
      If you have more than one pending interrupt within the same 32 bit word in
      the LAPIC vector table registers you may find yourself entering the IO
      APIC setup with pending interrupts left in the LAPIC.  This is a situation
      for wich the IO APIC setup is not prepared.  Depending of what/which
      interrupt vector/vectors are stuck in the APIC tables your system may show
      various degrees of malfunctioning.  That was the reason why the
      check_timer() failed in our system, the timer interrupts was blocked by
      pending interrupts from the old kernel when routed trough the IO APIC.
      
      Additional comment from Jiri Bohac:
      ==============
      If this should go into stable release,
      I'd add some kind of limit on the number of iterations, just to be safe from
      hard to debug lock-ups:
      
      +if (loops++  > MAX_LOOPS) {
      +        printk("LAPIC pending clean-up")
      +        break;
      +}
       while (queued);
      
      with MAX_LOOPS something like 1E9 this would leave plenty of time for the
      pending IRQs to be cleared and would and still cause at most a second of delay
      if the loop were to lock-up for whatever reason.
      
      [trenn@suse.de:
      
      V2: Use tsc if avail to bail out after 1 sec due to possible virtual
          apic_read calls which may take rather long (suggested by: Avi Kivity
          <avi@redhat.com>) If no tsc is available bail out quickly after
          cpu_khz, if we broke out too early and still have irqs pending (which
          should never happen?) we still get a WARN_ON...
      
      V3: - Fixed indentation -> checkpatch clean
          - max_loops must be signed
      
      V4: - Fix typo, mixed up tsc and ntsc in first rdtscll() call
      
      V5: Adjust WARN_ON() condition to also catch error in cpu_has_tsc case]
      
      Cc: <jbohac@novell.com>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Kerstin Jonsson <kerstin.jonsson@ericsson.com>
      Cc: Avi Kivity <avi@redhat.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Tested-by: default avatarEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: default avatarThomas Renninger <trenn@suse.de>
      LKML-Reference: <201005241913.o4OJDGWM010865@imap1.linux-foundation.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      Cc: Thomas Renninger <trenn@suse.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      82c09de9
    • Galen Seitz's avatar
      USB: ftdi_sio: add product ID for Lenz LI-USB · 6d92b8b4
      Galen Seitz authored
      commit ea233f80 upstream.
      
      Add ftdi product ID for Lenz LI-USB, a model train interface.  This
      was NOT tested against 2.6.35, but a similar patch was tested with the
      CentOS 2.6.18-194.11.1.el5 kernel.  It wasn't clear to me what
      ordering is being used in ftdi_sio.c, so I inserted the ID after another
      model train entry(SPROG_II).
      Signed-off-by: default avatarGalen Seitz <galens@seitzassoc.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6d92b8b4
    • Martin Michlmayr's avatar
      USB: ftdi_sio: Add ID for Ionics PlugComputer · 9368b48c
      Martin Michlmayr authored
      commit 666cc076 upstream.
      
      Add the ID for the Ionics PlugComputer (<http://ionicsplug.com/>).
      Signed-off-by: default avatarMartin Michlmayr <tbm@cyrius.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      9368b48c