uhci fix

Pavel Machek (pavel@suse.cz)
Tue, 12 Oct 1999 10:26:50 +0200


Hi!

uhci passes wrong value to completed() [or at least other value than
ohci uses, and ohci is both newer and more logical.] If you want usb
audio to work, you'll need this bugfix.

Aha, and printer really should not use reserved major when we have
official numbers allocated.

Pavel

--- clean//drivers/usb/printer.c Sun Oct 10 11:22:51 1999
+++ linux/drivers/usb/printer.c Tue Oct 12 10:16:27 1999
@@ -23,11 +23,7 @@
#define NAK_TIMEOUT (HZ) /* stall wait for printer */
#define MAX_RETRY_COUNT ((60*60*HZ)/NAK_TIMEOUT) /* should not take 1 minute a page! */

-#ifndef USB_PRINTER_MAJOR
-#define USB_PRINTER_MAJOR 63
-#endif
-
-static int mymajor = USB_PRINTER_MAJOR;
+static int mymajor = 180;

#define MAX_PRINTERS 8

--- clean//drivers/usb/uhci.c Sun Oct 10 11:22:51 1999
+++ linux/drivers/usb/uhci.c Sun Oct 10 11:25:27 1999
@@ -971,7 +974,7 @@
td->status |= TD_CTRL_IOC;
td->completed = isocdesc->callback_fn;
cb_frames = 0;
- uhci_add_irq_list (dev->uhci, td, isocdesc->callback_fn, isocdesc->context);
+ uhci_add_irq_list (dev->uhci, td, isocdesc->callback_fn, isocdesc);
}

bufptr += fd->frame_length; /* or isocdesc->frame_size; */
@@ -991,7 +994,7 @@
if (!(td->status & TD_CTRL_IOC)) {
td->status |= TD_CTRL_IOC;
td->completed = isocdesc->callback_fn;
- uhci_add_irq_list(dev->uhci, td, isocdesc->callback_fn, isocdesc->context); /* TBD: D.K. ??? */
+ uhci_add_irq_list(dev->uhci, td, isocdesc->callback_fn, isocdesc); /* TBD: D.K. ??? */
}
return 0;
} /* end uhci_run_isoc */

-- 
I'm really pavel@ucw.cz. Look at http://195.113.31.123/~pavel.  Pavel
Hi! I'm a .signature virus! Copy me into your ~/.signature, please!

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/