3c905c hang (part 3) possibly identified
"Kambo Lohan" <[email protected]>
| Newsgroups | gmane.linux.drivers.vortex.devel |
|---|---|
| Message-ID | <[email protected]> |
first of all: to produce the problem, we put a 905c into promiscuous mode and did not assign an ip. it is only a sniffer and never sends anything. we lowered the max_interrupt_work to 3 (just to test) and flooded it, on an isolated 100mbps hub. after 2 too much work in irq messages the card would then not rx any packets, merely add them up as overruns. we would have to down and up it again to get it to rx. solution: We believe the driver is not removing the card from upstall status. Looking at the vortex-diag output when the card is hung, the register at offset 0x30 - uppktstatus - indicates upStalled and upPktComplete. Vortex chip registers at 0xdc00 0xDC10: **FIFO** 00000000 00000000 *STATUS* 0xDC20: 00000020 00000000 00080000 00001404 0xDC30: 0000a000 7cf5830b 07430900 00080004 As a temporary patch, we added this line to the (status & IntReq) handler in vortex_error(): boomerang_rx(dev); because boomerang_rx is the only place which seems to issue an unstall command. we verified boomerang_rx is what is being called on rx with this 905c (kind of surprised us). anyway this patch solved the problem of the card not rx'ing any more after the too much work in irq shutdown. once the intreq handler restores the irq enabling AND calls boomerang rx to issue the unstall the card starts rxing again. _________________________________________________________________ MSN 8: advanced junk mail protection and 2 months FREE*. http://join.msn.com/?page=features/junkmail _______________________________________________ vortex mailing list [email protected] http://www.scyld.com/mailman/listinfo/vortex