The subclass_code member of the pci_ep_header structure is a 1-byte
field. The macro PCI_CLASS_MEMORY_RAM is a concetation of baseclass_code
and subclass_code as follows:
PCI_BASE_CLASS_MEMORY: 0x05
Subclass Code for RAM: 0x00
PCI_CLASS_MEMORY_RAM: 0x0500
Hence, instead of extracting it via an implicity type conversion from int
to u8 which throws a warning, explicitly mask the bits to extract the
subclass_code.
Fixes: cde77583cf0b ("spl: Add support for Device Firmware Upgrade (DFU) over
PCIe")
Signed-off-by: Siddharth Vadapalli <[email protected]>
---
Hello,
This patch is based on commit
f473a453b0c kbuild: Drop phandle from diff between base DT and U-Boot augmented
DT if DEVICE_TREE_DEBUG=1of the master branch of U-Boot.
Regards,
Siddharth.
common/spl/spl_dfu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/common/spl/spl_dfu.c b/common/spl/spl_dfu.c
index b09f82790c9..7d21bb4d16a 100644
--- a/common/spl/spl_dfu.c
+++ b/common/spl/spl_dfu.c
@@ -64,7 +64,7 @@ static int dfu_over_pcie(void)
hdr.deviceid = CONFIG_SPL_PCI_DFU_DEVICE_ID;
hdr.vendorid = CONFIG_SPL_PCI_DFU_VENDOR_ID;
hdr.baseclass_code = PCI_BASE_CLASS_MEMORY;
- hdr.subclass_code = PCI_CLASS_MEMORY_RAM;
+ hdr.subclass_code = PCI_CLASS_MEMORY_RAM & 0xff;
ret = pci_ep_write_header(dev, fn, &hdr);
if (ret) {
--
2.51.1