1. 17 May, 2002 7 commits
    • Linus Torvalds's avatar
      Merge bk://linuxusb.bkbits.net/linus-2.5 · 38b60834
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      38b60834
    • Linus Torvalds's avatar
      Update kernel version · 0820be61
      Linus Torvalds authored
      0820be61
    • Linus Torvalds's avatar
      Cleanup munmap a lot. Fix Intel P4 TLB corruptions on SMP. · 5200ffe8
      Linus Torvalds authored
      Special thanks to Intel for support and traces.
      5200ffe8
    • Greg Kroah-Hartman's avatar
      [PATCH] USB - Host controller Config.in changes · ca65e31f
      Greg Kroah-Hartman authored
      - Commented out the usb-ohci driver.  This is part of the migration away from
        this driver, to the ohci-hcd driver.
      - Prevented the two UHCI_HCD drivers from both being compiled into the kernel
        at the same time.
      ca65e31f
    • Greg Kroah-Hartman's avatar
      [PATCH] USB - fix a compiler warning in the core code · 34cfabe1
      Greg Kroah-Hartman authored
      This removes a compiler warning due to my previous patch.
      34cfabe1
    • Greg Kroah-Hartman's avatar
      USB Config.in and Makefile fixups · 5b9eff91
      Greg Kroah-Hartman authored
      fixed up the Config.in and Makefile merge due to there being 2 uhci-hcd drivers added at once.
      5b9eff91
    • Georg Acher's avatar
      [PATCH] USB-UHCI-HCD · a96a4b53
      Georg Acher authored
      After maturing for more than a month, I decided that it's enough...
      So here's the patch for the HCD-version of usb-uhci, I called it
      usb-uhci-hcd. For me, the usual devices work (TM).
      
      Since the internals haven't changed much, I don't expect much difference to
      usb-uhci in functionality and performance.
      
      There is one major improvement: I've added a (preliminary) watchdog, that
      regularly checks whether UHCI interrupts are coming through. If they are
      "missing", ie. the HC halted without saying so, the HC is "re-animated" by a
      real and clean restart, which is (internally) equivalent to a module-reload.
      This is especially for VIA-chips which get comatose quite easily by babble
      or other incorrect transfers.
      
      The side effect is, of course, disconnects for all connected devices, but
      they re-appear after a few seconds and were dead before anyway. So keyboard
      and mouse work again, which is IMO a _very_ useful thing :-)
      
      Another point: The watchdog (currently with moderate 8 interrupts/s) detects
      IRQ-problems, so the misleading "device doesn't accept new device"-message
      is replaced by an immediate error.
      
      More comments and the separation into multiple files (I've taken ohci-hcd as
      an example) should make the code more concise...
      
      A few things are still on the todo-list and will come later:
      - A few watchdog modifications (fewer interrupts, better diagnostics)
      - Support for module "tune"-parameters for breadth/depth search, debug etc.
      - interval support for ISO
      - More SMP-tests
      - maybe changes for reference counting when it is clear what survives :-)
      a96a4b53
  2. 16 May, 2002 4 commits
    • Greg Kroah-Hartman's avatar
      Change to the USB core to retry failed devices on startup. · 82b3d954
      Greg Kroah-Hartman authored
      Based on a patch from Georg Acher <georg@acher.org>
      82b3d954
    • Johannes Erdfelt's avatar
      [PATCH] 2.4.19-pre8 uhci.c incorrect bit operations · 919c1984
      Johannes Erdfelt authored
      Woops, I sent the wrong version. There was one extra line that was
      required.
      919c1984
    • Johannes Erdfelt's avatar
      [PATCH] 2.4.19-pre8 uhci.c incorrect bit operations · 448c86dd
      Johannes Erdfelt authored
      This fixes up a couple of problems I came across while working on
      uhci-hcd. There are a couple of places where shifts are used where they
      shouldn't be and others where should be.
      
      This cleans up a couple of cases and tidys it up.
      
      The patch is relative to 2.4.19-pre8 and my other patches, but it's
      alright to wait for 2.4.20. It should also be applied to 2.5.
      448c86dd
    • Johannes Erdfelt's avatar
      [PATCH] uhci-hcd for 2.5.15 · 7ed10dbc
      Johannes Erdfelt authored
      So I finally hunkered down and got uhci-hcd working. I was surprised how
      easy it was to make the modifications for hcd.c.
      
      This patch has received a moderate amount of testing so far. I've played
      with various devices and haven't had any problems. I won't claim it's
      bug free yet and I'll continue doing more testing.
      
      The patch includes a small change to hcd.c to not call free_config if
      the HCD doesn't implement it.
      
      There are some other messages that get printed such as:
      
      hcd.c: usb_hcd_pci_remove 00:10.0, count != 1
      
      but it appears from the code that this is just a soft warning that all
      of the references to the bus aren't freed yet. This isn't a bug.
      
      Differences from usb-uhci/usb-uhci-hcd:
      - Cleaner code. uhci-hcd is based off of uhci, so it maintains the same
        look and feel as well as readability.
      - Faster. The tests I've run so far show that uhci-hcd is faster in
        every case than usb-uhci-hcd
      - It does not have the watchdog type feature for VIA chipsets. It's
        something that is definately possible to implement, but I'd like to
        find out what Windows does first.
      
      Differences from uhci:
      - Modified to use the hcd.c framework. This removed a significant amount
        of code and nesessitated lots of little changes.
      - Big endian support. I haven't been able to test it on a big endian
        machine yet, but atleast 90+% of the work should be done. Once I get
        my PowerPC working again, I'll test this and submit any appropriate
        patches. This was the biggest functional change between uhci.c.
      - No more urb->next processing. Completely ripped out.
      - urb->interval support for Isochronous pipes.
      - A couple of bug fixes for some problems I noticed while working on the
        code. These will be submitted for uhci.c in a seperate email.
      7ed10dbc
  3. 15 May, 2002 3 commits
  4. 13 May, 2002 7 commits
    • Greg Kroah-Hartman's avatar
      USB sddr55 minor patch to enable a MDSM-B reader · a8025e16
      Greg Kroah-Hartman authored
      This was forgotten in the previous sddr55 patch import, and is needed
      to support the MDSM-B reader devices.
      
      Thanks to Andries.Brouwer@cwi.nl for the 2.4.x version of the patch.
      a8025e16
    • David Woodhouse's avatar
      [PATCH] zlib_inflate return code fix. Again. · 40f53750
      David Woodhouse authored
      This bug, introduced by the fix for ppp_deflate, makes zisofs unhappy
      with certain input.
      40f53750
    • Greg Kroah-Hartman's avatar
      [PATCH] USB device reference counting api cleanup changes · 04adba5a
      Greg Kroah-Hartman authored
      This patch replaces the awkwardly named usb_inc_dev_use() and
      usb_dec_dev_use() with usb_get_dev() and usb_put_dev() to match the
      naming convention of the rest of the kernel's reference counted
      structures.  It also does away with the special case of usb_free_dev(),
      and has usb_put_dev() be the same thing (through a #define, just like
      usb_free_urb() works.)
      
      Now when the last person calls usb_put_dev() or usb_free_dev() the
      structure is cleaned up.  This allows the different host controller
      drivers to implement their logic differently if they want to (as they
      do), and everyone can be happy and stop arguing about the "proper" way
      to write their host controller drivers :)
      04adba5a
    • Johannes Erdfelt's avatar
      [PATCH] USB device reference counting fix for uhci.c and usb core · 25f04c13
      Johannes Erdfelt authored
      Earlier in the 2.5 development cycle a patch was applied that changed
      the reference counting behaviour for USB devices.
      
      There are a couple of problems with the change:
      - It made the USB code more complicated as a whole with the introduction
        of an additional cleanup path for devices. Using the traditional method
        of reference counting, cleanup is handled implictly
      - It reduces functionality by requiring a callback for all references to
        the device, but doesn't provide a method of providing callbacks for
        references. It relies on the hardcoded device driver ->disconnect and
        HCD ->deallocate method for callbacks
      
      The traditional method of using reference counting supports as many
      reference users as needed, without complicating it with mandatory
      callbacks to cleanup references.
      
      The change in 2.5 also only helps catch one subset of programming
      problem in device drivers, the case where it decrements too many times.
      That is of dubious debugging value.
      
      So, this patch reverts the change and makes the reference counting
      behave like it does in the rest of the kernel as well as how the USB
      code does in 2.4.
      
      This patch doesn't remove all of the superfluous code. Some drivers,
      like usb-ohci, ohci-hcd and ehci-hcd have some code that is no longer
      needed. I wanted to spend some more time with those drivers since the
      changes weren't as trivial as uhci.c and usb-uhci.c.
      
      I've tested with uhci and usb-ohci with no adverse effects.
      25f04c13
    • Greg Kroah-Hartman's avatar
      [PATCH] usb_submit_urb fix for broken usb devices · 88bcb34e
      Greg Kroah-Hartman authored
      added check for wMaxPacketSize of 0, which is a messed up device, but
      seems to be legal according to the USB spec.
      
      Thanks to Johannes for figuring out the problem, and providing an
      original version of this patch.
      88bcb34e
    • Manfred Spraul's avatar
      [PATCH] usb-storage locking fixes · d8a71dcf
      Manfred Spraul authored
      I found several SMP and UP locking errors in usb-storage, attached is a
      patch:
      
      Changes:
      * srb->result is a bitfield, several << 1 were missing.
      * add scsi_lock calls around midlayer calls, release the lock before
        calling usb functions that might sleep.
      * replace the queue semaphore with a queue spinlocks, queuecommand is
        called from bh context.
      d8a71dcf
    • Rusty Russell's avatar
      [PATCH] Hotplug CPU prep · 27568369
      Rusty Russell authored
      This changes do_fork() to return the task struct, rather than the PID.
      
      Also changes CLONE_PID ("if my pid is 0, copy it") to CLONE_IDLETASK
      ("set child's pid to zero"), and disallows access to the flag from user
      mode.
      27568369
  5. 12 May, 2002 7 commits
  6. 13 May, 2002 3 commits
  7. 11 May, 2002 9 commits