Hi all.

I have an APC BackUPS CS connected to my linux 2.6.5 box. The usb
communication works just fine for quite a while, but after 30-40 days of
uptime or so, it starts to behave strange and the communication doesn't
work correctly anymore. Also, it doesn't work to kill -9 apcupsd, probably
it's stuck in a syscall somewhere in the usb driver. This also resulted in
the kernel being unable to free some memory when I tried to unload the
uchi-hcd module.

I looked around in linux-2.6.6/drivers/usb/host/uhci-hcd.c and found the
following:

#ifdef I_HAVE_BUGGY_APC_BACKUPS
        /* APC BackUPS Pro kludge */
        /* It tries to send all of the descriptor instead of the amount */
        /*  we requested */
        if (status & TD_CTRL_IOC &&     /* IOC is masked out by uhci_status_bits */
            status & TD_CTRL_ACTIVE &&
            status & TD_CTRL_NAK)
                return 0;
#endif

Could this have something to do with my BackUPS CS problems? I tried to
#define I_HAVE_BUGGY_APC_BACKUPS for my new-compiled 2.6.6 kernel, but as
the problem takes more than a month to reproduce, any suggestions would be
greatly appreciated.

Oh, and btw, the logrotate scripts of my debian box restarts apcupsd every
day - could this be related in any way?


dmesg says the following:

drivers/usb/input/hid-core.c: ctrl urb status -2 received
<repeated 14 times>
drivers/usb/input/hid-core.c: timeout initializing reports

usb 1-2: control timeout on ep0out
<repeated 4 times>

drivers/usb/input/hid-core.c: ctrl urb status -2 received
<repeated some more times>


When I try to rmmod uhci-hcd:


uhci_hcd 0000:00:07.2: remove, state 1
usb usb1: USB disconnect, address 1
usb 1-2: USB disconnect, address 2
uhci_hcd 0000:00:07.2: dma_pool_destroy uhci_td, c9abb000 busy
uhci_hcd 0000:00:07.2: USB bus 1 deregistered
slab error in kmem_cache_destroy(): cache `uhci_urb_priv': Can't free all
objects
Call Trace:
 [<c0137016>] kmem_cache_destroy+0x86/0x100
 [<d090bf0c>] uhci_hcd_cleanup+0x1c/0x67 [uhci_hcd]
 [<c012cb90>] sys_delete_module+0x130/0x170
 [<c0140394>] sys_munmap+0x44/0x70
 [<c0106fbb>] syscall_call+0x7/0xb

drivers/usb/host/uhci-hcd.c: not all urb_priv's were freed!
drivers/usb/input/hid-core.c: timeout initializing reports

Then the kernel oopses.

Thanks in advance.

/marty


-------------------------------------------------------
This SF.Net email is sponsored by: SourceForge.net Broadband
Sign-up now for SourceForge Broadband and get the fastest
6.0/768 connection for only $19.95/mo for the first 3 months!
http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to