wpaul 781c6f4086 Fix one bug and make one minor enhancement:
- In uhci_intr() check to see if sc->sc_bus.bdev is NULL, and if it is,
  ack any pending interrupts and disable them, then return. It is possible
  for interrupts to be delivered the moment a handler is set up at attach
  time in uhci_pci.c, particularly when attempting to kldload the usb.ko
  module after the system is already up. However the driver isn't ready
  to field interrupts at that time and certain pointers in the softc
  struct aren't initialized yet, and we invariably end up falling off
  the end of one of them. The effect is that kldloading the usb module
  will panic the system in uhci_intr(). This added sanity check stops
  this from happening: I can now kldload the usb.ko module without any
  problems and load/attach other USB drivers after it.

  Of course the uhci driver has no detach method, but that's another
  problem.

- In uhci_run(), set the UHCI_CMD_MAXP bit in the command register to
  allow 64-byte packets to be used for full speed bandwidth reclamation.
  Certain high speed devices (in this case the ADMtek USB ethernet
  adapter) require this bit to be set, otherwise babble errors occur
  at the end of large (between 1100 and 1500 byte) transfers. This
  should not affect other devices, although supposedly it is less efficient
  than the 32-byte setting. Unfortunately, this is a per-bus setting,
  not a per-device setting, so we can't just enable it for certain
  devices on the USB bus.
1999-12-23 05:18:58 +00:00
..
1999-10-25 04:28:53 +00:00
1999-08-28 01:08:13 +00:00
1999-12-11 07:33:36 +00:00
1999-11-18 07:22:59 +00:00
1999-12-21 08:20:36 +00:00
1999-08-28 01:08:13 +00:00
1999-12-10 07:22:53 +00:00
1999-10-11 19:14:37 +00:00
1999-12-10 07:24:39 +00:00
1999-12-21 08:24:35 +00:00
1999-08-28 01:08:13 +00:00
1999-12-20 12:08:20 +00:00
1999-12-01 10:20:21 +00:00
1999-10-06 13:03:09 +00:00
1999-12-07 06:44:38 +00:00
1999-12-20 17:50:24 +00:00
1999-08-28 01:08:13 +00:00
1999-11-18 08:43:58 +00:00
1999-12-22 08:44:13 +00:00
1999-12-21 11:14:12 +00:00
1999-10-29 17:28:09 +00:00