# USB IRQ disabled under heavy network load?

## Onion Avenger

I've noticed that once in awhile, if I leave my computer unattended and I come back to it (it happened twice overnight and once in a space of maybe 10 minutes) my usb mouse has died!  Moving it and clicking it won't do anything, but the keyboard is still responsive.  If I unplugged it and put it in a different port, but the optical light never comes back on.

I tried rmmod-ing uhci_hcd but then the terminal freezes, I can't ^C or anything.  I then looked through my logs and it seems something is wrong with uhci_hcd:

Here's the relevant part from /var/log/kernel/current at the last time the mouse died:

```
Feb 25 22:53:01 [kernel] uhci_hcd 0000:00:11.2: port 1 portsc 018a

Feb 25 22:53:01 [kernel] hub 1-0:1.0: port 1, status 300, change 3, 1.5 Mb/s

Feb 25 22:53:02 [kernel] uhci_hcd 0000:00:11.2: suspend_hc

Feb 25 22:53:07 [kernel] uhci_hcd 0000:00:11.2: port 2 portsc 01a3

Feb 25 22:53:07 [kernel] hub 1-0:1.0: port 2, status 301, change 1, 1.5 Mb/s

Feb 25 22:53:08 [kernel] hub 1-0:1.0: debounce: port 2: delay 100ms stable 4 status 0x301

Feb 25 22:53:08 [kernel] usb 1-2: new low speed USB device using address 3

Feb 25 22:53:13 [kernel] usb 1-2: control timeout on ep0out

```

I'm running 2.6.3-love4 and have noticed the problem on -love4 and -love3.  I'm considering downgrading but I'm not sure if this is the culprit or not.  It's hard to tell because this has only happened three times in the past four or five days.

Any ideas would be welcome.

Thanks,

--Richie, the Onion Avenger

[Edit]Changed the topic now that I seem to know what's causing the troubles[/Edit]Last edited by Onion Avenger on Fri Mar 26, 2004 8:55 pm; edited 1 time in total

----------

## Onion Avenger

Hm, it happened AGAIN!

[Edit]

I've downgraded to 2.6.2-love1 and will see what happens.

[/edit]

Here's the dmesg output after it happened:

```
irq 10: nobody cared!

Call Trace:

 [<c010e9ca>] __report_bad_irq+0x2a/0x90

 [<c010eabc>] note_interrupt+0x6c/0xa0

 [<c010ed91>] do_IRQ+0x121/0x130

 [<c0107000>] rest_init+0x0/0x60

 [<c03658fc>] common_interrupt+0x18/0x20

 [<c0107000>] rest_init+0x0/0x60

 [<c010b053>] default_idle+0x23/0x30

 [<c010b0bc>] cpu_idle+0x2c/0x40

 [<c045677d>] start_kernel+0x18d/0x1d0

 [<c0456480>] unknown_bootoption+0x0/0x120

handlers:

[<c02d9c10>] (usb_hcd_irq+0x0/0x70)

[<c02d9c10>] (usb_hcd_irq+0x0/0x70)

[<c02d9c10>] (usb_hcd_irq+0x0/0x70)

Disabling IRQ #10

```

IRQ 10, eh?  That happens to be my usb interrupt.  No wonder my mouse doesn't work after that!  :Wink: 

----------

## gearmonk

Same problem here, has been happening on several love releases to me. Currently running 2.6.4-love2. I may give a vanilla release a try, and then start stepping up to various patchsets to see what is causing the problem. I have 3 usb devices, all of which seem to be able to trigger the problem depending on circumstances (USB memory stick, Zaurus in cradle, and a printer).

I've tried removing hotplug and usbfs from the kernel (Some have said it helps with some usb problems on the forums), but they don't seem to have helped. Before I only got the "usb control timeout" errors. Now I also see "IRQ 10: nobody cared" and "disabling IRQ 10", along with a kernel OOPS that seems to indicate usbnet, which was the last device i tried to use before usb bit the dust. I also seem to get weird fs related errors starting with "is_leaf: item length seems wrong" when this happens. If anyone thinks it would be usefull, I will post relevant output from dmesg and kernel info.

----------

## Onion Avenger

Thanks gearmonk for the post, it's always nice to hear that you're not alone  :Smile: 

I tried vanilla 2.6.3, but I had the same problems.  So I've been using 2.6.2-gentoo-r1 for awhile now without any of the problems.  I've been too busy with schoolwork to really investigate further, but it seems 2.6.3+ had this problem for me.

Thinking back on when my USB IRQ was disabled, it seems like it happened everytime when I was using the network heavily, for instance on irc.  I use the 8139too network driver, I wonder if this may be part of the problem...?

Good luck!

--Richie, the Onion Avenger

----------

## Onion Avenger

Hm, another update:

I've been running on 2.6.5-rc2-love2 for a few days and all seemed to be fine.  Then when someone started downloaded several gigs from me through ftp, my mouse again died.  So it seems there is a connection between my network driver and this usb irq disabling...

For the record, I use the 8139too driver.  It's never given me troubles before this.  I'm going to try 2.6.4 vanilla when I can and troubleshoot some more.  At least it seems I've narrowed down the culprit to my network card, so I can finally reproduce the bug.

Has anyone else been noticing this problem?

--Richie, the Onion Avenger

----------

## kongit

do you use hotplug?  try not using it if you do.  I had problems with it and decided that I only remove usb devices when I have shutdown my computer.  Or just remove them and type in reboot.  hotplug was very to finicky for my tastes.

----------

## Onion Avenger

 *kongit wrote:*   

> do you use hotplug?

 

No, it's installed but not active.

```
ecthelion 01:59 PM root # /etc/init.d/hotplug status

 * status:  stopped

```

----------

## Onion Avenger

It's been awhile, but here's the update:

I figured out I can trip this bug (the IRQ disabling) consistently whenever I download, say, a CD image from my computer (using ftp).  So I have a "perfect" configuration under 2.6.3.  When I download the file, everything's fine.  However, using 2.6.4 seems to then give me the problem as I said above.  Here's the entry in the logs: 

```
Apr  2 10:49:27 ecthelion irq 10: nobody cared!

Apr  2 10:49:27 ecthelion Call Trace:

Apr  2 10:49:27 ecthelion [<c010d36a>] __report_bad_irq+0x2a/0x90

Apr  2 10:49:27 ecthelion [<c010d45c>] note_interrupt+0x6c/0xb0

Apr  2 10:49:27 ecthelion [<c010d690>] do_IRQ+0xe0/0xf0

Apr  2 10:49:27 ecthelion [<c010bae8>] common_interrupt+0x18/0x20

Apr  2 10:49:27 ecthelion [<c0123280>] do_softirq+0x40/0xa0

Apr  2 10:49:27 ecthelion [<c010d673>] do_IRQ+0xc3/0xf0

Apr  2 10:49:27 ecthelion [<c0105000>] rest_init+0x0/0x30

Apr  2 10:49:27 ecthelion [<c010bae8>] common_interrupt+0x18/0x20

Apr  2 10:49:27 ecthelion [<c0105000>] rest_init+0x0/0x30

Apr  2 10:49:27 ecthelion [<c0109053>] default_idle+0x23/0x30

Apr  2 10:49:27 ecthelion [<c01090bc>] cpu_idle+0x2c/0x40

Apr  2 10:49:27 ecthelion [<c046e75c>] start_kernel+0x17c/0x1c0

Apr  2 10:49:27 ecthelion [<c046e480>] unknown_bootoption+0x0/0x120

Apr  2 10:49:27 ecthelion 

Apr  2 10:49:27 ecthelion handlers:

Apr  2 10:49:27 ecthelion [<c02b71e0>] (usb_hcd_irq+0x0/0x70)

Apr  2 10:49:27 ecthelion [<c02b71e0>] (usb_hcd_irq+0x0/0x70)

Apr  2 10:49:27 ecthelion [<c02b71e0>] (usb_hcd_irq+0x0/0x70)

Apr  2 10:49:27 ecthelion Disabling IRQ #10
```

[Edit]

Well, using the exact same .config from 2.6.3. to 2.6.4 (except for the new options) has the problem.  So something happened in between 2.6.3 and 2.6.4.  Where should I go from here?  Post at someplace like kerneltrap.org?

[/Edit]

Thanks,

--Richie, the Onion Avenger

----------

## Onion Avenger

Okay, 2.6.3-love6 didn't work for me.  It contained 2.6.3-mm4, which I think is the culprit.  I'm running 2.6.2-love1 just fine right now.

----------

