Messages in this thread | | | Subject | Re: [PATCH] x86, pci: Fix all early PCI scans to check the vendor ID first | From | Betty Dall <> | Date | Mon, 13 Aug 2012 15:58:14 -0600 |
| |
On Sat, 2012-08-11 at 03:43 -0700, Andi Kleen wrote: > On Fri, Aug 10, 2012 at 04:57:02PM -0700, H. Peter Anvin wrote: > > On 08/09/2012 03:34 PM, Betty Dall wrote: > > > > > > I thought this should be a break instead of a continue since the code > > > does a break if the class is 0xffffffff. If the function does not have a > > > valid VENDOR_ID, then the remaining function numbers do not have to be > > > scanned because functions are required to be implemented in order (no > > > skipping a function number.) > > > > > > > Is that true? This is certainly not true in PCI in general: there is > > required to be a function 0, but there is no guarantee that functions > > 1-7 don't have gaps. > > These scans are for special known devices, presumably true for them. > > Anwyays if you don't like it please use v1 of the patch. > > -Andi
I checked the PCI specification, and Peter is right that function numbers can be sparse. Please go with version 1 of the patch, as Andi suggested. I will follow up by looking at why the three scans are not consistent and send a patch, if appropriate. The scans could be improved by stopping the function scan if function 0 does not exist because function 0 is required, and if it is not there then none of the other functions will be implemented.
-Betty
| |