I would like some advice on how to debug a strange problem with the Gigaset ISDN driver (drivers/isdn/gigaset). All of a sudden, both data streams as well as the input control stream experience over/underruns: bas_gigaset: isochronous write buffer underrun bas_gigaset: isochronous read overrun, dropped URB with status: success, 64 bytes lost bas_gigaset: receive AT data overrun, 12 bytes lost It looks as if my driver's tasklets aren't being executed anymore, and it doesn't receive URB callbacks anymore, either. As the tasklets have separate spinlocks for synchronization, I think it somewhat unlikely (though of course not impossible) that this is a locking issue. Unfortunately, I can't reproduce the problem on any of my own machines, and the reporter only observes it irregularly. So my only chance is to add debugging output which would tell me, once the problem happens again, enough about the system state in order to figure out what's going on. Therefore my questions: - What could prevent a scheduled tasklet from executing? - What could prevent an URB callback from being delivered? - Is there a way to query the state of my tasklets and pending URB callbacks in order to printk something that might provide a clue when the problem strikes next time? Thanks in advance for any hints. -- Tilman Schmidt E-Mail: [email protected] Bonn, Germany Diese Nachricht besteht zu 100% aus wiederverwerteten Bits. Ungeoeffnet mindestens haltbar bis: (siehe Rueckseite)
Attachment:
signature.asc
Description: OpenPGP digital signature
- Prev by Date: Long IO pauses
- Next by Date: Re: [PATCH] pata_marvell: switch to pci_iomap as Jeff asked
- Previous by thread: Long IO pauses
- Next by thread: Hopefully, kmalloc() will always succeed, but if it doesn't then....
- Index(es):