On Tue, Aug 27, 2013 at 09:53:35AM +0200, Ludwig Petrosyan wrote: > So: I use microTCA system with PCIe bus, there are two AMC cards (PCIe > endpoints), lets call card A and card B. > as well there are two device drivers for A and B. Card B has bug, after > PCIe memory write operation (MWr) the card sends back Completion > packet without data (Cpl) (I now it is wrong, but card designed in this > way and has to be changed). > User process Ua reads data from Card A in loop, everything is OK , but > then I start second user process Ub which writes in loop data to card B > (bugged card) the Ua gets wrong data. After improving card B the problem > was solved, but could be it has to be checked on the PCIe driver level > as well. PCIe transactions (MWr, MRd, Cpl, etc.) are not directly visible to the OS or the driver. The only thing I can think of that we could do is add a quirk to blacklist the broken version of card B. You can look at existing quirks in drivers/pci/quirks.c. Most of them workaround issues that aren't quite as severe as this one, but we could probably figure out a way to make the device completely unusable. Or do you have something else in mind? Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html