Why PCI memory mapping is failing ?

Solution Unverified - Updated -

Issue

  • The expansion blade can hold 2 cards. When we have 2 NGSB cards or 2 HDC3 cards in the expansion blade everything is OK. When we have a mix of the 2 cards, i.e. one of each card, in the expansion blade then I see in the DMESG output that there were many memory mapping problems including the following example:
pci 0000:1f:00.0: BAR 15: can't assign mem pref (size 0x2000000)
pci 0000:20:00.0: BAR 1: trying firmware assignment [mem 0xa8000000-0xa9ffffff pref]
pci 0000:20:00.0: BAR 1: [mem 0xa8000000-0xa9ffffff pref] conflicts with PCI Bus 0000:00 [mem 0xa8000000-0xfbff7fff]
pci 0000:20:00.0: BAR 1: can't assign mem pref (size 0x2000000)

The combination of the 2 different cards (mixed-mode) in an expansion blade works fine with the same Linux version on an IBM Blade HS22 and on an HP Blade Center. It is only with the HS23 that there is a problem.

We have also tried putting an Intel NIC card with the HDC3 and there is no problem and the Intel NiC card with an NGSB and there is no problem.

Note that the HDC3 card uses BAR1 to map memory not I/O. And that the Ulticom card doesn’t actually use BAR1 and has a 0 in the EEPROM that seems to get translated to 256 in the config space and maps to I/O space.

Only the HDC3/NGSB combination that has a problem.

Environment

  • Red Hat Enterprise Linux - 6.3
  • IBM Blade HS23

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content