On Thu, 18 Apr 2002 [EMAIL PROTECTED] wrote:

|     > I have now seen for the second time a BUG() at usb.h:1074
|     >       usb_dec_dev_use() called by
|     >       uhci_free_qh() called by
|     >       uhci_free_pending_qhs() called by
|     >       uhci_interrupt() called by handle_IRQ_event().
|     >
|     > Since it is not easily reproducible, I have not attempted
|     > to trace what happens.
|
|     What USB drivers were running at the time?
|
| This was 2.5.8, with
|
| % grep USB .config | grep -v '#'
| CONFIG_USB=y
| CONFIG_USB_DEVICEFS=y
| CONFIG_USB_UHCI_ALT=y
| CONFIG_USB_HOST=y
| CONFIG_USB_STORAGE=m
| CONFIG_USB_STORAGE_DPCM=y
| CONFIG_USB_STORAGE_SDDR09=y
| CONFIG_USB_HID=y
| CONFIG_USB_HIDINPUT=y
| CONFIG_USB_WACOM=y
| CONFIG_USB_INPUT=y
| CONFIG_USB_INPUT=y
|
| It was at boot time, the usb-storage module was not loaded.
| Devices (now, after a reboot):
|
| 1. USB UHCI-alt Root Hub
|   2. hub 0451:1446
|     3. hub 0451:1446
|       4. keyboard / hidmouse 05e3:000a
|     3a. eUSB SmartMedia / CompactFlash Adapter 04e6:0005
|
| with numbering and indentation showing the topology.

Your text, or from some software?
Some possible explanation below.

| [Funny: 3a does not go away when it is disconnected: usbview
| still shows it. Both hubs shown are the same device.]
| [Funny: CONFIG_USB_INPUT=y is shown twice.]

I fed your /proc/bus/usb/devices file into 'usbtree' and
it shows:

/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=hub/2p, 12M
    |__ Port 1: Dev 6, If 0, Class=hub, Driver=hub/4p, 12M
        |__ Port 3: Dev 8, If 0, Class=HID, Driver=hid, 1.5M
        |__ Port 3: Dev 8, If 1, Class=HID, Driver=hid, 1.5M
        |__ Port 3: Dev 8, If 2, Class=HID, Driver=hid, 1.5M
        |__ Port 4: Dev 7, If 0, Class=hub, Driver=hub/4p, 12M
    |__ Port 2: Dev 3, If 0, Class=vend., Driver=usb-storage, 12M

I think what you are seeing here is what some motherboard
manufacturers did in early USB days.  Main USB [host] controller
had 2 USB ports, but they wanted to expose more than that,
so they added a USB hub chip onto the motherboard (say a 4-port
hub).  This allows them to expose 5 USB ports -- one from the
USB controller and 4 from the "embedded" hub.

In this example, the last line (Port 2) is the second USB
controller port and the "Port 1: Dev 6" line is the embedded
hub connecting to the USB controller.  Then the HID devices
are connected to the embedded hub's ports.

Don't know about the CONFIG_USB_INPUT 2 times though,
or why 3a doesn't go away when it's disconnected.
Are there any log messages when it's disconnected?
(I know that the "SCSI" device will stay in /proc/scsi and
be re-used if/when the same device is reconnected.
That's a feature.)

~Randy



_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to