1. 21 May, 2003 1 commit
  2. 20 May, 2003 9 commits
    • 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
  3. 19 May, 2003 14 commits
  4. 20 May, 2003 8 commits
  5. 19 May, 2003 8 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
    • David S. Miller's avatar
    • David S. Miller's avatar
      Merge nuts.ninka.net:/home/davem/src/BK/sparcwork-2.5 · a76e8f99
      David S. Miller authored
      into nuts.ninka.net:/home/davem/src/BK/sparc-2.5
      a76e8f99
    • David S. Miller's avatar
      Merge nuts.ninka.net:/home/davem/src/BK/network-2.5 · 3b1d5e1d
      David S. Miller authored
      into nuts.ninka.net:/home/davem/src/BK/net-2.5
      3b1d5e1d
    • Greg Kroah-Hartman's avatar
      Merge kroah.com:/home/greg/linux/BK/bleed-2.5 · 6ceec8d0
      Greg Kroah-Hartman authored
      into kroah.com:/home/greg/linux/BK/gregkh-2.5
      6ceec8d0
    • David Brownell's avatar
      [PATCH] USB: Fix machine lockup when unloading HC driver · da36985a
      David Brownell authored
      Alan Stern wrote:
      > I finally got tired of my computer locking up when I tried to rmmod the
      > low-level host controller driver.  It turns out the problem lies in the
      > root-hub status urb code in core/hcd.c -- primarily a result of
      > rh_report_status() not calling hcd_giveback_urb()...
      
      Or in short:  your patch removes some old logic for the "automagic
      interrupt transfer" special casing ... which recently started to
      break that rmmod path.
      
      With automagic, the only time an interrupt urb (like the root hub
      status urb) could legitimately be given back was for unlink.  But
      that unlink doesn't seem to be issued in the same way lately during
      the rmmod paths.  (If they're less bizarre lately, that's good!)
      
      
      > If this patch seems all right, will you please let Greg know it's okay to
      > apply it?
      
      I changed a couple minor things below ... basically (a) fixing the
      issue Duncan Sands pointed out (always call completions with irqs
      disabled, even if hub driver currently doesn't care), (b) better
      logic to avoid retriggering the timer during shutdown, (c) not
      doing del_timer_sync() while holding that lock, plus (d) a minor
      linewrap fix.
      da36985a