[PATCH] IMSM-orom: make sure, that device list is supported

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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;
 

--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux