Bogus PCI vendor ID

From: Kai Ruhnau
Date: Sat Nov 17 2007 - 11:01:39 EST


Hi,

I have a problem with two of my PCI devices showing the wrong PCI vendor
ID (0001) in vanilla kernels.

My system currently runs a 32 bit x86 kernel built from ubuntu sources
2.6.20.3-ubuntu1. This is the only kernel I have found so far that shows
the correct PCI IDs:

~ # lspci -n
00:00.0 0600: 1002:7930
00:02.0 0604: 1002:7933
00:06.0 0604: 1002:7936
00:12.0 0106: 1002:4380
00:13.0 0c03: 1002:4387
00:13.1 0c03: 1002:4388
00:13.2 0c03: 1002:4389
00:13.3 0c03: 1002:438a
00:13.4 0c03: 1002:438b
00:13.5 0c03: 1002:4386
00:14.0 0c05: 1002:4385 (rev 13)
00:14.1 0101: 1002:438c
00:14.2 0403: 1002:4383
00:14.3 0601: 1002:438d
00:14.4 0604: 1002:4384
01:00.0 0300: 10de:0193 (rev a2)
02:00.0 0200: 11ab:4364 (rev 12)
03:02.0 0c00: 104c:8024

I tested several vanilla kernels: 2.6.23.1, 2.6.23, 2.6.22, 2.6.21 and
somewhere between 2.6.20 and 2.6.21 via bisect. There, the output of
lspci is as follows:

~ # lspci -n
00:00.0 0600: 1002:7930
00:02.0 0604: 1002:7933
00:06.0 0604: 1002:7936
00:12.0 0106: 1002:4380
00:13.0 0c03: 1002:4387
00:13.1 0c03: 1002:4388
00:13.2 0c03: 1002:4389
00:13.3 0c03: 1002:438a
00:13.4 0c03: 1002:438b
00:13.5 0c03: 1002:4386
00:14.0 0c05: 1002:4385 (rev 13)
00:14.1 0101: 1002:438c
00:14.2 0403: 1002:4383
00:14.3 0601: 1002:438d
00:14.4 0604: 1002:4384
01:00.0 0300: 0001:0193 (rev a2)
02:00.0 0200: 0001:4364 (rev 12)
03:02.0 0c00: 104c:8024

Note the two vendor IDs 0001 for 01:00.0 and 02:00.0.

Since these two devices are my graphics card (PCI express) and network
card (builtin) respectively I have quite some trouble running my system
without the right vendor IDs ;-)
Can this be fixed?

Regards
Kai

--
This signature is left as an exercise for the reader.

-
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/