Subject: error message: VF is not privileged to issue opcode 89-1

From: vaughan <[email-masked]>
Date: Fri, 20 Dec 2013 17:44:51 +0800

Hi experts,

I encounter the following error when creating SR-IOV VF for Emulex 10GB
nic on 3.8.13 kernel.

# modprobe be2net num_vfs=4
 be2net 0000:30:00.0: irq 214 for MSI/MSI-X
 be2net 0000:30:00.0: enabled 1 MSI-x vector(s)
 be2net 0000:30:00.0: created 0 RSS queue(s) and 1 default RX queue
 be2net 0000:30:00.0: created 1 TX queue(s)
 pci 0000:30:04.0: [19a2:0710] type 00 class 0x020000
 pci 0000:30:04.1: [19a2:0710] type 00 class 0x020000
 pci 0000:30:04.2: [19a2:0710] type 00 class 0x020000
 pci 0000:30:04.3: [19a2:0710] type 00 class 0x020000
 be2net 0000:30:00.0: Emulex OneConnect(be3): PF  port 0
 be2net 0000:30:00.1: irq 215 for MSI/MSI-X
 be2net 0000:30:00.1: enabled 1 MSI-x vector(s)
 be2net 0000:30:00.1: created 0 RSS queue(s) and 1 default RX queue
 be2net 0000:30:00.1: created 1 TX queue(s)
 pci 0000:30:06.0: [19a2:0710] type 00 class 0x020000
 pci 0000:30:06.1: [19a2:0710] type 00 class 0x020000
 pci 0000:30:06.2: [19a2:0710] type 00 class 0x020000
 pci 0000:30:06.3: [19a2:0710] type 00 class 0x020000
 be2net 0000:30:00.1: Emulex OneConnect(be3): PF  port 1
 be2net 0000:30:04.0: enabling device (0140 -> 0142)
 be2net 0000:30:04.0: Could not use PCIe error reporting
 be2net 0000:30:04.0: VF is not privileged to issue opcode 89-1
 be2net 0000:30:04.0: VF is not privileged to issue opcode 125-1
 be2net 0000:30:04.0: irq 216 for MSI/MSI-X
 be2net 0000:30:04.0: enabled 1 MSI-x vector(s)
 be2net 0000:30:04.0: created 0 RSS queue(s) and 1 default RX queue
 be2net 0000:30:04.0: created 1 TX queue(s)
 be2net 0000:30:04.0: VF is not privileged to issue opcode 34-1
 be2net 0000:30:04.0: Exhausted multicast HW filters.
 be2net 0000:30:04.0: Disabling HW multicast filtering.
 be2net 0000:30:04.0: VF is not privileged to issue opcode 34-1
 be2net 0000:30:04.0: Emulex OneConnect(be3): VF  port 0
...

But the module gets loaded and VFs are created.
Also when the module is unloaded, below errors are seen in syslog:
  be2net 0000:30:04.0: VF is not privileged to issue opcode 89-1

I checked the code, this error occurs in be_probe() and the error opcode
89 is OPCODE_COMMON_SET_INTERRUPT_ENABLE, which is essential for an
initializing process IMO. And I also found this thread
https://lkml.org/lkml/2013/5/14/690, which shows there is a bug that VFs
will be probed before PFs. According to this thread, I guess I may
encountered the same error.
Anyone can confirm if this is a real error like I guess? Thanks.

-- 
Regards,
Vaughan