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