lkml.org 
[lkml]   [2000]   [Nov]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch] usb-uhci.c: fix for PCI-lockups/IRQ problems
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, acher@in.tum.de
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);
}
\
 
 \ /
  Last update: 2005-03-22 12:47    [W:0.044 / U:0.300 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site