PCI bus > 1 cannot read memory

We have had a recurring problem with a device driver we have written
where the driver works perfectly if the PCI card resides on PCI bus
0 or 1, but if the card is on PCI bus 2 or higher then attempts to read
shared memory always return 0xff. I have a vague recollection that this
was a recognized problem in earlier versions of QNX 6, but I thought
that it was fixed. We are seeing the problem in QNX 6.2.0, May 15th
edition.

Is there a solution for this problem? Am I even correct that this was a
recognized problem at one point?

Thanks,
Andrew

It could be that you have to enable the PCI device right after you have done
you PCI pnp detection.

I was looking in our code and we ‘or’ 0x07 on the PCI command status
register (offset 0x01), but you should refer to your PCI chipset databook on
how to enable the PCI device.

We ran into the problem with cards not being enabled on certain BIOS’s, and
it sounds like the same problem - we would basically also read 0xff from the
PCI card.


Jens



“Andrew Thomas” <andrew@at.cogent.dot.ca> wrote in message
news:b1och5$qal$1@inn.qnx.com

We have had a recurring problem with a device driver we have written
where the driver works perfectly if the PCI card resides on PCI bus
0 or 1, but if the card is on PCI bus 2 or higher then attempts to read
shared memory always return 0xff. I have a vague recollection that this
was a recognized problem in earlier versions of QNX 6, but I thought
that it was fixed. We are seeing the problem in QNX 6.2.0, May 15th
edition.

Is there a solution for this problem? Am I even correct that this was a
recognized problem at one point?

Thanks,
Andrew

If you could post the output from ‘pci -v’ when the card is on bus 2, that
would help.

Previously, Andrew Thomas wrote in qdn.public.qnxrtp.os:

We have had a recurring problem with a device driver we have written
where the driver works perfectly if the PCI card resides on PCI bus
0 or 1, but if the card is on PCI bus 2 or higher then attempts to read
shared memory always return 0xff. I have a vague recollection that this
was a recognized problem in earlier versions of QNX 6, but I thought
that it was fixed. We are seeing the problem in QNX 6.2.0, May 15th
edition.

Is there a solution for this problem? Am I even correct that this was a
recognized problem at one point?

Thanks,
Andrew

“Hugh Brown” <hsbrown@qnx.com> wrote in message
news:Voyager.030204102730.23442A@node90.ott.qnx.com

If you could post the output from ‘pci -v’ when the card is on bus 2, that
would help.

False alarm. I investigated much more deeply, and discovered that it
was in fact a stupid coding error on our part. Amazing how wonky
code can manifest itself, isn’t it?

Cheers,
Andrew