>From the Linux kernel point of view, changing the BIOS option is not a
good fix, and "pci=realloc=off" is just a workaround and not a real fix
either.  Linux should be able to work even without that, or at least
give meaningful error messages.

The original problem appears to be that:

  - BIOS allocated space for the normal PCI BARs 0, 2 and 4, but not for the 
  - Linux tried to allocate space for the SR-IOV BARs, but failed, and
  - Linux removed even the space allocated for the normal PCI BARs

Here's the initial state Linux found:

  pci 0000:22:00.0: [8086:10fb] type 00 class 0x020000
  pci 0000:22:00.0: reg 0x10: [mem 0xe9400000-0xe947ffff 64bit]  # BAR 0
  pci 0000:22:00.0: reg 0x18: [io  0xdcc0-0xdcdf]                # BAR 2
  pci 0000:22:00.0: reg 0x20: [mem 0xe95f8000-0xe95fbfff 64bit]  # BAR 4
  pci 0000:22:00.0: reg 0x30: [mem 0xe9500000-0xe957ffff pref]   # ROM BAR
  pci 0000:22:00.0: reg 0x184: [mem 0x00000000-0x00003fff 64bit] # SR-IOV BAR
  pci 0000:22:00.0: reg 0x190: [mem 0x00000000-0x00003fff 64bit] # SR-IOV BAR

After trying to move things around to provide space for the SR-IOV BARs:

  pci 0000:22:00.0: BAR 0: can't assign mem (size 0x80000)       # BAR 0
  pci 0000:22:00.0: BAR 4: can't assign mem (size 0x4000)        # BAR 4
  pci 0000:22:00.0: BAR 7: can't assign mem (size 0x100000)      # SR-IOV BAR
  pci 0000:22:00.0: BAR 10: can't assign mem (size 0x100000)     # SR-IOV BAR

This may have been fixed by changes in the resource assignment code.  I
don't remember similar recent problem reports.

You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.

  Intel x520 NIC's (ixgbe) stop working in 12.10, 13.04, 13.10

Status in linux package in Ubuntu:
Status in linux source package in Quantal:
  Won't Fix
Status in linux source package in Raring:
  Won't Fix
Status in linux source package in Saucy:
  Won't Fix
Status in linux source package in Trusty:

Bug description:
  We have a server (Dell R715) with two Intel x520 NIC's. If we run
  Ubuntu 12.04 on it, the NIC's works flawlessly (with stock kernel
  driver or with Intel compiled one), but if we upgrade release to
  12.10, 13.04 or 13.10, the NIC's stop working: either stock or Intel
  drivers fails with error:

  [  226.395766] Intel(R) 10 Gigabit PCI Express Network Driver - version 3.18.7
  [  226.395770] Copyright (c) 1999-2013 Intel Corporation.
  [  226.395980] ixgbe: probe of 0000:22:00.0 failed with error -5
  [  226.396092] ixgbe: probe of 0000:22:00.1 failed with error -5
  [  226.396203] ixgbe: probe of 0000:23:00.0 failed with error -5
  [  226.396311] ixgbe: probe of 0000:23:00.1 failed with error -5

  I contacted Intel developers and they responded:

  "Hey Fernando,
  We (ixgbe) only returns EIO (error 5) for a couple of reasons.
   1) When we fail to io map (ioremap)
   2) If the eeprom checksum is incorrect.
   3) If the MAC address from the checksum is invalid

  Reasons 2 and 3 are related to the NIC's eeprom so if they worked with 
another system they should still be fine now.  If you really wanted to verify 
you could try out the NIC's on a known good system again to see if the eeprom 
somehow got corrupted.
  That pretty much leaves us with ioremap returning an error.  I'm not at all 
sure why your Ubuntu release would not like the way we are calling ioremap, but 
it might give you a place to start looking in Ubuntu changes.

  If the server boot with kernel 3.2.0-55 (from grub menu) both NIC's
  works fine.

  Please let me know how can I help!



To manage notifications about this bug go to:

Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to