Hi Matthias,
all my BARs are 32-bit non-prefetchable and I doubt that the driver is fauly as I also simplified the driver so it is only simple "mapper" of the BARs to user mode memory and the software only writes bunch of data to that memory. There is no special logic left in the driver now.
As for the detector - at least there is some vendor message from the chipset (I suppose) that appears on RX periodically, I think that there is nothing other, but I will create some detector for it. Maybe a dumb question - how can I find that the request requires completion? Just now I have only a list of types of request (from PCIe specification) and I return a completion for every "read" - is there some general bit in the header that tells me that the request is non-posted and needs a completion?
Martin