Re: Exception on host-PCI-bridge master-abort

From: Adrian Cox
Date: Mon Nov 10 2003 - 04:39:19 EST


On Fri, 2003-11-07 at 19:34, daz@xxxxxxxxxx wrote:

> I'm developing i386 linux drivers for a custom PCI card basically built
> on
> a programmable FPGA.
>
> Every time I re-program the FPGA (without re-booting the PC), the PCI
> configuration regs of the card are resetted, which makes memory and I/O
> aperture of the card disappearing from the PCI bus.
>
> By calling pci_restore_state() I restore the proper configuration, but
> unfortunately sometimes I'm not fast enough, and the PC issues a read or
> write requests when the card is still wrong configured.
> In such bad situation the PC freezes!

I've dealt with cards like that, but without that sort of problem.
Here's some things to think about:

1) Linux should not issue read or write requests to PCI devices
randomly. If the request is directed to your card, are you sure that it
isn't coming from your own driver code? If so, fix your driver.

2) If the fatal access is to another device, then does your device pass
through an intermediate state where it corrupts accesses to other cards
on the same bus? If so, you need to use a PCI-PCI bridge to put it on a
bus by itself.

3) If it's a new custom card, worry about electrical issues. Maybe the
FPGA configuration fails sometimes.

- Adrian Cox
http://www.humboldt.co.uk/





-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/