On Fri, 27 Feb 2015 15:45:50 +0100 Pawel Baldysiak <pawel.baldysiak@xxxxxxxxx> wrote: > Devices list in PCI Data Structure is supported only in > 3 and above revision. Make sure that this is checked. > > Signed-off-by: Pawel Baldysiak <pawel.baldysiak@xxxxxxxxx> > --- > platform-intel.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/platform-intel.c b/platform-intel.c > index 37274da..c6a28e8 100644 > --- a/platform-intel.c > +++ b/platform-intel.c > @@ -227,6 +227,8 @@ struct pciExpDataStructFormat { > __u16 vendorID; > __u16 deviceID; > __u16 devListOffset; > + __u16 pciDataStructLen; > + __u8 pciDataStructRev; > } __attribute__ ((packed)); > > static struct orom_entry oroms[SYS_DEV_MAX]; > @@ -323,7 +325,8 @@ static int scan(const void *start, const void *end, const void *data) > > const struct imsm_orom *orom = add_orom(imsm_mem); > > - if (ptr->devListOffset) { > + /* only PciDataStructure with revision 3 and above supports devices list. */ > + if (ptr->pciDataStructRev >= 3 && ptr->devListOffset) { > const __u16 *dev_list = (void *)ptr + ptr->devListOffset; > int i; > Applied, thanks. NeilBrown
Attachment:
pgpRJeNlrm4dB.pgp
Description: OpenPGP digital signature