Hi,
test12-pre3 had a large set of patches to usb-uhci.c. One small detail of
this patch can make the driver to lockup the PCI bus with certain UHCI-chips
(only Intel but not VIA, of course not on my machines...). This patch should 
fix that.
It also includes Linus' patch for the IRQ-setup.
-- 
         Georg Acher, [EMAIL PROTECTED]         
         http://www.in.tum.de/~acher/
          "Oh no, not again !" The bowl of petunias          
diff -u linux/drivers/usb/usb-uhci.c linux.afs/drivers/usb/usb-uhci.c
--- linux/drivers/usb/usb-uhci.c        Thu Nov 30 10:49:54 2000
+++ linux.afs/drivers/usb/usb-uhci.c    Thu Nov 30 10:47:54 2000
@@ -16,7 +16,7 @@
  * (C) Copyright 1999 Randy Dunlap
  * (C) Copyright 1999 Gregory P. Smith
  *
- * $Id: usb-uhci.c,v 1.249 2000/11/21 12:03:34 acher Exp $
+ * $Id: usb-uhci.c,v 1.251 2000/11/30 09:47:54 acher Exp $
  */
 
 #include <linux/config.h>
@@ -52,7 +52,7 @@
 /* This enables an extra UHCI slab for memory debugging */
 #define DEBUG_SLAB
 
-#define VERSTR "$Revision: 1.249 $ time " __TIME__ " " __DATE__
+#define VERSTR "$Revision: 1.251 $ time " __TIME__ " " __DATE__
 
 #include <linux/usb.h>
 #include "usb-uhci.h"
@@ -582,6 +582,7 @@
        
        fill_td (td, 0 * TD_CTRL_IOC, 0, 0); // generate 1ms interrupt (enabled on 
demand)
        insert_td (s, qh, td, 0);
+       qh->hw.qh.element &= ~UHCI_PTR_TERM; // remove TERM bit
        s->td1ms=td;
 
        dbg("allocating qh: bulk_chain");
@@ -2916,6 +2917,9 @@
                return -1;
        }
 
+       /* Enable PIRQ */
+       pci_write_config_word (dev, USBLEGSUP, USBLEGSUP_DEFAULT);
+
        s->irq = irq;
 
        if(uhci_start_usb (s) < 0) {
@@ -2951,7 +2955,7 @@
                if (check_region (io_addr, io_size))
                        break;
                /* disable legacy emulation */
-               pci_write_config_word (dev, USBLEGSUP, USBLEGSUP_DEFAULT);
+               pci_write_config_word (dev, USBLEGSUP, 0);
        
                return alloc_uhci(dev, dev->irq, io_addr, io_size);
        }

Reply via email to