Hello again! In porting this SIS191 driver from freeBSD I'm stuck trying to fix a kernel panic in pool_do_get:
panic: pool_do_get(mbpl: free list modified trace: panic() pool_do_get() pool_get() m_gethdr() What I don't understand is in my driver m_gethdr(M_DONTWAIT, M_DATA) is called. Therefore pool_get should only get pool_get(&mbpool, 0). So what is my driver doing wrong to produce this crash??? Could it be a hint that my driver is leaking memory? What is also very funny is that this panic is very accurately reproducible. When doing a scp (big packets ?!) to produce some traffic it almost always panics exactly when handling the 80th interupt for rx packets. When doing ping (small packets ?!) it happens in the 256th packet, therefore when the rx-ring is wrapping. But this may be yet another bug? Any ideas or hints? I'm pretty lost in all this mbuf handling. The manpage doesn't help me too much and looking at other drivers confuses me even more, although they all look pretty similar in the rxeof() functions. Christopher [demime 1.01d removed an attachment of type application/pgp-signature which had a name of signature.asc]