1. 20 May, 2003 15 commits
    • Duncan Sands's avatar
      [PATCH] USB speedtouch: remove useless NULL pointer checks · 2aea7c00
      Duncan Sands authored
      The stats field is never NULL.
      2aea7c00
    • Duncan Sands's avatar
      [PATCH] USB speedtouch: spin_lock_irqsave -> spin_lock_irq in tasklets · 3dfedcfe
      Duncan Sands authored
      Replace spin_lock_irqsave/spin_unlock_irqrestore with
      spin_lock_irq/spin_unlock_irq in tasklet actions, since
      these are always called with local irqs enabled.
      3dfedcfe
    • Duncan Sands's avatar
      [PATCH] USB speedtouch: spin_lock_irqsave -> spin_lock_irq in process context · 704500ef
      Duncan Sands authored
      Replace spin_lock_irqsave/spin_unlock_irqrestore with
      spin_lock_irq/spin_unlock_irq in routines that are only
      called in process context.
      704500ef
    • Duncan Sands's avatar
      [PATCH] USB speedtouch: remove stale code · 916613e7
      Duncan Sands authored
      Should have gone long ago.
      916613e7
    • Duncan Sands's avatar
      [PATCH] USB speedtouch: add defensive memory barriers · cc0df651
      Duncan Sands authored
      Defend against future maintainers.
      cc0df651
    • Duncan Sands's avatar
      [PATCH] USB speedtouch: replace yield() · 2c0f1af0
      Duncan Sands authored
      Use set_current_state (TASK_RUNNING); schedule(); instead.
      2c0f1af0
    • David Brownell's avatar
      [PATCH] USB: disable usb device endpoints in more places · 9dfb0ad1
      David Brownell authored
      This patch touches the most significant places in usbcore
      that need to respond to configuration change events:
      
        - set_interface changes altsettings; affects endpoints
          in both new and old settings (but not other endpoints).
      
        - set_configuration; affects every endpoint
      
      The endpoints get disabled, flushing hardware state
      reliably.  This resolves two FIXMEs here, part of one
      in OHCI (ed_get) and all of one in EHCI (qh_append_tds).
      
      Not many drivers currently use these code paths, but
      now they should start to work properly.
      9dfb0ad1
    • David Brownell's avatar
      [PATCH] USB: SMP ehci-q.c 1010 BUG() · aba85312
      David Brownell authored
      Stefano Barbato wrote:
      > Dual PIII
      > kernel 2.4.21-rc2 (w/ SMP)  (2.5.69 below)
      > ...
      >
      > I put a few printk before the BUG() and I found that the offending if() is
      > this:
      >         if(qh->qh_state != QH_STATE_LINKED
      >                                 && qh->qh_state != QH_STATE_UNLINK_WAIT)
      >
      > because qh_state were QH_STATE_COMPLETING.
      
      I got a similar SMP report recently, but without info about
      which clause was failing -- which is a key clue, thanks!!
      
      The COMPLETING state is used only while a QH is being
      scanned for completed TDs.  (Think CPU-0 irq handler.)
      Looking at the handful of places that call the routine
      reporting the BUG(), a couple seem like they could make
      trouble with multiple CPUs in the driver.
      aba85312
    • David Brownell's avatar
      [PATCH] USB: Fix machine lockup when unloading HC driver (part 2) · 6d58d234
      David Brownell authored
      Alan Stern wrote:
      > I suggest you just forget about acquiring the lock in status_dequeue() and
      > simply leave it as
      >
      > 	del_timer_sync (&hcd->rh_timer);
      > 	hcd->rh_timer.data = 0;
      
      Hmm, so if some other URB gets queued in that window,
      it'll get trashed?  Unlikely .. the clean fix would be
      making the status endpoint have a real URB queue.
      
      I combined your suggested change with two others:
      (a) protect the status-unlink and control completion
          handlers against IRQs [ the cases Duncan noted]
      (b) use mod_timer to retrigger the timer, instead of the
          heavy weight path.
      6d58d234
    • Greg Kroah-Hartman's avatar
      Merge gregkh@kernel.bkbits.net:/home/gregkh/linux/linus-2.5 · 8453878c
      Greg Kroah-Hartman authored
      into kroah.com:/home/linux/linux/BK/gregkh-2.5
      8453878c
    • Christoph Hellwig's avatar
      [PATCH] do_fork updates for ppc · ace40f57
      Christoph Hellwig authored
      Update ppc for mingo's do_fork changes.  Together with the pmac compile
      fixes this allows me to stay at the bleeding edge with my my ibook..
      ace40f57
    • Andrew Morton's avatar
      [PATCH] ppc64 update for do_fork() change · fada4013
      Andrew Morton authored
      This updates ppc64 for the do_fork() semantics change.
      fada4013
    • Andrew Morton's avatar
      [PATCH] revert sysfs non-fix · a193c746
      Andrew Morton authored
      I completely misread this code and there was no bug.  In fact yesterday's fix
      broke it.  Revert.
      a193c746
    • Andrew Morton's avatar
      [PATCH] sound/core/memalloc.c needs mm.h · 27a044d5
      Andrew Morton authored
      struct page is undefined in this file without this on Alpha.
      27a044d5
    • Andrew Morton's avatar
      [PATCH] apply_alternatives() fix · f69ca779
      Andrew Morton authored
      From: Andi Kleen <ak@suse.de>
      
      There is some assembly code in setup.c which doesn't explicitly set its
      section.  It comes after a C function which is marked __init.  The compiler
      does not reset the section after such C functions.  The assembly code is
      going into .text.init.
      
      That's the wrong section.  We get oopses modprobing sctp and, with Manfred's
      unmap-free-pages debug patch we get oopses modprobing e100.ko.  In
      apply_alternatives().
      f69ca779
  2. 19 May, 2003 14 commits
  3. 20 May, 2003 8 commits
  4. 19 May, 2003 3 commits
    • David S. Miller's avatar
      [NET]: Fix netdevice unregister races. · ff936f4e
      David S. Miller authored
      We had two major issues when unregistering networking devices.
      1) Even trying to run hotplug asynchronously could deadlock
         if keventd was currently trying to get the RTNL semaphore
         in order to process linkwatch events.
      2) Unregister needs to wait for the last reference to go away
         before the finalization of the unregister can execute.  This
         cannot occur under the RTNL semaphore as this is deadlock
         prone as well.
      
      The solution is to do all of this stuff after dropping the
      RTNL semaphore.  rtnl_lock, if it is about to protect a region
      of code that could unregister network devices, registers a list
      to which unregistered netdevs are attached.  At rtnl_unlock time
      this list is processed to wait for refcounts to drop to zero and
      then finalize the unregister.
      ff936f4e
    • Pete Zaitcev's avatar
      [SPARC]: Switch bitops to unsigned long. · 62cbd987
      Pete Zaitcev authored
      62cbd987
    • Pete Zaitcev's avatar
      [SPARC]: Fix ptracing of syscalls. · 1cc4805a
      Pete Zaitcev authored
      1cc4805a